httpx 0.21.0 → 1.2.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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +0 -48
  3. data/README.md +54 -45
  4. data/doc/release_notes/0_10_0.md +2 -2
  5. data/doc/release_notes/0_11_0.md +3 -5
  6. data/doc/release_notes/0_12_0.md +5 -5
  7. data/doc/release_notes/0_13_0.md +4 -4
  8. data/doc/release_notes/0_14_0.md +2 -2
  9. data/doc/release_notes/0_16_0.md +3 -3
  10. data/doc/release_notes/0_17_0.md +1 -1
  11. data/doc/release_notes/0_18_0.md +4 -4
  12. data/doc/release_notes/0_18_2.md +1 -1
  13. data/doc/release_notes/0_19_0.md +1 -1
  14. data/doc/release_notes/0_20_0.md +1 -1
  15. data/doc/release_notes/0_21_0.md +7 -5
  16. data/doc/release_notes/0_21_1.md +12 -0
  17. data/doc/release_notes/0_22_0.md +13 -0
  18. data/doc/release_notes/0_22_1.md +11 -0
  19. data/doc/release_notes/0_22_2.md +5 -0
  20. data/doc/release_notes/0_22_3.md +55 -0
  21. data/doc/release_notes/0_22_4.md +6 -0
  22. data/doc/release_notes/0_22_5.md +6 -0
  23. data/doc/release_notes/0_23_0.md +42 -0
  24. data/doc/release_notes/0_23_1.md +5 -0
  25. data/doc/release_notes/0_23_2.md +5 -0
  26. data/doc/release_notes/0_23_3.md +6 -0
  27. data/doc/release_notes/0_23_4.md +5 -0
  28. data/doc/release_notes/0_24_0.md +48 -0
  29. data/doc/release_notes/0_24_1.md +12 -0
  30. data/doc/release_notes/0_24_2.md +12 -0
  31. data/doc/release_notes/0_24_3.md +12 -0
  32. data/doc/release_notes/0_24_4.md +18 -0
  33. data/doc/release_notes/0_24_5.md +6 -0
  34. data/doc/release_notes/0_24_6.md +5 -0
  35. data/doc/release_notes/0_24_7.md +10 -0
  36. data/doc/release_notes/1_0_0.md +60 -0
  37. data/doc/release_notes/1_0_1.md +5 -0
  38. data/doc/release_notes/1_0_2.md +7 -0
  39. data/doc/release_notes/1_1_0.md +32 -0
  40. data/doc/release_notes/1_1_1.md +17 -0
  41. data/doc/release_notes/1_1_2.md +12 -0
  42. data/doc/release_notes/1_1_3.md +18 -0
  43. data/doc/release_notes/1_1_4.md +6 -0
  44. data/doc/release_notes/1_1_5.md +12 -0
  45. data/doc/release_notes/1_2_0.md +49 -0
  46. data/doc/release_notes/1_2_1.md +6 -0
  47. data/lib/httpx/adapters/datadog.rb +100 -106
  48. data/lib/httpx/adapters/faraday.rb +143 -107
  49. data/lib/httpx/adapters/sentry.rb +26 -7
  50. data/lib/httpx/adapters/webmock.rb +33 -17
  51. data/lib/httpx/altsvc.rb +61 -24
  52. data/lib/httpx/base64.rb +27 -0
  53. data/lib/httpx/buffer.rb +12 -0
  54. data/lib/httpx/callbacks.rb +5 -3
  55. data/lib/httpx/chainable.rb +54 -39
  56. data/lib/httpx/connection/http1.rb +62 -37
  57. data/lib/httpx/connection/http2.rb +16 -27
  58. data/lib/httpx/connection.rb +213 -120
  59. data/lib/httpx/domain_name.rb +10 -13
  60. data/lib/httpx/errors.rb +34 -2
  61. data/lib/httpx/extensions.rb +4 -134
  62. data/lib/httpx/io/ssl.rb +77 -71
  63. data/lib/httpx/io/tcp.rb +46 -70
  64. data/lib/httpx/io/udp.rb +18 -52
  65. data/lib/httpx/io/unix.rb +6 -13
  66. data/lib/httpx/io.rb +3 -9
  67. data/lib/httpx/loggable.rb +4 -19
  68. data/lib/httpx/options.rb +168 -110
  69. data/lib/httpx/plugins/{authentication → auth}/basic.rb +1 -5
  70. data/lib/httpx/plugins/{authentication → auth}/digest.rb +13 -14
  71. data/lib/httpx/plugins/{authentication → auth}/ntlm.rb +1 -3
  72. data/lib/httpx/plugins/{authentication → auth}/socks5.rb +0 -2
  73. data/lib/httpx/plugins/auth.rb +25 -0
  74. data/lib/httpx/plugins/aws_sdk_authentication.rb +1 -3
  75. data/lib/httpx/plugins/aws_sigv4.rb +5 -6
  76. data/lib/httpx/plugins/basic_auth.rb +29 -0
  77. data/lib/httpx/plugins/brotli.rb +50 -0
  78. data/lib/httpx/plugins/callbacks.rb +91 -0
  79. data/lib/httpx/plugins/circuit_breaker/circuit.rb +40 -16
  80. data/lib/httpx/plugins/circuit_breaker/circuit_store.rb +14 -5
  81. data/lib/httpx/plugins/circuit_breaker.rb +30 -7
  82. data/lib/httpx/plugins/cookies/set_cookie_parser.rb +0 -2
  83. data/lib/httpx/plugins/cookies.rb +20 -10
  84. data/lib/httpx/plugins/{digest_authentication.rb → digest_auth.rb} +11 -12
  85. data/lib/httpx/plugins/expect.rb +15 -13
  86. data/lib/httpx/plugins/follow_redirects.rb +71 -29
  87. data/lib/httpx/plugins/grpc/call.rb +2 -3
  88. data/lib/httpx/plugins/grpc/grpc_encoding.rb +88 -0
  89. data/lib/httpx/plugins/grpc/message.rb +7 -37
  90. data/lib/httpx/plugins/grpc.rb +35 -29
  91. data/lib/httpx/plugins/h2c.rb +25 -18
  92. data/lib/httpx/plugins/internal_telemetry.rb +16 -0
  93. data/lib/httpx/plugins/{ntlm_authentication.rb → ntlm_auth.rb} +7 -5
  94. data/lib/httpx/plugins/oauth.rb +170 -0
  95. data/lib/httpx/plugins/persistent.rb +1 -1
  96. data/lib/httpx/plugins/proxy/http.rb +15 -10
  97. data/lib/httpx/plugins/proxy/socks4.rb +8 -6
  98. data/lib/httpx/plugins/proxy/socks5.rb +10 -8
  99. data/lib/httpx/plugins/proxy.rb +69 -67
  100. data/lib/httpx/plugins/push_promise.rb +1 -1
  101. data/lib/httpx/plugins/rate_limiter.rb +3 -1
  102. data/lib/httpx/plugins/response_cache/file_store.rb +40 -0
  103. data/lib/httpx/plugins/response_cache/store.rb +34 -17
  104. data/lib/httpx/plugins/response_cache.rb +6 -6
  105. data/lib/httpx/plugins/retries.rb +61 -12
  106. data/lib/httpx/plugins/ssrf_filter.rb +142 -0
  107. data/lib/httpx/plugins/stream.rb +27 -32
  108. data/lib/httpx/plugins/upgrade/h2.rb +4 -4
  109. data/lib/httpx/plugins/upgrade.rb +8 -10
  110. data/lib/httpx/plugins/webdav.rb +10 -8
  111. data/lib/httpx/pool.rb +85 -23
  112. data/lib/httpx/punycode.rb +9 -291
  113. data/lib/httpx/request/body.rb +158 -0
  114. data/lib/httpx/request.rb +86 -121
  115. data/lib/httpx/resolver/https.rb +54 -17
  116. data/lib/httpx/resolver/multi.rb +8 -12
  117. data/lib/httpx/resolver/native.rb +163 -70
  118. data/lib/httpx/resolver/resolver.rb +28 -13
  119. data/lib/httpx/resolver/system.rb +15 -10
  120. data/lib/httpx/resolver.rb +38 -16
  121. data/lib/httpx/response/body.rb +242 -0
  122. data/lib/httpx/response/buffer.rb +96 -0
  123. data/lib/httpx/response.rb +113 -211
  124. data/lib/httpx/selector.rb +2 -4
  125. data/lib/httpx/session.rb +91 -64
  126. data/lib/httpx/session_extensions.rb +4 -1
  127. data/lib/httpx/timers.rb +28 -8
  128. data/lib/httpx/transcoder/body.rb +0 -2
  129. data/lib/httpx/transcoder/chunker.rb +0 -1
  130. data/lib/httpx/transcoder/deflate.rb +37 -0
  131. data/lib/httpx/transcoder/form.rb +52 -33
  132. data/lib/httpx/transcoder/gzip.rb +74 -0
  133. data/lib/httpx/transcoder/json.rb +2 -5
  134. data/lib/httpx/transcoder/multipart/decoder.rb +139 -0
  135. data/lib/httpx/{plugins → transcoder}/multipart/encoder.rb +3 -3
  136. data/lib/httpx/{plugins → transcoder}/multipart/mime_type_detector.rb +1 -1
  137. data/lib/httpx/{plugins → transcoder}/multipart/part.rb +3 -2
  138. data/lib/httpx/transcoder/multipart.rb +17 -0
  139. data/lib/httpx/transcoder/utils/body_reader.rb +46 -0
  140. data/lib/httpx/transcoder/utils/deflater.rb +72 -0
  141. data/lib/httpx/transcoder/utils/inflater.rb +19 -0
  142. data/lib/httpx/transcoder/xml.rb +0 -5
  143. data/lib/httpx/transcoder.rb +4 -6
  144. data/lib/httpx/utils.rb +36 -16
  145. data/lib/httpx/version.rb +1 -1
  146. data/lib/httpx.rb +12 -14
  147. data/sig/altsvc.rbs +33 -0
  148. data/sig/buffer.rbs +1 -0
  149. data/sig/callbacks.rbs +3 -3
  150. data/sig/chainable.rbs +10 -9
  151. data/sig/connection/http1.rbs +5 -4
  152. data/sig/connection/http2.rbs +1 -1
  153. data/sig/connection.rbs +46 -24
  154. data/sig/errors.rbs +9 -3
  155. data/sig/httpx.rbs +5 -4
  156. data/sig/io/ssl.rbs +26 -0
  157. data/sig/io/tcp.rbs +60 -0
  158. data/sig/io/udp.rbs +20 -0
  159. data/sig/io/unix.rbs +10 -0
  160. data/sig/options.rbs +28 -12
  161. data/sig/plugins/{authentication → auth}/basic.rbs +0 -2
  162. data/sig/plugins/{authentication → auth}/digest.rbs +2 -1
  163. data/sig/plugins/auth.rbs +13 -0
  164. data/sig/plugins/{basic_authentication.rbs → basic_auth.rbs} +2 -2
  165. data/sig/plugins/brotli.rbs +22 -0
  166. data/sig/plugins/callbacks.rbs +38 -0
  167. data/sig/plugins/circuit_breaker.rbs +13 -3
  168. data/sig/plugins/compression.rbs +6 -4
  169. data/sig/plugins/cookies/jar.rbs +2 -2
  170. data/sig/plugins/cookies.rbs +2 -0
  171. data/sig/plugins/{digest_authentication.rbs → digest_auth.rbs} +2 -2
  172. data/sig/plugins/follow_redirects.rbs +11 -2
  173. data/sig/plugins/grpc/call.rbs +19 -0
  174. data/sig/plugins/grpc/grpc_encoding.rbs +37 -0
  175. data/sig/plugins/grpc/message.rbs +17 -0
  176. data/sig/plugins/grpc.rbs +2 -32
  177. data/sig/plugins/h2c.rbs +1 -1
  178. data/sig/plugins/{ntlm_authentication.rbs → ntlm_auth.rbs} +2 -2
  179. data/sig/plugins/oauth.rbs +54 -0
  180. data/sig/plugins/proxy/socks4.rbs +4 -4
  181. data/sig/plugins/proxy/socks5.rbs +2 -2
  182. data/sig/plugins/proxy/ssh.rbs +1 -1
  183. data/sig/plugins/proxy.rbs +10 -4
  184. data/sig/plugins/response_cache.rbs +12 -3
  185. data/sig/plugins/retries.rbs +28 -8
  186. data/sig/plugins/stream.rbs +24 -17
  187. data/sig/plugins/upgrade.rbs +5 -3
  188. data/sig/pool.rbs +5 -4
  189. data/sig/request/body.rbs +40 -0
  190. data/sig/request.rbs +12 -28
  191. data/sig/resolver/https.rbs +7 -2
  192. data/sig/resolver/native.rbs +10 -4
  193. data/sig/resolver/resolver.rbs +6 -4
  194. data/sig/resolver/system.rbs +2 -0
  195. data/sig/resolver.rbs +9 -5
  196. data/sig/response/body.rbs +53 -0
  197. data/sig/response/buffer.rbs +24 -0
  198. data/sig/response.rbs +17 -38
  199. data/sig/session.rbs +24 -18
  200. data/sig/timers.rbs +17 -7
  201. data/sig/transcoder/body.rbs +4 -3
  202. data/sig/transcoder/deflate.rbs +11 -0
  203. data/sig/transcoder/form.rbs +5 -3
  204. data/sig/transcoder/gzip.rbs +24 -0
  205. data/sig/transcoder/json.rbs +4 -2
  206. data/sig/{plugins → transcoder}/multipart.rbs +3 -12
  207. data/sig/transcoder/utils/body_reader.rbs +15 -0
  208. data/sig/transcoder/utils/deflater.rbs +29 -0
  209. data/sig/transcoder/utils/inflater.rbs +12 -0
  210. data/sig/transcoder/xml.rbs +1 -1
  211. data/sig/transcoder.rbs +22 -7
  212. data/sig/utils.rbs +2 -0
  213. metadata +127 -40
  214. data/lib/httpx/plugins/authentication.rb +0 -20
  215. data/lib/httpx/plugins/basic_authentication.rb +0 -30
  216. data/lib/httpx/plugins/compression/brotli.rb +0 -54
  217. data/lib/httpx/plugins/compression/deflate.rb +0 -49
  218. data/lib/httpx/plugins/compression/gzip.rb +0 -88
  219. data/lib/httpx/plugins/compression.rb +0 -164
  220. data/lib/httpx/plugins/multipart/decoder.rb +0 -187
  221. data/lib/httpx/plugins/multipart.rb +0 -84
  222. data/lib/httpx/registry.rb +0 -85
  223. data/sig/plugins/authentication.rbs +0 -11
  224. data/sig/plugins/compression/brotli.rbs +0 -21
  225. data/sig/plugins/compression/deflate.rbs +0 -17
  226. data/sig/plugins/compression/gzip.rbs +0 -29
  227. data/sig/registry.rbs +0 -13
  228. /data/sig/plugins/{authentication → auth}/ntlm.rbs +0 -0
  229. /data/sig/plugins/{authentication → auth}/socks5.rbs +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Cardoso
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-14 00:00:00.000000000 Z
11
+ date: 2024-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http-2-next
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.1
19
+ version: 1.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.1
26
+ version: 1.0.3
27
27
  description: A client library for making HTTP requests from Ruby.
