File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
lib/carrierwave/downloader Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -35,7 +35,9 @@ def download(url, remote_headers = {})
35
35
request = req
36
36
end
37
37
else
38
- response = SsrfFilter . get ( uri , headers : headers , request_proc : -> ( req ) { request = req } )
38
+ response = SsrfFilter . get ( uri , headers : headers , request_proc : -> ( req ) { request = req } ) do |res |
39
+ res . body # ensure to read body
40
+ end
39
41
end
40
42
response . uri = request . uri
41
43
response . value
Original file line number Diff line number Diff line change 156
156
end
157
157
end
158
158
159
+ context 'when actually downloading a file' do
160
+ let ( :uri ) { 'https://raw.githubusercontent.com/carrierwaveuploader/carrierwave/master/spec/fixtures/test.jpg' }
161
+ before { WebMock . disable! }
162
+ after { WebMock . enable! }
163
+
164
+ it 'retrieves the body successfully' do
165
+ expect ( subject . download ( uri ) . file . read ) . to eq 'this is stuff'
166
+ end
167
+ end
168
+
159
169
describe '#process_uri' do
160
170
it "converts a URL with internationalized domain name to Punycode URI" do
161
171
uri = "http://ドメイン名例.jp/#{ CGI . escape ( filename ) } "
You can’t perform that action at this time.
0 commit comments