http 3.3.0 → 4.4.1

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +3 -1
  4. data/.travis.yml +10 -7
  5. data/CHANGES.md +135 -0
  6. data/README.md +14 -10
  7. data/Rakefile +1 -1
  8. data/http.gemspec +12 -5
  9. data/lib/http.rb +1 -2
  10. data/lib/http/chainable.rb +20 -29
  11. data/lib/http/client.rb +25 -19
  12. data/lib/http/connection.rb +5 -9
  13. data/lib/http/feature.rb +14 -0
  14. data/lib/http/features/auto_deflate.rb +27 -6
  15. data/lib/http/features/auto_inflate.rb +33 -6
  16. data/lib/http/features/instrumentation.rb +64 -0
  17. data/lib/http/features/logging.rb +55 -0
  18. data/lib/http/features/normalize_uri.rb +17 -0
  19. data/lib/http/headers/known.rb +3 -0
  20. data/lib/http/options.rb +27 -21
  21. data/lib/http/redirector.rb +2 -1
  22. data/lib/http/request.rb +38 -30
  23. data/lib/http/request/body.rb +30 -1
  24. data/lib/http/request/writer.rb +21 -7
  25. data/lib/http/response.rb +7 -15
  26. data/lib/http/response/parser.rb +56 -16
  27. data/lib/http/timeout/global.rb +12 -14
  28. data/lib/http/timeout/per_operation.rb +5 -7
  29. data/lib/http/uri.rb +13 -0
  30. data/lib/http/version.rb +1 -1
  31. data/spec/lib/http/client_spec.rb +34 -7
  32. data/spec/lib/http/features/auto_inflate_spec.rb +38 -22
  33. data/spec/lib/http/features/instrumentation_spec.rb +56 -0
  34. data/spec/lib/http/features/logging_spec.rb +67 -0
  35. data/spec/lib/http/redirector_spec.rb +13 -0
  36. data/spec/lib/http/request/body_spec.rb +51 -0
  37. data/spec/lib/http/request/writer_spec.rb +20 -0
  38. data/spec/lib/http/request_spec.rb +6 -0
  39. data/spec/lib/http/response/parser_spec.rb +45 -0
  40. data/spec/lib/http/response_spec.rb +3 -4
  41. data/spec/lib/http_spec.rb +45 -65
  42. data/spec/regression_specs.rb +7 -0
  43. data/spec/support/dummy_server/servlet.rb +5 -0
  44. data/spec/support/http_handling_shared.rb +60 -64
  45. metadata +32 -21
  46. data/.ruby-version +0 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 4.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
@@ -11,78 +11,78 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-04-25 00:00:00.000000000 Z
14
+ date: 2020-03-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: http_parser.rb
17
+ name: addressable
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.6.0
22
+ version: '2.3'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.6.0
29
+ version: '2.3'
30
30
  - !ruby/object:Gem::Dependency
31
- name: http-form_data
31
+ name: http-cookie
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: '2.0'
36
+ version: '1.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: '2.0'
43
+ version: '1.0'
44
44
  - !ruby/object:Gem::Dependency
45
- name: http-cookie
45
+ name: http-form_data
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: '1.0'
50
+ version: '2.2'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '1.0'
57
+ version: '2.2'
58
58
  - !ruby/object:Gem::Dependency
59
- name: addressable
59
+ name: http-parser
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: '2.3'
64
+ version: 1.2.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '2.3'
71
+ version: 1.2.0
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: bundler
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
76
  - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: '1.0'
78
+ version: '2.0'
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: '1.0'
85
+ version: '2.0'
86
86
  description: An easy-to-use client library for making requests from Ruby. It uses
87
87
  a simple method chaining system for building requests, similar to Python's Requests.
88
88
  email:
@@ -95,7 +95,6 @@ files:
95
95
  - ".gitignore"
96
96
  - ".rspec"
97
97
  - ".rubocop.yml"
