http_parser.rb 0.5.1-x86-mingw32 → 0.5.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/Gemfile.lock +16 -16
  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/LICENSE-MIT +1 -1
  6. data/ext/ruby_http_parser/vendor/http-parser/http_parser.c +52 -10
  7. data/ext/ruby_http_parser/vendor/http-parser/http_parser.h +3 -1
  8. data/ext/ruby_http_parser/vendor/http-parser/test.c +89 -3
  9. data/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +26 -1
  10. data/ext/ruby_http_parser/vendor/http-parser-java/README.md +23 -143
  11. data/ext/ruby_http_parser/vendor/http-parser-java/TODO +3 -0
  12. data/ext/ruby_http_parser/vendor/http-parser-java/build.xml +74 -0
  13. data/ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar +0 -0
  14. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +115 -61
  15. data/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +19 -3
  16. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java +8 -0
  17. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java +34 -0
  18. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java +12 -0
  19. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java +4 -2
  20. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +64 -52
  21. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java +5 -0
  22. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +323 -0
  23. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/{lolevel/Util.java → Util.java} +27 -28
  24. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +259 -85
  25. data/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +1 -0
  26. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +324 -0
  27. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +69 -0
  28. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +51 -0
  29. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +15 -0
  30. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +47 -0
  31. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +183 -447
  32. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +61 -0
  33. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +2 -1
  34. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +26 -0
  35. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +165 -0
  36. data/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +58 -0
  37. data/ext/ruby_http_parser/vendor/http-parser-java/test.c +232 -29
  38. data/ext/ruby_http_parser/vendor/http-parser-java/test_permutations +1 -1
  39. data/ext/ruby_http_parser/vendor/http-parser-java/test_unit +1 -1
  40. data/ext/ruby_http_parser/vendor/http-parser-java/test_utf8 +1 -0
  41. data/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +154 -7
  42. data/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 +17 -0
  43. data/http_parser.rb.gemspec +8 -2
  44. data/lib/1.8/ruby_http_parser.so +0 -0
  45. data/lib/1.9/ruby_http_parser.so +0 -0
  46. data/lib/http_parser.rb +17 -0
  47. data/spec/parser_spec.rb +97 -6
  48. data/tasks/compile.rake +3 -1
  49. metadata +83 -20
  50. data/ext/ruby_http_parser/vendor/http-parser-java/CONTRIBUTIONS +0 -4
@@ -304,12 +304,12 @@ http_major :1
304
304
  http_minor :1
305
305
 
306
306
  name :connect request
307
- raw :"CONNECT home.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n"
307
+ raw :"CONNECT home0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n"
308
308
  type :HTTP_REQUEST
309
309
  method: HTTP_CONNECT
310
310
  status_code :0
311
311
  request_path:
312
- request_url :home.netscape.com:443
312
+ request_url :home0.netscape.com:443
313
313
  fragment :
314
314
  query_string:
315
315
  body :""
@@ -324,7 +324,7 @@ http_minor :0
324
324
  name :report request
325
325
  raw :"REPORT /test HTTP/1.1\r\n\r\n"
326
326
  type :HTTP_REQUEST
327
- method: REPORT
327
+ method: HTTP_REPORT
328
328
  status_code :0
329
329
  request_path:/test
330
330
  request_url :/test
@@ -337,8 +337,108 @@ upgrade :0
337
337
  http_major :1
338
338
  http_minor :1
339
339
 
