down 5.4.0 → 5.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +0 -11
- data/lib/down/httpx.rb +2 -2
- data/lib/down/net_http.rb +3 -2
- data/lib/down/utils.rb +1 -1
- data/lib/down/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5e25eaeebd866fe407bcb39282937568f1c5489feb0b3ac479d92c2b19d8920c
|
|
4
|
+
data.tar.gz: 151e9d28039d7698a32e25ff7b1dae39c32e871ed295809f11a586c5f6221bcc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ee68adf94333adcb92f9453ec0c65e23437458e6586f0078471ba8b5691d3ca0b5e377656a16fb6750ee585f255cd5af38218dbf873fd6b7e5e9ec1997a8997
|
|
7
|
+
data.tar.gz: 49f80f1b039ba67e86e1515aac927382249f2bdca33cb8d71e8be8753d82d6f69c56d010be4521c2e661a51662adb698478348949fc01ac22e1419212cfc640c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 5.4.1 (2023-05-20)
|
|
2
|
+
|
|
3
|
+
* Handle additional params in `Content-Disposition` header (@janko)
|
|
4
|
+
|
|
5
|
+
* Add ability to detect response URI when using net/http (@aglushkov)
|
|
6
|
+
|
|
7
|
+
* Avoid deprecation warning in HTTPX (@ollym)
|
|
8
|
+
|
|
9
|
+
* Handle unknown response status in net/http backend (@janko)
|
|
10
|
+
|
|
1
11
|
## 5.4.0 (2022-12-26)
|
|
2
12
|
|
|
3
13
|
* Add new HTTPX backend, which supports HTTP/2 protocol among other features (@HoneyryderChuck)
|
data/README.md
CHANGED
|
@@ -511,17 +511,6 @@ wget.download("http://nature.com/forest.jpg")
|
|
|
511
511
|
wget.open("http://nature.com/forest.jpg")
|
|
512
512
|
```
|
|
513
513
|
|
|
514
|
-
## Supported Ruby versions
|
|
515
|
-
|
|
516
|
-
* MRI 2.3
|
|
517
|
-
* MRI 2.4
|
|
518
|
-
* MRI 2.5
|
|
519
|
-
* MRI 2.6
|
|
520
|
-
* MRI 2.7
|
|
521
|
-
* MRI 3.0
|
|
522
|
-
* MRI 3.1
|
|
523
|
-
* JRuby 9.3
|
|
524
|
-
|
|
525
514
|
## Development
|
|
526
515
|
|
|
527
516
|
Tests require that a [httpbin] server is running locally, which you can do via Docker:
|
data/lib/down/httpx.rb
CHANGED
|
@@ -128,7 +128,7 @@ module Down
|
|
|
128
128
|
end
|
|
129
129
|
client = block.call(client) if block
|
|
130
130
|
|
|
131
|
-
client.request(method, uri, stream: true, **options)
|
|
131
|
+
client.request(method.to_s.upcase, uri, stream: true, **options)
|
|
132
132
|
rescue => exception
|
|
133
133
|
request_error!(exception)
|
|
134
134
|
end
|
|
@@ -172,4 +172,4 @@ module Down
|
|
|
172
172
|
end
|
|
173
173
|
end
|
|
174
174
|
end
|
|
175
|
-
end
|
|
175
|
+
end
|
data/lib/down/net_http.rb
CHANGED
|
@@ -270,7 +270,7 @@ module Down
|
|
|
270
270
|
headers = options[:headers].to_h
|
|
271
271
|
headers["Accept-Encoding"] = "" # Net::HTTP's inflater causes FiberErrors
|
|
272
272
|
|
|
273
|
-
get = Net::HTTP::Get.new(uri
|
|
273
|
+
get = Net::HTTP::Get.new(uri, headers)
|
|
274
274
|
|
|
275
275
|
user, password = options[:http_basic_authentication] || [uri.user, uri.password]
|
|
276
276
|
get.basic_auth(user, password) if user || password
|
|
@@ -312,13 +312,14 @@ module Down
|
|
|
312
312
|
# rebuild the Net::HTTP response object.
|
|
313
313
|
def rebuild_response_from_open_uri_exception(exception)
|
|
314
314
|
code, message = exception.io.status
|
|
315
|
+
message ||= "Unknown"
|
|
315
316
|
|
|
316
317
|
response_class = Net::HTTPResponse::CODE_TO_OBJ.fetch(code) do |c|
|
|
317
318
|
Net::HTTPResponse::CODE_CLASS_TO_OBJ.fetch(c[0]) do
|
|
318
319
|
Net::HTTPUnknownResponse
|
|
319
320
|
end
|
|
320
321
|
end
|
|
321
|
-
response
|
|
322
|
+
response = response_class.new(nil, code, message)
|
|
322
323
|
|
|
323
324
|
exception.io.metas.each do |name, values|
|
|
324
325
|
values.each { |value| response.add_field(name, value) }
|
data/lib/down/utils.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Down
|
|
|
11
11
|
escaped_filename =
|
|
12
12
|
content_disposition[/filename\*=UTF-8''(\S+)/, 1] ||
|
|
13
13
|
content_disposition[/filename="([^"]*)"/, 1] ||
|
|
14
|
-
content_disposition[/filename=(
|
|
14
|
+
content_disposition[/filename=([^\s;]+)/, 1]
|
|
15
15
|
|
|
16
16
|
filename = CGI.unescape(escaped_filename.to_s)
|
|
17
17
|
|
data/lib/down/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: down
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.4.
|
|
4
|
+
version: 5.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Janko Marohnić
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: addressable
|
|
@@ -182,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
182
182
|
- !ruby/object:Gem::Version
|
|
183
183
|
version: '0'
|
|
184
184
|
requirements: []
|
|
185
|
-
rubygems_version: 3.4.
|
|
185
|
+
rubygems_version: 3.4.12
|
|
186
186
|
signing_key:
|
|
187
187
|
specification_version: 4
|
|
188
188
|
summary: Robust streaming downloads using Net::HTTP, HTTP.rb or wget.
|