http-parser-lite 0.6.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2644da08c5a1999e20e3f05e28731050e6b393e9170f7d902783b3f601d5b71d
4
+ data.tar.gz: b0cd1d650e9fceea8e63b7323b8f61bb5f379af86295762af030a14845a6ada4
5
+ SHA512:
6
+ metadata.gz: e145fe33cdba596bd7e2816533fb03f1458ddf3326ebe971b85dde6743baf6b7e4778e647f21258702065e2f0fe6d7ab0f539589b61271c445dbcc75d376f0aa
7
+ data.tar.gz: 9b53c39d4db51d76a06bd671ff621a795e5534b0207e32118e335d898706f7c9c86e29d8002d13a2a06fe6f054f5a2f554b3c4050f161d839cd3a257d17827df
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.0.0 (2024-04-02)
2
+
3
+ * Fixed compiler warnings in extension for Ruby 3.3.0 support.
4
+
1
5
  == 0.6.0 (2013-01-01)
2
6
 
3
7
  * Added on_status_complete callback (Oscar Del Ben).
data/README.md CHANGED
@@ -97,6 +97,11 @@ Exceptions:
97
97
  * HTTP::Parser::Error
98
98
  ```
99
99
 
100
+ ## JRuby Support
101
+
102
+ Based on [flyerhzm/http-parser.java](https://github.com/flyerhzm/http-parser.java), some code has been borrowed from
103
+ [http_parser.rb](https://github.com/tmm1/http_parser.rb)
104
+
100
105
  ## License
101
106
 
102
107
  MIT
@@ -149,8 +149,8 @@ VALUE rb_parser_error_q(VALUE self) {
149
149
 
150
150
  VALUE rb_parser_error(VALUE self) {
151
151
  http_parser *parser = rb_http_parser_handle(self);
152
- int errno = HTTP_PARSER_ERRNO(parser);
153
- return errno != HPE_OK ? rb_str_new2(http_errno_description(errno)) : Qnil;
152
+ int http_errno = HTTP_PARSER_ERRNO(parser);
153
+ return http_errno != HPE_OK ? rb_str_new2(http_errno_description(http_errno)) : Qnil;
154
154
  }
155
155
 
156
156
  void Init_http_parser() {
data/lib/http-parser.rb CHANGED
@@ -1,7 +1,7 @@
1
- require 'http-parser/http_parser'
2
-
3
1
  module HTTP
4
2
  class Parser
3
+ VERSION = '1.0.0'.freeze
4
+
5
5
  TYPE_REQUEST = 0
6
6
  TYPE_RESPONSE = 1
7
7
  TYPE_BOTH = 2
@@ -40,3 +40,11 @@ module HTTP
40
40
  end
41
41
  end
42
42
  end
43
+
44
+ if RUBY_PLATFORM =~ /java/
45
+ require_relative '../ext/vendor/http-parser.jar'
46
+ require 'http-parser.jar'
47
+ require 'ruby_http_parser'
48
+ else
49
+ require 'http-parser/http_parser'
50
+ end
@@ -98,6 +98,12 @@ describe 'http-parser' do
98
98
  assert_equal '1.1', parser.http_version
99
99
  end
100
100
 
101
+ it 'should parse PATCH' do
102
+ parser << "PATCH http://example.com HTTP/1.1\r\nUser-Agent: X-Test-UA\r\n\r\n"
103
+
104
+ assert_equal 'PATCH', parser.http_method
105
+ end
106
+
101
107
  it 'should raise an error on invalid data' do
102
108
  assert_raises(HTTP::Parser::Error) { parser << "GET / foobar\r\n" }
103
109
  end
@@ -176,6 +182,7 @@ describe 'http-parser' do
176
182
  end
177
183
 
178
184
  it 'should parser urls with user:pass' do
185
+ skip 'Not implemented in JRuby yet, see issues/2' if RUBY_PLATFORM =~ /java/
179
186
  parser.reset(HTTP::Parser::TYPE_REQUEST)
180
187
 
181
188
  url = 'http://foo:bar@example.org/test.cgi?param1=1'
metadata CHANGED
@@ -1,32 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http-parser-lite
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.6.0
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Bharanee Rathna
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-01 00:00:00.000000000 Z
11
+ date: 2024-04-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
15
20
  type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake-compiler
16
29
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
30
  requirements:
19
- - - ! '>='
31
+ - - ">="
20
32
  - !ruby/object:Gem::Version
21
33
  version: '0'
34
+ type: :development
22
35
  prerelease: false
23
36
  version_requirements: !ruby/object:Gem::Requirement
24
- none: false
25
37
  requirements:
26
- - - ! '>='
38
+ - - ">="
27
39
  - !ruby/object:Gem::Version
28
40
  version: '0'
29
- name: rake
30
41
  description: A lite ruby wrapper around Joyent http-parser
31
42
  email:
32
43
  - deepfryed@gmail.com
@@ -35,39 +46,38 @@ extensions:
35
46
  - ext/http-parser/extconf.rb
36
47
  extra_rdoc_files: []
37
48
  files:
49
+ - CHANGELOG
50
+ - README.md
51
+ - ext/http-parser/extconf.rb
38
52
  - ext/http-parser/http_parser.c
39
- - ext/http-parser/ruby_http_parser.c
40
53
  - ext/http-parser/http_parser.h
41
- - ext/http-parser/extconf.rb
42
- - test/helper.rb
43
- - test/test_http_parser.rb
54
+ - ext/http-parser/ruby_http_parser.c
44
55
  - lib/http-parser-lite.rb
45
56
  - lib/http-parser.rb
46
- - README.md
47
- - CHANGELOG
57
+ - test/helper.rb
58
+ - test/test_http_parser.rb
48
59
  homepage: http://github.com/deepfryed/http-parser-lite
49
60
  licenses: []
50
- post_install_message:
61
+ metadata: {}
62
+ post_install_message:
51
63
  rdoc_options: []
52
64
  require_paths:
53
65
  - lib
54
66
  - ext
55
67
  required_ruby_version: !ruby/object:Gem::Requirement
56
- none: false
57
68
  requirements:
58
- - - ! '>='
69
+ - - ">="
59
70
  - !ruby/object:Gem::Version
60
71
  version: '0'
61
72
  required_rubygems_version: !ruby/object:Gem::Requirement
62
- none: false
63
73
  requirements:
64
- - - ! '>='
74
+ - - ">="
65
75
  - !ruby/object:Gem::Version
66
76
  version: '0'
67
77
  requirements: []
68
- rubyforge_project:
69
- rubygems_version: 1.8.24
70
- signing_key:
71
- specification_version: 3
78
+ rubyforge_project:
79
+ rubygems_version: 2.7.6
80
+ signing_key:
81
+ specification_version: 4
72
82
  summary: Simple wrapper around Joyent http-parser
73
83
  test_files: []