Sha256: 14aae0f08ae5dd62f5e04ccaea98040e397e391c1265aae0f16596a0323edbbd

Contents?: true

Size: 1.72 KB

Versions: 21

Compression:

Stored size: 1.72 KB

Contents

package http_parser.lolevel;

import java.nio.*;
import java.util.*;

import static http_parser.lolevel.Util.*;
import http_parser.*;

import primitive.collection.ByteList;

public class Requests {
  
  static void test_simple(String req, boolean should_pass) {
    HTTPParser parser = new HTTPParser(ParserType.HTTP_REQUEST);
    ByteBuffer buf = buffer(req);
    boolean passed = false;
    int read = 0;
    try {
      parser.execute(Util.SETTINGS_NULL, buf);
      passed = (read == req.length());
      read = parser.execute(Util.SETTINGS_NULL, Util.empty());
      passed &= (0 == read);
    } catch (Throwable t) {
      passed = false;
    }
    check(passed == should_pass);
  }
  static void simple_tests() {
    test_simple("hello world", false);
    test_simple("GET / HTP/1.1\r\n\r\n", false);

    test_simple("ASDF / HTTP/1.1\r\n\r\n", false);
    test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", false);
    test_simple("GETA / HTTP/1.1\r\n\r\n", false);
  }

  public static void test () {
    p(Requests.class);    
    simple_tests();
    
    List<Message> all = TestLoaderNG.load("tests.dumped");
    List<Message> requests = new LinkedList<Message>();
    for (Message m : all) {
      if (ParserType.HTTP_REQUEST == m.type) {
        requests.add(m);
      }
    }
    for (Message m : requests) {
      test_message(m);
    }
    
    for (int i = 0; i!= requests.size(); ++i) {
      if (!requests.get(i).should_keep_alive) continue;
      for (int j = 0; j!=requests.size(); ++j) {
        if (!requests.get(j).should_keep_alive) continue;
        for (int k = 0; k!= requests.size(); ++k) {
          test_multiple3(requests.get(i), requests.get(j), requests.get(k));
        }
      }
    }
    
    // postpone test_scan

  }

  


}

Version data entries

21 entries across 21 versions & 7 rubygems

Version Path
fluent-plugin-nuopenlineage-light-0.1.0 vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-openlineage-light-0.1.4 vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-openlineage-light-0.1.3 vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-openlineage-0.1.0 vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-google-cloud-logging-on-prem-0.1.0 vendor/ruby/3.1.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.8.0 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.7.0 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-detect-memb-exceptions-0.0.2 vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
fluent-plugin-detect-memb-exceptions-0.0.1 vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.3 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.3-java ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.2-java ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.2 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.1-java ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1.1 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
midori_http_parser-0.6.1 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.6.0-java ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.6.0 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.6.0.beta.2-java ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
http_parser.rb-0.6.0.beta.2 ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java