340
+ name :request with no http version
341
+ raw :"GET /\r\n\r\n"
342
+ type :HTTP_REQUEST
343
+ method: HTTP_GET
344
+ status_code :0
345
+ request_path:/
346
+ request_url :/
347
+ fragment :
348
+ query_string:
349
+ body :""
350
+ body_size :0
351
+ should_keep_alive :0
352
+ upgrade :0
353
+ http_major :0
354
+ http_minor :9
355
+
356
+ name :m-search request
357
+ raw :"M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nST: \"ssdp:all\"\r\n\r\n"
358
+ type :HTTP_REQUEST
359
+ method: HTTP_MSEARCH
360
+ status_code :0
361
+ request_path:*
362
+ request_url :*
363
+ fragment :
364
+ query_string:
365
+ body :""
366
+ body_size :0
367
+ header_0 :{ "HOST": "239.255.255.250:1900"}
368
+ header_1 :{ "MAN": ""ssdp:discover""}
369
+ header_2 :{ "ST": ""ssdp:all""}
370
+ should_keep_alive :1
371
+ upgrade :0
372
+ http_major :1
373
+ http_minor :1
374
+
375
+ name :utf-8 path request
376
+ raw :"GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\nHost: github.com\r\n\r\n"
377
+ type :HTTP_REQUEST
378
+ method: HTTP_GET
379
+ status_code :0
380
+ request_path:/δ¶/δt/pope
381
+ request_url :/δ¶/δt/pope?q=1#narf
382
+ fragment :narf
383
+ query_string:q=1
384
+ body :""
385
+ body_size :0
386
+ header_0 :{ "Host": "github.com"}
387
+ should_keep_alive :1
388
+ upgrade :0
389
+ http_major :1
390
+ http_minor :1
391
+
392
+ name :host terminated by a query string
393
+ raw :"GET http://hypnotoad.org?hail=all HTTP/1.1\r\n\r\n"
394
+ type :HTTP_REQUEST
395
+ method: HTTP_GET
396
+ status_code :0
397
+ request_path:
398
+ request_url :http://hypnotoad.org?hail=all
399
+ fragment :
400
+ query_string:hail=all
401
+ body :""
402
+ body_size :0
403
+ should_keep_alive :1
404
+ upgrade :0
405
+ http_major :1
406
+ http_minor :1
407
+
408
+ name :host:port terminated by a query string
409
+ raw :"GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n\r\n"
410
+ type :HTTP_REQUEST
411
+ method: HTTP_GET
412
+ status_code :0
413
+ request_path:
414
+ request_url :http://hypnotoad.org:1234?hail=all
415
+ fragment :
416
+ query_string:hail=all
417
+ body :""
418
+ body_size :0
419
+ should_keep_alive :1
420
+ upgrade :0
421
+ http_major :1
422
+ http_minor :1
423
+
424
+ name :host:port terminated by a space
425
+ raw :"GET http://hypnotoad.org:1234 HTTP/1.1\r\n\r\n"
426
+ type :HTTP_REQUEST
427
+ method: HTTP_GET
428
+ status_code :0
429
+ request_path:
430
+ request_url :http://hypnotoad.org:1234
431
+ fragment :
432
+ query_string:
433
+ body :""
434
+ body_size :0
435
+ should_keep_alive :1
436
+ upgrade :0
437
+ http_major :1
438
+ http_minor :1
439
+
340
440
  name :google 301
341
- raw :"HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com/\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Sun, 26 Apr 2009 11:11:49 GMT\r\nExpires: Tue, 26 May 2009 11:11:49 GMT\r\nCache-Control: public, max-age=2592000\r\nServer: gws\r\nContent-Length: 219\r\n\r\n<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"
441
+ raw :"HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com/\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Sun, 26 Apr 2009 11:11:49 GMT\r\nExpires: Tue, 26 May 2009 11:11:49 GMT\r\nX-$PrototypeBI-Version: 1.6.0.3\r\nCache-Control: public, max-age=2592000\r\nServer: gws\r\nContent-Length: 219 \r\n\r\n<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"
342
442
  type :HTTP_RESPONSE
343
443
  method: HTTP_DELETE
344
444
  status_code :301
@@ -352,9 +452,10 @@ header_0 :{ "Location": "http://www.google.com/"}
352
452
  header_1 :{ "Content-Type": "text/html; charset=UTF-8"}
353
453
  header_2 :{ "Date": "Sun, 26 Apr 2009 11:11:49 GMT"}
354
454
  header_3 :{ "Expires": "Tue, 26 May 2009 11:11:49 GMT"}
355
- header_4 :{ "Cache-Control": "public, max-age=2592000"}
356
- header_5 :{ "Server": "gws"}
357
- header_6 :{ "Content-Length": "219"}
455
+ header_4 :{ "X-$PrototypeBI-Version": "1.6.0.3"}
456
+ header_5 :{ "Cache-Control": "public, max-age=2592000"}
457
+ header_6 :{ "Server": "gws"}
458
+ header_7 :{ "Content-Length": "219 "}
358
459
  should_keep_alive :1
359
460
  upgrade :0
360
461
  http_major :1
