http_parser.rb 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/Gemfile.lock +6 -6
  2. data/LICENSE-MIT +20 -0
  3. data/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java +68 -11
  4. data/ext/ruby_http_parser/ruby_http_parser.c +74 -6
  5. data/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +26 -1
  6. data/ext/ruby_http_parser/vendor/http-parser-java/README.md +23 -143
  7. data/ext/ruby_http_parser/vendor/http-parser-java/TODO +3 -0
  8. data/ext/ruby_http_parser/vendor/http-parser-java/build.xml +74 -0
  9. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +115 -61
  10. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +19 -3
  11. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java +8 -0
  12. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java +34 -0
  13. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java +12 -0
  14. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java +4 -2
  15. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +64 -52
  16. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java +5 -0
  17. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +323 -0
  18. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/{lolevel/Util.java → Util.java} +27 -28
  19. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +259 -85
  20. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +1 -0
  21. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +324 -0
  22. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +69 -0
  23. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +51 -0
  24. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +15 -0
  25. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +47 -0
  26. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +183 -447
  27. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +61 -0
  28. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +2 -1
  29. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +26 -0
  30. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +165 -0
  31. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +58 -0
  32. data/ext/ruby_http_parser/vendor/http-parser-java/test.c +232 -29
  33. data/ext/ruby_http_parser/vendor/http-parser-java/test_permutations +1 -1
  34. data/ext/ruby_http_parser/vendor/http-parser-java/test_unit +1 -1
  35. data/ext/ruby_http_parser/vendor/http-parser-java/test_utf8 +1 -0
  36. data/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +154 -7
  37. data/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 +17 -0
  38. data/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT +1 -1
  39. data/ext/ruby_http_parser/vendor/http-parser/http_parser.c +52 -10
  40. data/ext/ruby_http_parser/vendor/http-parser/http_parser.h +3 -1
  41. data/ext/ruby_http_parser/vendor/http-parser/test.c +89 -3
  42. data/http_parser.rb.gemspec +8 -2
  43. data/lib/http_parser.rb +17 -0
  44. data/spec/parser_spec.rb +97 -6
  45. data/tasks/compile.rake +3 -1
  46. metadata +169 -125
  47. data/ext/ruby_http_parser/vendor/http-parser-java/CONTRIBUTIONS +0 -4
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "http_parser.rb"
3
- s.version = "0.5.1"
3
+ s.version = "0.5.2"
4
4
  s.summary = "Simple callback-based HTTP request/response parser"
5
5
  s.description = "Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java"
6
6
 
@@ -13,7 +13,13 @@ Gem::Specification.new do |s|
13
13
  s.require_paths = ["lib"]
14
14
  s.extensions = ["ext/ruby_http_parser/extconf.rb"]
15
15
 
16
- s.add_development_dependency 'rake-compiler', '>= 0.7.5'
16
+ s.add_development_dependency 'rake-compiler', '>= 0.7.9'
17
17
  s.add_development_dependency 'rspec', '>= 2.0.1'
18
18
  s.add_development_dependency 'json', '>= 1.4.6'
19
+
20
+ if RUBY_PLATFORM =~ /java/
21
+ s.add_development_dependency 'jruby-openssl'
22
+ else
23
+ s.add_development_dependency 'yajl-ruby', '>= 0.8.1'
24
+ end
19
25
  end
data/lib/http_parser.rb CHANGED
@@ -2,3 +2,20 @@ $:.unshift File.expand_path('../', __FILE__)
2
2
  require 'ruby_http_parser'
3
3
 
4
4
  Http = HTTP
5
+
6
+ module HTTP
7
+ class Parser
8
+ class << self
9
+ attr_reader :default_header_value_type
10
+
11
+ def default_header_value_type=(val)
12
+ if (val != :mixed && val != :strings && val != :arrays)
13
+ raise ArgumentError, "Invalid header value type"
14
+ end
15
+ @default_header_value_type = val
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ HTTP::Parser.default_header_value_type = :mixed
data/spec/parser_spec.rb CHANGED
@@ -27,8 +27,37 @@ describe HTTP::Parser do
27
27
  @parser.request_path.should be_nil
28
28
  @parser.query_string.should be_nil
29
29
  @parser.fragment.should be_nil
30
+
31
+ @parser.header_value_type.should == :mixed
32
+ end
33
+
34
+ it "should allow us to set the header value type" do
35
+ [:mixed, :arrays, :strings].each do |type|
36
+ @parser.header_value_type = type
37
+ @parser.header_value_type.should == type
38
+
39
+ parser_tmp = HTTP::Parser.new(nil, type)
40
+ parser_tmp.header_value_type.should == type
41
+ end
30
42
  end
