http_parser.rb 0.5.3-java → 0.6.0.beta.2-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitmodules +3 -3
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +14 -5
  4. data/README.md +50 -45
  5. data/bench/standalone.rb +23 -0
  6. data/bench/thin.rb +1 -0
  7. data/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java +120 -85
  8. data/ext/ruby_http_parser/ruby_http_parser.c +10 -41
  9. data/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS +32 -0
  10. data/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +5 -1
  11. data/ext/ruby_http_parser/vendor/http-parser-java/README.md +133 -1
  12. data/ext/ruby_http_parser/vendor/http-parser-java/TODO +6 -0
  13. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +1202 -671
  14. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp +79 -0
  15. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +172 -51
  16. data/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml +22 -0
  17. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java +41 -0
  18. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +8 -3
  19. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java +76 -0
  20. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +35 -102
  21. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java +6 -6
  22. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +775 -682
  23. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +8 -4
  24. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +70 -20
  25. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java +51 -0
  26. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +1 -1
  27. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +1 -0
  28. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +2 -1
  29. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +1 -0
  30. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +6 -17
  31. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +1 -0
  32. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +1 -0
  33. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +1 -0
  34. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java +127 -0
  35. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +80 -9
  36. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +2 -1
  37. data/ext/ruby_http_parser/vendor/http-parser-java/test.c +1637 -280
  38. data/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +230 -71
  39. data/ext/ruby_http_parser/vendor/http-parser/AUTHORS +32 -0
  40. data/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT +5 -1
  41. data/ext/ruby_http_parser/vendor/http-parser/README.md +9 -2
  42. data/ext/ruby_http_parser/vendor/http-parser/http_parser.c +1029 -615
  43. data/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp +79 -0
  44. data/ext/ruby_http_parser/vendor/http-parser/http_parser.h +145 -16
  45. data/ext/ruby_http_parser/vendor/http-parser/test.c +1065 -141
  46. data/http_parser.rb.gemspec +3 -1
  47. data/spec/parser_spec.rb +41 -17
  48. data/spec/support/requests.json +236 -24
  49. data/spec/support/responses.json +182 -36
  50. data/tasks/compile.rake +2 -2
  51. data/tasks/fixtures.rake +7 -1
  52. metadata +213 -162
  53. data/ext/ruby_http_parser/vendor/http-parser-java/compile +0 -1
  54. data/ext/ruby_http_parser/vendor/http-parser-java/test_permutations +0 -1
  55. data/ext/ruby_http_parser/vendor/http-parser-java/test_unit +0 -1
  56. data/ext/ruby_http_parser/vendor/http-parser-java/test_utf8 +0 -1
@@ -19,7 +19,8 @@
19
19
  "Server": "gws",
20
20
  "Content-Length": "219 "
21
21
  },
22
- "body": "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n<TITLE>301 Moved</TITLE></HEAD><BODY>\n<H1>301 Moved</H1>\nThe document has moved\n<A HREF=\"http://www.google.com/\">here</A>.\r\n</BODY></HTML>\r\n"
22
+ "body": "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n<TITLE>301 Moved</TITLE></HEAD><BODY>\n<H1>301 Moved</H1>\nThe document has moved\n<A HREF=\"http://www.google.com/\">here</A>.\r\n</BODY></HTML>\r\n",
23
+ "strict": true
23
24
  },
24
25
  {
25
26
  "name": "no content-length response",
@@ -38,14 +39,15 @@
38
39
  "Content-Type": "text/xml; charset=utf-8",
39
40
  "Connection": "close"
40
41
  },
41
- "body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <SOAP-ENV:Body>\n <SOAP-ENV:Fault>\n <faultcode>SOAP-ENV:Client</faultcode>\n <faultstring>Client Error</faultstring>\n </SOAP-ENV:Fault>\n </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
42
+ "body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <SOAP-ENV:Body>\n <SOAP-ENV:Fault>\n <faultcode>SOAP-ENV:Client</faultcode>\n <faultstring>Client Error</faultstring>\n </SOAP-ENV:Fault>\n </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>",
43
+ "strict": true
42
44
  },