@@ -537,3 +638,49 @@ upgrade :0
537
638
  http_major :1
538
639
  http_minor :1
539
640
 
641
+ name :field underscore
642
+ raw :"HTTP/1.1 200 OK\r\nDate: Tue, 28 Sep 2010 01:14:13 GMT\r\nServer: Apache\r\nCache-Control: no-cache, must-revalidate\r\nExpires: Mon, 26 Jul 1997 05:00:00 GMT\r\n.et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\nVary: Accept-Encoding\r\n_eep-Alive: timeout=45\r\n_onnection: Keep-Alive\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n0\r\n\r\n"
643
+ type :HTTP_RESPONSE
644
+ method: HTTP_DELETE
645
+ status_code :200
646
+ request_path:
647
+ request_url :
648
+ fragment :
649
+ query_string:
650
+ body :""
651
+ body_size :0
652
+ header_0 :{ "Date": "Tue, 28 Sep 2010 01:14:13 GMT"}
653
+ header_1 :{ "Server": "Apache"}
654
+ header_2 :{ "Cache-Control": "no-cache, must-revalidate"}
655
+ header_3 :{ "Expires": "Mon, 26 Jul 1997 05:00:00 GMT"}
656
+ header_4 :{ ".et-Cookie": "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com"}
657
+ header_5 :{ "Vary": "Accept-Encoding"}
658
+ header_6 :{ "_eep-Alive": "timeout=45"}
659
+ header_7 :{ "_onnection": "Keep-Alive"}
660
+ header_8 :{ "Transfer-Encoding": "chunked"}
661
+ header_9 :{ "Content-Type": "text/html"}
662
+ header_10 :{ "Connection": "close"}
663
+ should_keep_alive :0
664
+ upgrade :0
665
+ http_major :1
666
+ http_minor :1
667
+
668
+ name :non-ASCII in status line
669
+ raw :"HTTP/1.1 500 Oriëntatieprobleem\r\nDate: Fri, 5 Nov 2010 23:07:12 GMT+2\r\nContent-Length: 0\r\nConnection: close\r\n\r\n"
670
+ type :HTTP_RESPONSE
671
+ method: HTTP_DELETE
672
+ status_code :500
673
+ request_path:
674
+ request_url :
675
+ fragment :
676
+ query_string:
677
+ body :""
678
+ body_size :0
679
+ header_0 :{ "Date": "Fri, 5 Nov 2010 23:07:12 GMT+2"}
680
+ header_1 :{ "Content-Length": "0"}
681
+ header_2 :{ "Connection": "close"}
682
+ should_keep_alive :0
683
+ upgrade :0
684
+ http_major :1
685
+ http_minor :1
686
+
@@ -0,0 +1,17 @@
1
+ name :utf-8 path request
2
+ raw :"GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\nHost: github.com\r\n\r\n"
3
+ type :HTTP_REQUEST
4
+ method: HTTP_GET
5
+ status_code :0
6
+ request_path:/δ¶/δt/pope
7
+ request_url :/δ¶/δt/pope?q=1#narf
8
+ fragment :narf
9
+ query_string:q=1
10
+ body :""
11
+ body_size :0
12
+ header_0 :{ "Host": "github.com"}
13
+ should_keep_alive :1
14
+ upgrade :0
15
+ http_major :1
16
+ http_minor :1
17
+
@@ -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
Binary file
Binary file
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,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_parser.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ hash: 15
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 2
10
+ version: 0.5.2
5
11
  platform: x86-mingw32
6
12
  authors:
7
13
  - Marc-Andre Cournoyer
@@ -10,39 +16,73 @@ autorequire:
10
16
  bindir: bin
11
17
  cert_chain: []
12
18
 
13
- date: 2011-01-25 00:00:00 -08:00
19
+ date: 2011-08-27 00:00:00 -07:00
14
20
  default_executable:
15
21
  dependencies:
16
22
  - !ruby/object:Gem::Dependency
17
23
  name: rake-compiler
18
- type: :development
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
21
27
  requirements:
22
28
  - - ">="
23
29
  - !ruby/object:Gem::Version
24
- version: 0.7.5
25
- version:
30
+ hash: 17
31
+ segments:
32
+ - 0
33
+ - 7
34
+ - 9
35
+ version: 0.7.9
36
+ type: :development
37
+ version_requirements: *id001
26
38
  - !ruby/object:Gem::Dependency