98
- - ".ruby-version"
99
98
  - ".travis.yml"
100
99
  - ".yardopts"
101
100
  - CHANGES.md
@@ -115,6 +114,9 @@ files:
115
114
  - lib/http/feature.rb
116
115
  - lib/http/features/auto_deflate.rb
117
116
  - lib/http/features/auto_inflate.rb
117
+ - lib/http/features/instrumentation.rb
118
+ - lib/http/features/logging.rb
119
+ - lib/http/features/normalize_uri.rb
118
120
  - lib/http/headers.rb
119
121
  - lib/http/headers/known.rb
120
122
  - lib/http/headers/mixin.rb
@@ -143,6 +145,8 @@ files:
143
145
  - spec/lib/http/content_type_spec.rb
144
146
  - spec/lib/http/features/auto_deflate_spec.rb
145
147
  - spec/lib/http/features/auto_inflate_spec.rb
148
+ - spec/lib/http/features/instrumentation_spec.rb
149
+ - spec/lib/http/features/logging_spec.rb
146
150
  - spec/lib/http/headers/mixin_spec.rb
147
151
  - spec/lib/http/headers_spec.rb
148
152
  - spec/lib/http/options/body_spec.rb
@@ -159,6 +163,7 @@ files:
159
163
  - spec/lib/http/request/writer_spec.rb
160
164
  - spec/lib/http/request_spec.rb
161
165
  - spec/lib/http/response/body_spec.rb
166
+ - spec/lib/http/response/parser_spec.rb
162
167
  - spec/lib/http/response/status_spec.rb
163
168
  - spec/lib/http/response_spec.rb
164
169
  - spec/lib/http/uri_spec.rb
@@ -178,7 +183,11 @@ files:
178
183
  homepage: https://github.com/httprb/http
179
184
  licenses:
180
185
  - MIT
181
- metadata: {}
186
+ metadata:
187
+ source_code_uri: https://github.com/httprb/http
188
+ wiki_uri: https://github.com/httprb/http/wiki
189
+ bug_tracker_uri: https://github.com/httprb/http/issues
190
+ changelog_uri: https://github.com/httprb/http/blob/v4.4.1/CHANGES.md
182
191
  post_install_message:
183
192
  rdoc_options: []
184
193
  require_paths:
@@ -187,15 +196,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
196
  requirements:
188
197
  - - ">="
189
198
  - !ruby/object:Gem::Version
190
- version: '2.2'
199
+ version: '2.3'
191
200
  required_rubygems_version: !ruby/object:Gem::Requirement
192
201
  requirements:
193
202
  - - ">="
194
203
  - !ruby/object:Gem::Version
195
204
  version: '0'
196
205
  requirements: []
197
- rubyforge_project:
198
- rubygems_version: 2.7.6
206
+ rubygems_version: 3.0.3
199
207
  signing_key:
200
208
  specification_version: 4
201
209
  summary: HTTP should be easy
@@ -205,6 +213,8 @@ test_files:
205
213
  - spec/lib/http/content_type_spec.rb
206
214
  - spec/lib/http/features/auto_deflate_spec.rb
207
215
  - spec/lib/http/features/auto_inflate_spec.rb
216
+ - spec/lib/http/features/instrumentation_spec.rb
217
+ - spec/lib/http/features/logging_spec.rb
208
218
  - spec/lib/http/headers/mixin_spec.rb
209
219
  - spec/lib/http/headers_spec.rb
210
220
  - spec/lib/http/options/body_spec.rb
@@ -221,6 +231,7 @@ test_files:
221
231
  - spec/lib/http/request/writer_spec.rb
222
232
  - spec/lib/http/request_spec.rb
223
233
  - spec/lib/http/response/body_spec.rb
234
+ - spec/lib/http/response/parser_spec.rb
224
235
  - spec/lib/http/response/status_spec.rb
225
236
  - spec/lib/http/response_spec.rb
226
237
  - spec/lib/http/uri_spec.rb
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.4.0