43
45
  {
44
46
  "name": "404 no headers no body",
45
47
  "type": "HTTP_RESPONSE",
46
48
  "raw": "HTTP/1.1 404 Not Found\r\n\r\n",
47
- "should_keep_alive": true,
48
- "message_complete_on_eof": false,
49
+ "should_keep_alive": false,
50
+ "message_complete_on_eof": true,
49
51
  "http_major": 1,
50
52
  "http_minor": 1,
51
53
  "status_code": 404,
@@ -54,14 +56,15 @@
54
56
 
55
57
  },
56
58
  "body_size": 0,
57
- "body": ""
59
+ "body": "",
60
+ "strict": true
58
61
  },
59
62
  {
60
63
  "name": "301 no response phrase",
61
64
  "type": "HTTP_RESPONSE",
62
65
  "raw": "HTTP/1.1 301\r\n\r\n",
63
- "should_keep_alive": true,
64
- "message_complete_on_eof": false,
66
+ "should_keep_alive": false,
67
+ "message_complete_on_eof": true,
65
68
  "http_major": 1,
66
69
  "http_minor": 1,
67
70
  "status_code": 301,
@@ -69,7 +72,8 @@
69
72
  "headers": {
70
73
 
71
74
  },
72
- "body": ""
75
+ "body": "",
76
+ "strict": true
73
77
  },
74
78
  {
75
79
  "name": "200 trailing space on chunked body",
@@ -86,7 +90,8 @@
86
90
  "Transfer-Encoding": "chunked"
87
91
  },
88
92
  "body_size": 65,
89
- "body": "This is the data in the first chunk\r\nand this is the second one\r\n"
93
+ "body": "This is the data in the first chunk\r\nand this is the second one\r\n",
94
+ "strict": true
90
95
  },
91
96
  {
92
97
  "name": "no carriage ret",
@@ -102,7 +107,8 @@
102
107
  "Content-Type": "text/html; charset=utf-8",
103
108
  "Connection": "close"
104
109
  },
105
- "body": "these headers are from http://news.ycombinator.com/"
110
+ "body": "these headers are from http://news.ycombinator.com/",
111
+ "strict": true
106
112
  },
107
113
  {
108
114
  "name": "proxy connection",
@@ -120,7 +126,8 @@
120
126
  "Proxy-Connection": "close",
121
127
  "Date": "Thu, 31 Dec 2009 20:55:48 +0000"
122
128
  },
123
- "body": "hello world"
129
+ "body": "hello world",
130
+ "strict": true
124
131
  },
125
132
  {
126
133
  "name": "underscore header key",
@@ -138,7 +145,8 @@
138
145
  "Content-Length": "0",
139
146
  "DCLK_imp": "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o"
140
147
  },
141
- "body": ""
148
+ "body": "",
149
+ "strict": true
142
150
  },
143
151
  {
144
152
  "name": "bonjourmadame.fr",
@@ -161,28 +169,8 @@
161
169
  "Content-Type": "text/html; charset=UTF-8",
162
170
  "Connection": "keep-alive"
163
171
  },
164
- "body": ""
165
- },
166
- {
167
- "name": "field space",
168
- "type": "HTTP_RESPONSE",
169
- "raw": "HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nen-US Content-Type: text/xml\r\nContent-Type: text/xml\r\nContent-Length: 16\r\nDate: Fri, 23 Jul 2010 18:45:38 GMT\r\nConnection: keep-alive\r\n\r\n<xml>hello</xml>",
170
- "should_keep_alive": true,
171
- "message_complete_on_eof": false,
172
- "http_major": 1,
173
- "http_minor": 1,
174
- "status_code": 200,
175
- "num_headers": 7,
176
- "headers": {
177
- "Server": "Microsoft-IIS/6.0",
178
- "X-Powered-By": "ASP.NET",
179
- "en-US Content-Type": "text/xml",
180
- "Content-Type": "text/xml",
181
- "Content-Length": "16",
182
- "Date": "Fri, 23 Jul 2010 18:45:38 GMT",
183
- "Connection": "keep-alive"
184
- },
185
- "body": "<xml>hello</xml>"
172
+ "body": "",
173
+ "strict": true
186
174
  },