27
39
  name: rspec
28
- type: :development
29
- version_requirement:
30
- version_requirements: !ruby/object:Gem::Requirement
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
31
43
  requirements:
32
44
  - - ">="
33
45
  - !ruby/object:Gem::Version
46
+ hash: 13
47
+ segments:
48
+ - 2
49
+ - 0
50
+ - 1
34
51
  version: 2.0.1
35
- version:
52
+ type: :development
53
+ version_requirements: *id002
36
54
  - !ruby/object:Gem::Dependency
37
55
  name: json
38
- type: :development
39
- version_requirement:
40
- version_requirements: !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
41
59
  requirements:
42
60
  - - ">="
43
61
  - !ruby/object:Gem::Version
62
+ hash: 11
63
+ segments:
64
+ - 1
65
+ - 4
66
+ - 6
44
67
  version: 1.4.6
45
- version:
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
46
86
  description: Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java
47
87
  email:
48
88
  - macournoyer@gmail.com
@@ -58,6 +98,7 @@ files:
58
98
  - .gitmodules
59
99
  - Gemfile
60
100
  - Gemfile.lock
101
+ - LICENSE-MIT
61
102
  - README.md
62
103
  - Rakefile
63
104
  - bench/thin.rb
@@ -86,13 +127,17 @@ files:
86
127
  - ext/ruby_http_parser/vendor/http-parser/Makefile
87
128
  - ext/ruby_http_parser/vendor/http-parser/README.md
88
129
  - ext/ruby_http_parser/vendor/http-parser/test.c
130
+ - ext/ruby_http_parser/vendor/http-parser-java/build.xml
89
131
  - ext/ruby_http_parser/vendor/http-parser-java/compile
90
- - ext/ruby_http_parser/vendor/http-parser-java/CONTRIBUTIONS
132
+ - ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar
91
133
  - ext/ruby_http_parser/vendor/http-parser-java/http_parser.c
92
134
  - ext/ruby_http_parser/vendor/http-parser-java/http_parser.h
93
135
  - ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT
94
136
  - ext/ruby_http_parser/vendor/http-parser-java/Makefile
95
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
96
141
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java
97
142
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java
98
143
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java
@@ -101,14 +146,26 @@ files:
101
146
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java
102
147
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java
103
148
  - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java
104
- - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/Util.java
149
+ - ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java
105
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
106
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
107
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
108
163
  - ext/ruby_http_parser/vendor/http-parser-java/test.c
109
164
  - ext/ruby_http_parser/vendor/http-parser-java/test_permutations
110
165
  - ext/ruby_http_parser/vendor/http-parser-java/test_unit
166
+ - ext/ruby_http_parser/vendor/http-parser-java/test_utf8
111
167
  - ext/ruby_http_parser/vendor/http-parser-java/tests.dumped
168
+ - ext/ruby_http_parser/vendor/http-parser-java/tests.utf8
112
169
  - ext/ruby_http_parser/vendor/http-parser-java/TODO
113
170
  - ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb
114
171
  - ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb
@@ -127,21 +184,27 @@ rdoc_options: []
127
184
  require_paths:
128
185
  - lib
129
186
  required_ruby_version: !ruby/object:Gem::Requirement
187
+ none: false
130
188
  requirements:
131
189
  - - ">="
132
190
  - !ruby/object:Gem::Version
191
+ hash: 3
192
+ segments:
193
+ - 0
133
194
  version: "0"
134
- version:
135
195
  required_rubygems_version: !ruby/object:Gem::Requirement
196
+ none: false
136
197
  requirements:
137
198
  - - ">="
138
199
  - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
202
+ - 0
139
203
  version: "0"
140
- version:
141
204
  requirements: []
142
205
 
143
206
  rubyforge_project:
144
- rubygems_version: 1.3.5
207
+ rubygems_version: 1.6.2
145
208
  signing_key:
146
209
  specification_version: 3
147
210
  summary: Simple callback-based HTTP request/response parser
@@ -1,4 +0,0 @@
1
- Contributors must agree to the Contributor License Agreement before patches
2
- can be accepted.
3
-
4
- http://spreadsheets2.google.com/viewform?hl=en&formkey=dDJXOGUwbzlYaWM4cHN1MERwQS1CSnc6MQ