28
28
  email:
29
29
  - cardoso_tiago@hotmail.com
@@ -87,6 +87,26 @@ extra_rdoc_files:
87
87
  - doc/release_notes/0_20_4.md
88
88
  - doc/release_notes/0_20_5.md
89
89
  - doc/release_notes/0_21_0.md
90
+ - doc/release_notes/0_21_1.md
91
+ - doc/release_notes/0_22_0.md
92
+ - doc/release_notes/0_22_1.md
93
+ - doc/release_notes/0_22_2.md
94
+ - doc/release_notes/0_22_3.md
95
+ - doc/release_notes/0_22_4.md
96
+ - doc/release_notes/0_22_5.md
97
+ - doc/release_notes/0_23_0.md
98
+ - doc/release_notes/0_23_1.md
99
+ - doc/release_notes/0_23_2.md
100
+ - doc/release_notes/0_23_3.md
101
+ - doc/release_notes/0_23_4.md
102
+ - doc/release_notes/0_24_0.md
103
+ - doc/release_notes/0_24_1.md
104
+ - doc/release_notes/0_24_2.md
105
+ - doc/release_notes/0_24_3.md
106
+ - doc/release_notes/0_24_4.md
107
+ - doc/release_notes/0_24_5.md
108
+ - doc/release_notes/0_24_6.md
109
+ - doc/release_notes/0_24_7.md
90
110
  - doc/release_notes/0_2_0.md
