Workaround for 'undefined method closed?' error caused by ssrf_filter 1.1
Closes #2628
This commit is contained in:
parent
9d03bcd3c1
commit
65bf0d9475
|
@ -35,7 +35,9 @@ module CarrierWave
|
||||||
request = req
|
request = req
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
response = SsrfFilter.get(uri, headers: headers, request_proc: ->(req) { request = req })
|
response = SsrfFilter.get(uri, headers: headers, request_proc: ->(req) { request = req }) do |res|
|
||||||
|
res.body # ensure to read body
|
||||||
|
end
|
||||||
end
|
end
|
||||||
response.uri = request.uri
|
response.uri = request.uri
|
||||||
response.value
|
response.value
|
||||||
|
|
|
@ -156,6 +156,16 @@ describe CarrierWave::Downloader::Base do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when actually downloading a file' do
|
||||||
|
let(:uri) { 'https://raw.githubusercontent.com/carrierwaveuploader/carrierwave/master/spec/fixtures/test.jpg' }
|
||||||
|
before { WebMock.disable! }
|
||||||
|
after { WebMock.enable! }
|
||||||
|
|
||||||
|
it 'retrieves the body successfully' do
|
||||||
|
expect(subject.download(uri).file.read).to eq 'this is stuff'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '#process_uri' do
|
describe '#process_uri' do
|
||||||
it "converts a URL with internationalized domain name to Punycode URI" do
|
it "converts a URL with internationalized domain name to Punycode URI" do
|
||||||
uri = "http://ドメイン名例.jp/#{CGI.escape(filename)}"
|
uri = "http://ドメイン名例.jp/#{CGI.escape(filename)}"
|
||||||
|
|
Loading…
Reference in New Issue