187
175
  {
188
176
  "name": "field underscore",
@@ -207,7 +195,8 @@
207
195
  "Content-Type": "text/html",
208
196
  "Connection": "close"
209
197
  },
210
- "body": ""
198
+ "body": "",
199
+ "strict": true
211
200
  },
212
201
  {
213
202
  "name": "non-ASCII in status line",
@@ -224,6 +213,163 @@
224
213
  "Content-Length": "0",
225
214
  "Connection": "close"
226
215
  },
227
- "body": ""
216
+ "body": "",
217
+ "strict": true
218
+ },
219
+ {
220
+ "name": "http version 0.9",
221
+ "type": "HTTP_RESPONSE",
222
+ "raw": "HTTP/0.9 200 OK\r\n\r\n",
223
+ "should_keep_alive": false,
224
+ "message_complete_on_eof": true,
225
+ "http_major": 0,
226
+ "http_minor": 9,
227
+ "status_code": 200,
228
+ "num_headers": 0,
229
+ "headers": {
230
+
231
+ },
232
+ "body": "",
233
+ "strict": true
234
+ },
235
+ {
236
+ "name": "neither content-length nor transfer-encoding response",
237
+ "type": "HTTP_RESPONSE",
238
+ "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhello world",
239
+ "should_keep_alive": false,
240
+ "message_complete_on_eof": true,
241
+ "http_major": 1,
242
+ "http_minor": 1,
243
+ "status_code": 200,
244
+ "num_headers": 1,
245
+ "headers": {
246
+ "Content-Type": "text/plain"
247
+ },
248
+ "body": "hello world",
249
+ "strict": true
250
+ },
251
+ {
252
+ "name": "HTTP/1.0 with keep-alive and EOF-terminated 200 status",
253
+ "type": "HTTP_RESPONSE",
254
+ "raw": "HTTP/1.0 200 OK\r\nConnection: keep-alive\r\n\r\n",
255
+ "should_keep_alive": false,
256
+ "message_complete_on_eof": true,
257
+ "http_major": 1,
258
+ "http_minor": 0,
259
+ "status_code": 200,
260
+ "num_headers": 1,
261
+ "headers": {
262
+ "Connection": "keep-alive"
263
+ },
264
+ "body_size": 0,
265
+ "body": "",
266
+ "strict": true
267
+ },
268
+ {
269
+ "name": "HTTP/1.0 with keep-alive and a 204 status",
270
+ "type": "HTTP_RESPONSE",
271
+ "raw": "HTTP/1.0 204 No content\r\nConnection: keep-alive\r\n\r\n",
272
+ "should_keep_alive": true,
273
+ "message_complete_on_eof": false,
274
+ "http_major": 1,
275
+ "http_minor": 0,
276
+ "status_code": 204,
277
+ "num_headers": 1,
278
+ "headers": {
279
+ "Connection": "keep-alive"
280
+ },
281
+ "body_size": 0,
282
+ "body": "",
283
+ "strict": true
284
+ },
285
+ {
286
+ "name": "HTTP/1.1 with an EOF-terminated 200 status",
287
+ "type": "HTTP_RESPONSE",
288
+ "raw": "HTTP/1.1 200 OK\r\n\r\n",
289
+ "should_keep_alive": false,
290
+ "message_complete_on_eof": true,
291
+ "http_major": 1,
292
+ "http_minor": 1,
293
+ "status_code": 200,
294
+ "num_headers": 0,
295
+ "headers": {
296
+
297
+ },
298
+ "body_size": 0,
299
+ "body": "",
300
+ "strict": true
301
+ },
302
+ {
303
+ "name": "HTTP/1.1 with a 204 status",
304
+ "type": "HTTP_RESPONSE",
305
+ "raw": "HTTP/1.1 204 No content\r\n\r\n",
306
+ "should_keep_alive": true,
307
+ "message_complete_on_eof": false,
308
+ "http_major": 1,
309
+ "http_minor": 1,
310
+ "status_code": 204,
311
+ "num_headers": 0,
312
+ "headers": {
313
+
314
+ },
315
+ "body_size": 0,
316
+ "body": "",
317
+ "strict": true
318
+ },
319
+ {
320
+ "name": "HTTP/1.1 with a 204 status and keep-alive disabled",
321
+ "type": "HTTP_RESPONSE",
322
+ "raw": "HTTP/1.1 204 No content\r\nConnection: close\r\n\r\n",
323
+ "should_keep_alive": false,
324
+ "message_complete_on_eof": false,
325
+ "http_major": 1,
326
+ "http_minor": 1,
327
+ "status_code": 204,
328
+ "num_headers": 1,
329
+ "headers": {
330
+ "Connection": "close"
331
+ },
332
+ "body_size": 0,
333
+ "body": "",
334
+ "strict": true
335
+ },
336
+ {
337
+ "name": "HTTP/1.1 with chunked endocing and a 200 response",
338
+ "type": "HTTP_RESPONSE",
339
+ "raw": "HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n0\r\n\r\n",
340
+ "should_keep_alive": true,
341
+ "message_complete_on_eof": false,
342
+ "http_major": 1,
343
+ "http_minor": 1,
344
+ "status_code": 200,
345
+ "num_headers": 1,
346
+ "headers": {
347
+ "Transfer-Encoding": "chunked"
348
+ },
349
+ "body_size": 0,
350
+ "body": "",
351
+ "strict": true
352
+ },
353
+ {
354
+ "name": "field space",
355
+ "type": "HTTP_RESPONSE",
356
+ "strict": false,
357
+ "raw": "HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nen-US Content-Type: text/xml\r\nContent-Type: text/xml\r\nContent-Length: 16\r\nDate: Fri, 23 Jul 2010 18:45:38 GMT\r\nConnection: keep-alive\r\n\r\n<xml>hello</xml>",
358
+ "should_keep_alive": true,
359
+ "message_complete_on_eof": false,
360
+ "http_major": 1,
361
+ "http_minor": 1,
362
+ "status_code": 200,
363
+ "num_headers": 7,
364
+ "headers": {
365
+ "Server": "Microsoft-IIS/6.0",
366
+ "X-Powered-By": "ASP.NET",
367
+ "en-US Content-Type": "text/xml",
368
+ "Content-Type": "text/xml",
369
+ "Content-Length": "16",
370
+ "Date": "Fri, 23 Jul 2010 18:45:38 GMT",
371
+ "Connection": "keep-alive"
372
+ },
373
+ "body": "<xml>hello</xml>"
228
374
  }
