http 3.3.0 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
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