31
43
 
44
+ it "should allow us to set the default header value type" do
45
+ [:mixed, :arrays, :strings].each do |type|
46
+ HTTP::Parser.default_header_value_type = type
47
+
48
+ parser = HTTP::Parser.new
49
+ parser.header_value_type.should == type
50
+ end
51
+ end
52
+
53
+ it "should throw an Argument Error if header value type is invalid" do
54
+ proc{ @parser.header_value_type = 'bob' }.should raise_error(ArgumentError)
55
+ end
56
+
57
+ it "should throw an Argument Error if default header value type is invalid" do
58
+ proc{ HTTP::Parser.default_header_value_type = 'bob' }.should raise_error(ArgumentError)
59
+ end
60
+
32
61
  it "should implement basic api" do
33
62
  @parser <<
34
63
  "GET /test?ok=1 HTTP/1.1\r\n" +
@@ -132,16 +161,57 @@ describe HTTP::Parser do
132
161
  }
133
162
  end
134
163
 
135
- it "should handle multiple headers" do
164
+ it "should handle multiple headers using strings" do
165
+ @parser.header_value_type = :strings
166
+
136
167
  @parser <<
137
168
  "GET / HTTP/1.0\r\n" +
138
- "Header: value 1\r\n" +
139
- "Header: value 2\r\n" +
169
+ "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" +
170
+ "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
140
171
  "\r\n"
141
172
 
142
- @parser.headers.should == {
143
- 'Header' => 'value 1, value 2'
144
- }
173
+ @parser.headers["Set-Cookie"].should == "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com, NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
174
+ end
175
+
176
+ it "should handle multiple headers using strings" do
177
+ @parser.header_value_type = :arrays
178
+
179
+ @parser <<
180
+ "GET / HTTP/1.0\r\n" +
181
+ "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" +
182
+ "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
183
+ "\r\n"
184
+
185
+ @parser.headers["Set-Cookie"].should == [
186
+ "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com",
187
+ "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
188
+ ]
189
+ end
190
+
191
+ it "should handle multiple headers using mixed" do
192
+ @parser.header_value_type = :mixed
193
+
194
+ @parser <<
195
+ "GET / HTTP/1.0\r\n" +
196
+ "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" +
197
+ "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
198
+ "\r\n"
199
+
200
+ @parser.headers["Set-Cookie"].should == [
201
+ "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com",
202
+ "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
203
+ ]
204
+ end
205
+
206
+ it "should handle a single cookie using mixed" do
207
+ @parser.header_value_type = :mixed
208
+
209
+ @parser <<
210
+ "GET / HTTP/1.0\r\n" +
211
+ "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" +
212
+ "\r\n"
213
+
214
+ @parser.headers["Set-Cookie"].should == "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com"
145
215
  end
146
216
 
147
217
  it "should support alternative api" do
@@ -172,6 +242,27 @@ describe HTTP::Parser do
172
242
  @done.should be_true
173
243
  end
174
244
 
245
+ it 'sets upgrade_data if available' do
246
+ @parser <<
247
+ "GET /demo HTTP/1.1\r\n" +
248
+ "Connection: Upgrade\r\n" +
249
+ "Upgrade: WebSocket\r\n\r\n" +
250
+ "third key data"
251
+
252
+ @parser.upgrade?.should be_true
253
+ @parser.upgrade_data.should == 'third key data'
254
+ end
255
+
256
+ it 'sets upgrade_data to blank if un-available' do
257
+ @parser <<
258
+ "GET /demo HTTP/1.1\r\n" +
259
+ "Connection: Upgrade\r\n" +
260
+ "Upgrade: WebSocket\r\n\r\n"
261
+
262
+ @parser.upgrade?.should be_true
263
+ @parser.upgrade_data.should == ''
264
+ end
265
+
175
266
  %w[ request response ].each do |type|
176
267
  JSON.parse(File.read(File.expand_path("../support/#{type}s.json", __FILE__))).each do |test|
177
268
  test['headers'] ||= {}
data/tasks/compile.rake CHANGED
@@ -10,7 +10,9 @@ Rake::GemPackageTask.new(gemspec) do |pkg|
10
10
  end
11
11
 
12
12
  if RUBY_PLATFORM =~ /java/
13
- Rake::JavaExtensionTask.new("ruby_http_parser", gemspec)
13
+ Rake::JavaExtensionTask.new("ruby_http_parser", gemspec) do |ext|
14
+ ext.classpath = File.expand_path('../../ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar', __FILE__)
15
+ end
14
16
  else
15
17
  Rake::ExtensionTask.new("ruby_http_parser", gemspec) do |ext|