91
111
  - doc/release_notes/0_2_1.md
92
112
  - doc/release_notes/0_3_0.md
@@ -108,6 +128,17 @@ extra_rdoc_files:
108
128
  - doc/release_notes/0_8_1.md
109
129
  - doc/release_notes/0_8_2.md
110
130
  - doc/release_notes/0_9_0.md
131
+ - doc/release_notes/1_0_0.md
132
+ - doc/release_notes/1_0_1.md
133
+ - doc/release_notes/1_0_2.md
134
+ - doc/release_notes/1_1_0.md
135
+ - doc/release_notes/1_1_1.md
136
+ - doc/release_notes/1_1_2.md
137
+ - doc/release_notes/1_1_3.md
138
+ - doc/release_notes/1_1_4.md
139
+ - doc/release_notes/1_1_5.md
140
+ - doc/release_notes/1_2_0.md
141
+ - doc/release_notes/1_2_1.md
111
142
  files:
112
143
  - LICENSE.txt
113
144
  - README.md
@@ -166,6 +197,26 @@ files:
166
197
  - doc/release_notes/0_20_4.md
167
198
  - doc/release_notes/0_20_5.md
168
199
  - doc/release_notes/0_21_0.md
200
+ - doc/release_notes/0_21_1.md
201
+ - doc/release_notes/0_22_0.md
202
+ - doc/release_notes/0_22_1.md
203
+ - doc/release_notes/0_22_2.md
204
+ - doc/release_notes/0_22_3.md
205
+ - doc/release_notes/0_22_4.md
206
+ - doc/release_notes/0_22_5.md
207
+ - doc/release_notes/0_23_0.md
208
+ - doc/release_notes/0_23_1.md
209
+ - doc/release_notes/0_23_2.md
210
+ - doc/release_notes/0_23_3.md
211
+ - doc/release_notes/0_23_4.md
212
+ - doc/release_notes/0_24_0.md
213
+ - doc/release_notes/0_24_1.md
214
+ - doc/release_notes/0_24_2.md
215
+ - doc/release_notes/0_24_3.md
216
+ - doc/release_notes/0_24_4.md
217
+ - doc/release_notes/0_24_5.md
218
+ - doc/release_notes/0_24_6.md
219
+ - doc/release_notes/0_24_7.md
169
220
  - doc/release_notes/0_2_0.md
