http-parser-lite 0.6.0 → 1.0.0

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.
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: []