16
18
  unless RUBY_PLATFORM =~ /mswin|mingw/
metadata CHANGED
@@ -1,136 +1,176 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_parser.rb
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 15
5
+ prerelease:
5
6
  segments:
6
- - 0
7
- - 5
8
- - 1
9
- version: 0.5.1
7
+ - 0
8
+ - 5
9
+ - 2
10
+ version: 0.5.2
10
11
  platform: ruby
11
12
  authors:
12
- - Marc-Andre Cournoyer
13
- - Aman Gupta
13
+ - Marc-Andre Cournoyer
14
+ - Aman Gupta
14
15
  autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-01-25 00:00:00 -08:00
19
+ date: 2011-08-27 00:00:00 -07:00
19
20
  default_executable:
20
21
  dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rake-compiler
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- - 7
31
- - 5
32
- version: 0.7.5
33
- type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 2
44
- - 0
45
- - 1
46
- version: 2.0.1
47
- type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: json
51
- prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- segments:
57
- - 1
58
- - 4
59
- - 6
60
- version: 1.4.6
61
- type: :development
62
- version_requirements: *id003
22
+ - !ruby/object:Gem::Dependency
23
+ name: rake-compiler
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 17
31
+ segments:
32
+ - 0
33
+ - 7
34
+ - 9
35
+ version: 0.7.9
36
+ type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 13
47
+ segments:
48
+ - 2
49
+ - 0
50
+ - 1
51
+ version: 2.0.1
52
+ type: :development
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: json
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ hash: 11
63
+ segments:
64
+ - 1
65
+ - 4
66
+ - 6
67
+ version: 1.4.6
68
+ type: :development
69
+ version_requirements: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: yajl-ruby
72
+ prerelease: false
73
+ requirement: &id004 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 61
79
+ segments:
80
+ - 0
81
+ - 8
82
+ - 1
83
+ version: 0.8.1
84
+ type: :development
85
+ version_requirements: *id004
63
86
  description: Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java
64
87
  email:
65
- - macournoyer@gmail.com
66
- - aman@tmm1.net
88
+ - macournoyer@gmail.com
89
+ - aman@tmm1.net
67
90
  executables: []
68
91
 
69
92
  extensions:
70
- - ext/ruby_http_parser/extconf.rb
93
+ - ext/ruby_http_parser/extconf.rb
71
94
  extra_rdoc_files: []
72
95
 
73
96
  files:
74
- - .gitignore
75
- - .gitmodules
76
- - Gemfile
77
- - Gemfile.lock
78
- - README.md
79
- - Rakefile
80
- - bench/thin.rb
81
- - ext/ruby_http_parser/.gitignore
82
- - ext/ruby_http_parser/RubyHttpParserService.java
83
- - ext/ruby_http_parser/ext_help.h
84
- - ext/ruby_http_parser/extconf.rb
85
- - ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java
86
- - ext/ruby_http_parser/ruby_http_parser.c
87
- - ext/ruby_http_parser/vendor/.gitkeep
88
- - http_parser.rb.gemspec
89
- - lib/http/parser.rb
90
- - lib/http_parser.rb
91
- - spec/parser_spec.rb
92
- - spec/spec_helper.rb
93
- - spec/support/requests.json
94
- - spec/support/responses.json
95
- - tasks/compile.rake
96
- - tasks/fixtures.rake
97
- - tasks/spec.rake
98
- - tasks/submodules.rake
99
- - ext/ruby_http_parser/vendor/http-parser/CONTRIBUTIONS
100
- - ext/ruby_http_parser/vendor/http-parser/http_parser.c
101
- - ext/ruby_http_parser/vendor/http-parser/http_parser.h
102
- - ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT
103
- - ext/ruby_http_parser/vendor/http-parser/Makefile
104
- - ext/ruby_http_parser/vendor/http-parser/README.md
105
- - ext/ruby_http_parser/vendor/http-parser/test.c
106
- - ext/ruby_http_parser/vendor/http-parser-java/compile
107
- - ext/ruby_http_parser/vendor/http-parser-java/CONTRIBUTIONS
108
- - ext/ruby_http_parser/vendor/http-parser-java/http_parser.c
109
- - ext/ruby_http_parser/vendor/http-parser-java/http_parser.h
110
- - ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT
111
- - ext/ruby_http_parser/vendor/http-parser-java/Makefile
112
- - ext/ruby_http_parser/vendor/http-parser-java/README.md
113
- - ext/ruby_http_parser/vendor/http-parser-java/test.c
114
- - ext/ruby_http_parser/vendor/http-parser-java/test_permutations
115
- - ext/ruby_http_parser/vendor/http-parser-java/test_unit
116
- - ext/ruby_http_parser/vendor/http-parser-java/tests.dumped
117
- - ext/ruby_http_parser/vendor/http-parser-java/TODO
118
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java
119
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java
120
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java
121
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java
122
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java
123
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java
124
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java
125
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java
126
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java
127
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/Util.java
128
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java
129
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java
130
- - ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb
131
- - ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb
132
- - ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb
133
- - ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb
97
+ - .gitignore
98
+ - .gitmodules
99
+ - Gemfile
100
+ - Gemfile.lock
101
+ - LICENSE-MIT
102
+ - README.md
103
+ - Rakefile
104
+ - bench/thin.rb
105
+ - ext/ruby_http_parser/.gitignore
106
+ - ext/ruby_http_parser/RubyHttpParserService.java
107
+ - ext/ruby_http_parser/ext_help.h
108
+ - ext/ruby_http_parser/extconf.rb
109
+ - ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java
110
+ - ext/ruby_http_parser/ruby_http_parser.c
111
+ - ext/ruby_http_parser/vendor/.gitkeep
112
+ - http_parser.rb.gemspec
113
+ - lib/http/parser.rb
114
+ - lib/http_parser.rb
115
+ - spec/parser_spec.rb
116
+ - spec/spec_helper.rb
117
+ - spec/support/requests.json
118
+ - spec/support/responses.json
119
+ - tasks/compile.rake
120
+ - tasks/fixtures.rake
121
+ - tasks/spec.rake
122
+ - tasks/submodules.rake
123
+ - ext/ruby_http_parser/vendor/http-parser/CONTRIBUTIONS
124
+ - ext/ruby_http_parser/vendor/http-parser/http_parser.c
125
+ - ext/ruby_http_parser/vendor/http-parser/http_parser.h
126
+ - ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT
127
+ - ext/ruby_http_parser/vendor/http-parser/Makefile
128
+ - ext/ruby_http_parser/vendor/http-parser/README.md
129
+ - ext/ruby_http_parser/vendor/http-parser/test.c
130
+ - ext/ruby_http_parser/vendor/http-parser-java/build.xml
131
+ - ext/ruby_http_parser/vendor/http-parser-java/compile
132
+ - ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar
133
+ - ext/ruby_http_parser/vendor/http-parser-java/http_parser.c
134
+ - ext/ruby_http_parser/vendor/http-parser-java/http_parser.h
135
+ - ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT
136
+ - ext/ruby_http_parser/vendor/http-parser-java/Makefile
137
+ - ext/ruby_http_parser/vendor/http-parser-java/README.md
138
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java
139
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java
140
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java
141
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java
142
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java
143
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java
144
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java
145
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java
146
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java
147
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java
148
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java
149
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java
150
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java
151
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java
152
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java
153
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
154
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java
155
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java
156
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java
157
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java
158
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java
159
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java
160
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java
161
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java
162
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java
163
+ - ext/ruby_http_parser/vendor/http-parser-java/test.c
164
+ - ext/ruby_http_parser/vendor/http-parser-java/test_permutations
165
+ - ext/ruby_http_parser/vendor/http-parser-java/test_unit
166
+ - ext/ruby_http_parser/vendor/http-parser-java/test_utf8
167
+ - ext/ruby_http_parser/vendor/http-parser-java/tests.dumped
168
+ - ext/ruby_http_parser/vendor/http-parser-java/tests.utf8
169
+ - ext/ruby_http_parser/vendor/http-parser-java/TODO
170
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb
171
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb
172
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb
173
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb
134
174
  has_rdoc: true
135
175
  homepage: http://github.com/tmm1/http_parser.rb
136
176
  licenses: []
@@ -139,25 +179,29 @@ post_install_message:
139
179
  rdoc_options: []
140
180
 
141
181
  require_paths:
142
- - lib
182
+ - lib
143
183
  required_ruby_version: !ruby/object:Gem::Requirement
184
+ none: false
144
185
  requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- segments:
148
- - 0
149
- version: "0"
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ hash: 3
189
+ segments:
190
+ - 0
191
+ version: "0"
150
192
  required_rubygems_version: !ruby/object:Gem::Requirement
193
+ none: false
151
194
  requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- segments:
155
- - 0
156
- version: "0"
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ hash: 3
198
+ segments:
199
+ - 0
200
+ version: "0"
157
201
  requirements: []
158
202
 
159
203
  rubyforge_project:
160
- rubygems_version: 1.3.6
204
+ rubygems_version: 1.6.2
161
205
  signing_key:
162
206
  specification_version: 3
163
207
  summary: Simple callback-based HTTP request/response parser