229
375
  ]
@@ -1,4 +1,4 @@
1
- require 'rake/gempackagetask'
1
+ require 'rubygems/package_task'
2
2
  require 'rake/extensiontask'
3
3
  require 'rake/javaextensiontask'
4
4
 
@@ -6,7 +6,7 @@ def gemspec
6
6
  @clean_gemspec ||= eval(File.read(File.expand_path('../../http_parser.rb.gemspec', __FILE__)))
7
7
  end
8
8
 
9
- Rake::GemPackageTask.new(gemspec) do |pkg|
9
+ Gem::PackageTask.new(gemspec) do |pkg|
10
10
  end
11
11
 
12
12
  if RUBY_PLATFORM =~ /java/
@@ -14,13 +14,18 @@ task :fixtures => :submodules do
14
14
  tmp.gsub!('TRUE', 'true')
15
15
  tmp.gsub!('FALSE', 'false')
16
16
 
17
+ # mark strict mode tests
18
+ tmp.gsub!(%r|#if\s+!HTTP_PARSER_STRICT(.+?)#endif\s*/\*\s*!HTTP_PARSER_STRICT.+\n|m){
19
+ $1.gsub(/^(.+,\.type= .+)$/, "\\1\n, .strict= false")
20
+ }
21
+
17
22
  # remove macros and comments