170
221
  - doc/release_notes/0_2_1.md
171
222
  - doc/release_notes/0_3_0.md
@@ -187,12 +238,24 @@ files:
187
238
  - doc/release_notes/0_8_1.md
188
239
  - doc/release_notes/0_8_2.md
189
240
  - doc/release_notes/0_9_0.md
241
+ - doc/release_notes/1_0_0.md
242
+ - doc/release_notes/1_0_1.md
243
+ - doc/release_notes/1_0_2.md
244
+ - doc/release_notes/1_1_0.md
245
+ - doc/release_notes/1_1_1.md
246
+ - doc/release_notes/1_1_2.md
247
+ - doc/release_notes/1_1_3.md
248
+ - doc/release_notes/1_1_4.md
249
+ - doc/release_notes/1_1_5.md
250
+ - doc/release_notes/1_2_0.md
251
+ - doc/release_notes/1_2_1.md
190
252
  - lib/httpx.rb
191
253
  - lib/httpx/adapters/datadog.rb
192
254
  - lib/httpx/adapters/faraday.rb
193
255
  - lib/httpx/adapters/sentry.rb
194
256
  - lib/httpx/adapters/webmock.rb
195
257
  - lib/httpx/altsvc.rb
258
+ - lib/httpx/base64.rb
196
259
  - lib/httpx/buffer.rb
