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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-