18
23
  tmp.gsub!(/^#(if|elif|endif|define).+$/,'')
19
24
  tmp.gsub!(/\/\*(.+?)\*\/$/,'')
20
25
 
21
26
  # HTTP_* enums become strings
22
27
  tmp.gsub!(/(= )(HTTP_\w+)/){
23
- "#{$1}#{$2.dump}"
28
+ "#{$1}#{$2.sub('MSEARCH','M-SEARCH').dump}"
24
29
  }
25
30
 
26
31
  # join multiline strings for body and raw data
@@ -55,6 +60,7 @@ task :fixtures => :submodules do
55
60
  results.map{ |res|
56
61
  res[:headers] and res[:headers] = Hash[*res[:headers].flatten]
57
62
  res[:method] and res[:method].gsub!(/^HTTP_/, '')
63
+ res[:strict] = true unless res.has_key?(:strict)
58
64
  }
59
65
 
60
66
  # write to a file
metadata CHANGED
@@ -1,179 +1,230 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: http_parser.rb
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.5.3
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: 6
5
+ version: 0.6.0.beta.2
6
6
  platform: java
7
- authors:
8
- - Marc-Andre Cournoyer
9
- - Aman Gupta
10
- autorequire:
7
+ authors:
8
+ - Marc-Andre Cournoyer
9
+ - Aman Gupta
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2011-10-01 00:00:00 -05:00
15
- default_executable:
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
18
- name: rake-compiler
19
- prerelease: false
20
- requirement: &id001 !ruby/object:Gem::Requirement
21
- none: false
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: 0.7.9
26
- type: :development
27
- version_requirements: *id001
28
- - !ruby/object:Gem::Dependency
29
- name: rspec
30
- prerelease: false
31
- requirement: &id002 !ruby/object:Gem::Requirement
32
- none: false
33
- requirements:
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 2.0.1
37
- type: :development
38
- version_requirements: *id002
39
- - !ruby/object:Gem::Dependency
40
- name: json
41
- prerelease: false
42
- requirement: &id003 !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 1.4.6
48
- type: :development
49
- version_requirements: *id003
50
- - !ruby/object:Gem::Dependency
51
- name: jruby-openssl
52
- prerelease: false
53
- requirement: &id004 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: "0"
59
- type: :development
60
- version_requirements: *id004
13
+ date: 2013-05-27 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake-compiler
17
+ version_requirements: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.7.9
22
+ none: false
23
+ requirement: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: 0.7.9
28
+ none: false
29
+ prerelease: false
30
+ type: :development
31
+ - !ruby/object:Gem::Dependency
32
+ name: rspec
33
+ version_requirements: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.0.1
38
+ none: false
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.1
44
+ none: false
45
+ prerelease: false
46
+ type: :development
47
+ - !ruby/object:Gem::Dependency
48
+ name: json
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.6
54
+ none: false
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - '>='
58
+ - !ruby/object:Gem::Version
59
+ version: 1.4.6
60
+ none: false
61
+ prerelease: false
62
+ type: :development
63
+ - !ruby/object:Gem::Dependency
64
+ name: benchmark_suite
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ none: false
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ none: false
77
+ prerelease: false
78
+ type: :development
79
+ - !ruby/object:Gem::Dependency
80
+ name: ffi
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ none: false
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ none: false
93
+ prerelease: false
94
+ type: :development
95
+ - !ruby/object:Gem::Dependency
96
+ name: jruby-openssl
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ none: false
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - '>='
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ none: false
109
+ prerelease: false
110
+ type: :development
61
111
  description: Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java
62
- email:
63
- - macournoyer@gmail.com
64
- - aman@tmm1.net
112
+ email:
113
+ - macournoyer@gmail.com
114
+ - aman@tmm1.net
65
115
  executables: []
66
-
67
116
  extensions: []
68
-
69
117
  extra_rdoc_files: []
70
-
71
- files:
72
- - .gitignore
73
- - .gitmodules
74
- - Gemfile
75
- - Gemfile.lock
76
- - LICENSE-MIT
77
- - README.md
78
- - Rakefile
79
- - bench/thin.rb
80
- - ext/ruby_http_parser/.gitignore
81
- - ext/ruby_http_parser/RubyHttpParserService.java
82
- - ext/ruby_http_parser/ext_help.h
83
- - ext/ruby_http_parser/extconf.rb
84
- - ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java
85
- - ext/ruby_http_parser/ruby_http_parser.c
86
- - ext/ruby_http_parser/vendor/.gitkeep
87
- - http_parser.rb.gemspec
88
- - lib/http/parser.rb
89
- - lib/http_parser.rb
90
- - spec/parser_spec.rb
91
- - spec/spec_helper.rb
92
- - spec/support/requests.json
93
- - spec/support/responses.json
94
- - tasks/compile.rake
95
- - tasks/fixtures.rake
96
- - tasks/spec.rake
97
- - tasks/submodules.rake
98
- - ext/ruby_http_parser/vendor/http-parser/CONTRIBUTIONS
99
- - ext/ruby_http_parser/vendor/http-parser/http_parser.c
100
- - ext/ruby_http_parser/vendor/http-parser/http_parser.h
101
- - ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT
102
- - ext/ruby_http_parser/vendor/http-parser/Makefile
103
- - ext/ruby_http_parser/vendor/http-parser/README.md
104
- - ext/ruby_http_parser/vendor/http-parser/test.c
105
- - ext/ruby_http_parser/vendor/http-parser-java/build.xml
106
- - ext/ruby_http_parser/vendor/http-parser-java/compile
107
- - ext/ruby_http_parser/vendor/http-parser-java/http_parser.c
108
- - ext/ruby_http_parser/vendor/http-parser-java/http_parser.h
109
- - ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT
110
- - ext/ruby_http_parser/vendor/http-parser-java/Makefile
111
- - ext/ruby_http_parser/vendor/http-parser-java/README.md
112
- - ext/ruby_http_parser/vendor/http-parser-java/test.c
113
- - ext/ruby_http_parser/vendor/http-parser-java/test_permutations
114
- - ext/ruby_http_parser/vendor/http-parser-java/test_unit
115
- - ext/ruby_http_parser/vendor/http-parser-java/test_utf8
116
- - ext/ruby_http_parser/vendor/http-parser-java/tests.dumped
117
- - ext/ruby_http_parser/vendor/http-parser-java/tests.utf8
118
- - ext/ruby_http_parser/vendor/http-parser-java/TODO
119
- - ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar
120
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java
121
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java
122
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java
123
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java
124
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java
125
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java
126
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java
127
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java
128
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java
129
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java
130
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java
131
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java
132
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java
133
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java
134
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java
135
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
136
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java
137
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java
138
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java
139
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java
140
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java
141
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java
142
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java
143
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java
144
- - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java
145
- - ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb
146
- - ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb
147
- - ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb
148
- - ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb
149
- - lib/ruby_http_parser.jar
150
- has_rdoc: true
118
+ files:
119
+ - .gitignore
120
+ - .gitmodules
121
+ - Gemfile
122
+ - Gemfile.lock
123
+ - LICENSE-MIT
124
+ - README.md
125
+ - Rakefile
126
+ - bench/standalone.rb
127
+ - bench/thin.rb
128
+ - ext/ruby_http_parser/.gitignore
129
+ - ext/ruby_http_parser/RubyHttpParserService.java
130
+ - ext/ruby_http_parser/ext_help.h
131
+ - ext/ruby_http_parser/extconf.rb
132
+ - ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java
133
+ - ext/ruby_http_parser/ruby_http_parser.c
134
+ - ext/ruby_http_parser/vendor/.gitkeep
135
+ - http_parser.rb.gemspec
136
+ - lib/http/parser.rb
137
+ - lib/http_parser.rb
138
+ - spec/parser_spec.rb
139
+ - spec/spec_helper.rb
140
+ - spec/support/requests.json
141
+ - spec/support/responses.json
142
+ - tasks/compile.rake
143
+ - tasks/fixtures.rake
144
+ - tasks/spec.rake
145
+ - tasks/submodules.rake
146
+ - ext/ruby_http_parser/vendor/http-parser/AUTHORS
147
+ - ext/ruby_http_parser/vendor/http-parser/CONTRIBUTIONS
148
+ - ext/ruby_http_parser/vendor/http-parser/http_parser.c
149
+ - ext/ruby_http_parser/vendor/http-parser/http_parser.gyp
150
+ - ext/ruby_http_parser/vendor/http-parser/http_parser.h
151
+ - ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT
152
+ - ext/ruby_http_parser/vendor/http-parser/Makefile
153
+ - ext/ruby_http_parser/vendor/http-parser/README.md
154
+ - ext/ruby_http_parser/vendor/http-parser/test.c
155
+ - ext/ruby_http_parser/vendor/http-parser-java/AUTHORS
156
+ - ext/ruby_http_parser/vendor/http-parser-java/build.xml
157
+ - ext/ruby_http_parser/vendor/http-parser-java/http_parser.c
158
+ - ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp
159
+ - ext/ruby_http_parser/vendor/http-parser-java/http_parser.h
160
+ - ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT
161
+ - ext/ruby_http_parser/vendor/http-parser-java/Makefile
162
+ - ext/ruby_http_parser/vendor/http-parser-java/README.md
163
+ - ext/ruby_http_parser/vendor/http-parser-java/test.c
164
+ - ext/ruby_http_parser/vendor/http-parser-java/tests.dumped
165
+ - ext/ruby_http_parser/vendor/http-parser-java/tests.utf8
166
+ - ext/ruby_http_parser/vendor/http-parser-java/TODO
167
+ - ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar
168
+ - ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml
169
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java
170
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java
171
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java
172
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java
173
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java
174
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java
175
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java
176
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java
177
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java
178
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java
179
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java
180
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java
181
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java
182
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java
183
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java
184
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java
185
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java
186
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java
187
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java
188
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java
189
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java
190
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java
191
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java
192
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java
193
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java
194
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java
195
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java
196
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java
197
+ - ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java
198
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb
199
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb
200
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb
201
+ - ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb
202
+ - lib/ruby_http_parser.jar
151
203
  homepage: http://github.com/tmm1/http_parser.rb
152
204
  licenses: []
153
-
154
- post_install_message:
205
+ post_install_message:
155
206
  rdoc_options: []
156
-
157
- require_paths:
158
- - lib
159
- required_ruby_version: !ruby/object:Gem::Requirement
207
+ require_paths:
208
+ - lib
209
+ required_ruby_version: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - '>='
212
+ - !ruby/object:Gem::Version
213
+ segments:
214
+ - 0
215
+ hash: 2
216
+ version: '0'
160
217
  none: false
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- version: "0"
165
- required_rubygems_version: !ruby/object:Gem::Requirement
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '>'
221
+ - !ruby/object:Gem::Version
222
+ version: 1.3.1
166
223
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- version: "0"
171
224
  requirements: []
172
-
173
- rubyforge_project:
174
- rubygems_version: 1.5.1
175
- signing_key:
225
+ rubyforge_project:
226
+ rubygems_version: 1.8.24
227
+ signing_key:
176
228
  specification_version: 3
177
229
  summary: Simple callback-based HTTP request/response parser
178
230
  test_files: []
179
-