197
260
  - lib/httpx/callbacks.rb
198
261
  - lib/httpx/chainable.rb
@@ -211,39 +274,34 @@ files:
211
274
  - lib/httpx/loggable.rb
212
275
  - lib/httpx/options.rb
213
276
  - lib/httpx/parser/http1.rb
214
- - lib/httpx/plugins/authentication.rb
215
- - lib/httpx/plugins/authentication/basic.rb
216
- - lib/httpx/plugins/authentication/digest.rb
217
- - lib/httpx/plugins/authentication/ntlm.rb
218
- - lib/httpx/plugins/authentication/socks5.rb
277
+ - lib/httpx/plugins/auth.rb
278
+ - lib/httpx/plugins/auth/basic.rb
279
+ - lib/httpx/plugins/auth/digest.rb
280
+ - lib/httpx/plugins/auth/ntlm.rb
281
+ - lib/httpx/plugins/auth/socks5.rb
219
282
  - lib/httpx/plugins/aws_sdk_authentication.rb
220
283
  - lib/httpx/plugins/aws_sigv4.rb
221
- - lib/httpx/plugins/basic_authentication.rb
284
+ - lib/httpx/plugins/basic_auth.rb
285
+ - lib/httpx/plugins/brotli.rb
286
+ - lib/httpx/plugins/callbacks.rb
222
287
  - lib/httpx/plugins/circuit_breaker.rb
223
288
  - lib/httpx/plugins/circuit_breaker/circuit.rb
224
289
  - lib/httpx/plugins/circuit_breaker/circuit_store.rb
225
- - lib/httpx/plugins/compression.rb
226
- - lib/httpx/plugins/compression/brotli.rb
227
- - lib/httpx/plugins/compression/deflate.rb
228
- - lib/httpx/plugins/compression/gzip.rb
229
290
  - lib/httpx/plugins/cookies.rb
230
291
  - lib/httpx/plugins/cookies/cookie.rb
231
292
  - lib/httpx/plugins/cookies/jar.rb
232
293
  - lib/httpx/plugins/cookies/set_cookie_parser.rb
233
- - lib/httpx/plugins/digest_authentication.rb
294
+ - lib/httpx/plugins/digest_auth.rb
234
295
  - lib/httpx/plugins/expect.rb
235
296
  - lib/httpx/plugins/follow_redirects.rb
236
297
  - lib/httpx/plugins/grpc.rb
237
298
  - lib/httpx/plugins/grpc/call.rb
299
+ - lib/httpx/plugins/grpc/grpc_encoding.rb
238
300
  - lib/httpx/plugins/grpc/message.rb
239
301
  - lib/httpx/plugins/h2c.rb
240
302
  - lib/httpx/plugins/internal_telemetry.rb
241
- - lib/httpx/plugins/multipart.rb
242
- - lib/httpx/plugins/multipart/decoder.rb
243
- - lib/httpx/plugins/multipart/encoder.rb
244
- - lib/httpx/plugins/multipart/mime_type_detector.rb
245
- - lib/httpx/plugins/multipart/part.rb
246
- - lib/httpx/plugins/ntlm_authentication.rb
303
+ - lib/httpx/plugins/ntlm_auth.rb
304
+ - lib/httpx/plugins/oauth.rb
247
305
  - lib/httpx/plugins/persistent.rb
248
306
  - lib/httpx/plugins/proxy.rb
249
307
  - lib/httpx/plugins/proxy/http.rb
@@ -253,8 +311,10 @@ files:
253
311
  - lib/httpx/plugins/push_promise.rb
254
312
  - lib/httpx/plugins/rate_limiter.rb
255
313
  - lib/httpx/plugins/response_cache.rb
314
+ - lib/httpx/plugins/response_cache/file_store.rb
256
315
  - lib/httpx/plugins/response_cache/store.rb
257
316
  - lib/httpx/plugins/retries.rb
317
+ - lib/httpx/plugins/ssrf_filter.rb
258
318
  - lib/httpx/plugins/stream.rb
259
319
  - lib/httpx/plugins/upgrade.rb
260
320
  - lib/httpx/plugins/upgrade/h2.rb
@@ -262,8 +322,8 @@ files:
262
322
  - lib/httpx/pmatch_extensions.rb
263
323
  - lib/httpx/pool.rb
264
324
  - lib/httpx/punycode.rb
265
- - lib/httpx/registry.rb
266
325
  - lib/httpx/request.rb
326
+ - lib/httpx/request/body.rb
267
327
  - lib/httpx/resolver.rb
268
328
  - lib/httpx/resolver/https.rb
269
329
  - lib/httpx/resolver/multi.rb
@@ -271,6 +331,8 @@ files:
271
331
  - lib/httpx/resolver/resolver.rb
272
332
  - lib/httpx/resolver/system.rb
273
333
  - lib/httpx/response.rb
334
+ - lib/httpx/response/body.rb
335
+ - lib/httpx/response/buffer.rb
274
336
  - lib/httpx/selector.rb
275
337
  - lib/httpx/session.rb
276
338
  - lib/httpx/session2.rb
@@ -279,11 +341,22 @@ files:
279
341
  - lib/httpx/transcoder.rb
280
342
  - lib/httpx/transcoder/body.rb
281
343
  - lib/httpx/transcoder/chunker.rb
344
+ - lib/httpx/transcoder/deflate.rb
282
345
  - lib/httpx/transcoder/form.rb
346
+ - lib/httpx/transcoder/gzip.rb
283
347
  - lib/httpx/transcoder/json.rb
348
+ - lib/httpx/transcoder/multipart.rb
349
+ - lib/httpx/transcoder/multipart/decoder.rb
350
+ - lib/httpx/transcoder/multipart/encoder.rb
351
+ - lib/httpx/transcoder/multipart/mime_type_detector.rb
352
+ - lib/httpx/transcoder/multipart/part.rb
353
+ - lib/httpx/transcoder/utils/body_reader.rb
354
+ - lib/httpx/transcoder/utils/deflater.rb
355
+ - lib/httpx/transcoder/utils/inflater.rb
284
356
  - lib/httpx/transcoder/xml.rb
285
357
  - lib/httpx/utils.rb
286
358
  - lib/httpx/version.rb
359
+ - sig/altsvc.rbs
287
360
  - sig/buffer.rbs
288
361
  - sig/callbacks.rbs
289
362
  - sig/chainable.rbs
@@ -295,32 +368,38 @@ files:
295
368
  - sig/headers.rbs
296
369
  - sig/httpx.rbs
297
370
  - sig/io.rbs
371
+ - sig/io/ssl.rbs
372
+ - sig/io/tcp.rbs
373
+ - sig/io/udp.rbs
374
+ - sig/io/unix.rbs
298
375
  - sig/loggable.rbs
299
376
  - sig/options.rbs
300
377
  - sig/parser/http1.rbs
301
- - sig/plugins/authentication.rbs
302
- - sig/plugins/authentication/basic.rbs
303
- - sig/plugins/authentication/digest.rbs
304
- - sig/plugins/authentication/ntlm.rbs
305
- - sig/plugins/authentication/socks5.rbs
378
+ - sig/plugins/auth.rbs
379
+ - sig/plugins/auth/basic.rbs
380
+ - sig/plugins/auth/digest.rbs
381
+ - sig/plugins/auth/ntlm.rbs
382
+ - sig/plugins/auth/socks5.rbs
306
383
  - sig/plugins/aws_sdk_authentication.rbs
307
384
  - sig/plugins/aws_sigv4.rbs
308
- - sig/plugins/basic_authentication.rbs
385
+ - sig/plugins/basic_auth.rbs
386
+ - sig/plugins/brotli.rbs
387
+ - sig/plugins/callbacks.rbs
309
388
  - sig/plugins/circuit_breaker.rbs
310
389
  - sig/plugins/compression.rbs
311
- - sig/plugins/compression/brotli.rbs
312
- - sig/plugins/compression/deflate.rbs
313
- - sig/plugins/compression/gzip.rbs
314
390
  - sig/plugins/cookies.rbs
315
391
  - sig/plugins/cookies/cookie.rbs
316
392
  - sig/plugins/cookies/jar.rbs
317
- - sig/plugins/digest_authentication.rbs
393
+ - sig/plugins/digest_auth.rbs
318
394
  - sig/plugins/expect.rbs
319
395
  - sig/plugins/follow_redirects.rbs
320
396
  - sig/plugins/grpc.rbs
397
+ - sig/plugins/grpc/call.rbs
398
+ - sig/plugins/grpc/grpc_encoding.rbs
399
+ - sig/plugins/grpc/message.rbs
321
400
  - sig/plugins/h2c.rbs
322
- - sig/plugins/multipart.rbs
323
- - sig/plugins/ntlm_authentication.rbs
401
+ - sig/plugins/ntlm_auth.rbs
402
+ - sig/plugins/oauth.rbs
324
403
  - sig/plugins/persistent.rbs
325
404
  - sig/plugins/proxy.rbs
326
405
  - sig/plugins/proxy/http.rbs
@@ -334,8 +413,8 @@ files:
334
413
  - sig/plugins/stream.rbs
335
414
  - sig/plugins/upgrade.rbs
336
415
  - sig/pool.rbs
337
- - sig/registry.rbs
338
416
  - sig/request.rbs
417
+ - sig/request/body.rbs
339
418
  - sig/resolver.rbs
340
419
  - sig/resolver/https.rbs
341
420
  - sig/resolver/multi.rbs
@@ -343,24 +422,32 @@ files:
343
422
  - sig/resolver/resolver.rbs
344
423
  - sig/resolver/system.rbs
345
424
  - sig/response.rbs
425
+ - sig/response/body.rbs
426
+ - sig/response/buffer.rbs
346
427
  - sig/selector.rbs
347
428
  - sig/session.rbs
348
429
  - sig/timers.rbs
349
430
  - sig/transcoder.rbs
350
431
  - sig/transcoder/body.rbs
351
432
  - sig/transcoder/chunker.rbs
433
+ - sig/transcoder/deflate.rbs
352
434
  - sig/transcoder/form.rbs
435
+ - sig/transcoder/gzip.rbs
353
436
  - sig/transcoder/json.rbs
437
+ - sig/transcoder/multipart.rbs
438
+ - sig/transcoder/utils/body_reader.rbs
439
+ - sig/transcoder/utils/deflater.rbs
440
+ - sig/transcoder/utils/inflater.rbs
354
441
  - sig/transcoder/xml.rbs
355
442
  - sig/utils.rbs
356
- homepage: https://gitlab.com/honeyryderchuck/httpx
443
+ homepage: https://gitlab.com/os85/httpx
357
444
  licenses:
358
445
  - Apache 2.0
359
446
  metadata:
360
- bug_tracker_uri: https://gitlab.com/honeyryderchuck/httpx/issues
447
+ bug_tracker_uri: https://gitlab.com/os85/httpx/issues
361
448
  changelog_uri: https://honeyryderchuck.gitlab.io/httpx/#release-notes
362
449
  documentation_uri: https://honeyryderchuck.gitlab.io/httpx/rdoc/
363
- source_code_uri: https://gitlab.com/honeyryderchuck/httpx
450
+ source_code_uri: https://gitlab.com/os85/httpx
364
451
  homepage_uri: https://honeyryderchuck.gitlab.io/httpx/
365
452
  rubygems_mfa_required: 'true'
366
453
  post_install_message:
@@ -371,14 +458,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
371
458
  requirements:
372
459
  - - ">="
373
460
  - !ruby/object:Gem::Version
374
- version: '0'
461
+ version: 2.7.0
375
462
  required_rubygems_version: !ruby/object:Gem::Requirement
376
463
  requirements:
377
464
  - - ">="
378
465
  - !ruby/object:Gem::Version
379
466
  version: '0'
380
467
  requirements: []
381
- rubygems_version: 3.3.7
468
+ rubygems_version: 3.4.10
382
469
  signing_key:
383
470
  specification_version: 4
384
471
  summary: HTTPX, to the future, and beyond
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module HTTPX
4
- module Plugins
5
- #
6
- # This plugin adds a shim +authentication+ method to the session, which will fill
7
- # the HTTP Authorization header.
8
- #
9
- # https://gitlab.com/honeyryderchuck/httpx/wikis/Authentication#authentication
10
- #
11
- module Authentication
12
- module InstanceMethods
13
- def authentication(token)
14
- with(headers: { "authorization" => token })
15
- end
16
- end
17
- end
18
- register_plugin :authentication, Authentication
19
- end
20
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module HTTPX
4
- module Plugins
5
- #
6
- # This plugin adds helper methods to implement HTTP Basic Auth (https://tools.ietf.org/html/rfc7617)
7
- #
8
- # https://gitlab.com/honeyryderchuck/httpx/wikis/Authentication#basic-authentication
9
- #
10
- module BasicAuth
11
- class << self
12
- def load_dependencies(_klass)
13
- require_relative "authentication/basic"
14
- end
15
-
16
- def configure(klass)
17
- klass.plugin(:authentication)
18
- end
19
- end
20
-
21
- module InstanceMethods
22
- def basic_auth(user, password)
23
- authentication(Authentication::Basic.new(user, password).authenticate)
24
- end
25
- alias_method :basic_authentication, :basic_auth
26
- end
27
- end
28
- register_plugin :basic_authentication, BasicAuth
29
- end
30
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module HTTPX
4
- module Plugins
5
- module Compression
6
- module Brotli
7
- class << self
8
- def load_dependencies(_klass)
9
- require "brotli"
10
- end
11
-
12
- def configure(klass)
13
- klass.plugin(:compression)
14
- klass.default_options.encodings.register "br", self
15
- end
16
- end
17
-
18
- module Deflater
19
- module_function
20
-
21
- def deflate(raw, buffer = "".b, chunk_size: 16_384)
22
- while (chunk = raw.read(chunk_size))
23
- compressed = ::Brotli.deflate(chunk)
24
- buffer << compressed
25
- yield compressed if block_given?
26
- end
27
- buffer
28
- end
29
- end
30
-
31
- class Inflater
32
- def initialize(bytesize)
33
- @bytesize = bytesize
34
- end
35
-
36
- def inflate(chunk)
37
- ::Brotli.inflate(chunk)
38
- end
39
- end
40
-
41
- module_function
42
-
43
- def deflater
44
- Deflater
45
- end
46
-
47
- def inflater(bytesize)
48
- Inflater.new(bytesize)
49
- end
50
- end
51
- end
52
- register_plugin :"compression/brotli", Compression::Brotli
53
- end
54
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module HTTPX
4
- module Plugins
5
- module Compression
6
- module Deflate
7
- def self.load_dependencies(_klass)
8
- require "stringio"
9
- require "zlib"
10
- end
11
-
12
- def self.configure(klass)
13
- klass.plugin(:"compression/gzip")
14
- klass.default_options.encodings.register "deflate", self
15
- end
16
-
17
- module Deflater
18
- module_function
19
-
20
- def deflate(raw, buffer = "".b, chunk_size: 16_384)
21
- deflater = Zlib::Deflate.new
22
- while (chunk = raw.read(chunk_size))
23
- compressed = deflater.deflate(chunk)
24
- buffer << compressed
25
- yield compressed if block_given?
26
- end
27
- last = deflater.finish
28
- buffer << last
29
- yield last if block_given?
30
- buffer
31
- ensure
32
- deflater.close if deflater
33
- end
34
- end
35
-
36
- module_function
37
-
38
- def deflater
39
- Deflater
40
- end
41
-
42
- def inflater(bytesize)
43
- GZIP::Inflater.new(bytesize)
44
- end
45
- end
46
- end
47
- register_plugin :"compression/deflate", Compression::Deflate
48
- end
49
- end
@@ -1,88 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "forwardable"
4
-
5
- module HTTPX
6
- module Plugins
7
- module Compression
8
- module GZIP
9
- def self.load_dependencies(*)
10
- require "zlib"
11
- end
12
-
13
- def self.configure(klass)
14
- klass.default_options.encodings.register "gzip", self
15
- end
16
-
17
- class Deflater
18
- def initialize
19
- @compressed_chunk = "".b
20
- end
21
-
22
- def deflate(raw, buffer = "".b, chunk_size: 16_384)
23
- gzip = Zlib::GzipWriter.new(self)
24
-
25
- begin
26
- while (chunk = raw.read(chunk_size))
27
- gzip.write(chunk)
28
- gzip.flush
29
- compressed = compressed_chunk
30
- buffer << compressed
31
- yield compressed if block_given?
32
- end
33
- ensure
34
- gzip.close
35
- end
36
-
37
- return unless (compressed = compressed_chunk)
38
-
39
- buffer << compressed
40
- yield compressed if block_given?
41
- buffer
42
- end
43
-
44
- private
45
-
46
- def write(chunk)
47
- @compressed_chunk << chunk
48
- end
49
-
50
- def compressed_chunk
51
- @compressed_chunk.dup
52
- ensure
53
- @compressed_chunk.clear
54
- end
55
- end
56
-
57
- class Inflater
58
- def initialize(bytesize)
59
- @inflater = Zlib::Inflate.new(32 + Zlib::MAX_WBITS)
60
- @bytesize = bytesize
61
- @buffer = nil
62
- end
63
-
64
- def inflate(chunk)
65
- buffer = @inflater.inflate(chunk)
66
- @bytesize -= chunk.bytesize
67
- if @bytesize <= 0
68
- buffer << @inflater.finish
69
- @inflater.close
70
- end
71
- buffer
72
- end
73
- end
74
-
75
- module_function
76
-
77
- def deflater
78
- Deflater.new
79
- end
80
-
81
- def inflater(bytesize)
82
- Inflater.new(bytesize)
83
- end
84
- end
85
- end
86
- register_plugin :"compression/gzip", Compression::GZIP
87
- end
88
- end