down
down copied to clipboard
Streaming downloads using Net::HTTP, http.rb or HTTPX
I believe I've run into an edge case... Try `Down.download('https://www.adjustmentdecisionfold.cloud/apple-touch-icon.png')`. I would expect it to raise a type of `Down::ResponseError`. However, it runs into a `NoMethodError` trying to raise the...
In the current implementation, `Down::ChunkedIO` has a very curious piece of behaviour where it deliberately ignores requested character encoding in `#read` if and only if a read length is given....
We are using Shrine for handling large CSV uploads that are then stream-processed. We have a progress meter for this which works off the underlying IO object's `#pos` values. For...
I found already this issue (#44 ) but I'm using active storage in this case with a S3 back-end. So the proposed fix is not useful to me. What I'm...
I am trying to read a 2GB+ files in chunks. However, when I read the file in chunks with remote_file.read(1024*1024*50), in order to return chunks of 50MB at a time,...
We ran into this issue out in the wild. Downloading from https://emma.msrb.org/ER886357.pdf, the Content-Disposition header is set to: "inline; filename=ER886357.pdf; creation-date=9/17/2012 1:51:37 PM; modification-date=9/17/2012 1:51:37 PM; size=3718678" Using the method...
There is now a flag `auth_on_redirect` that can be set if you need to pass authorization headers. This is similar to https://curl.se/docs/CVE-2018-1000007.html and https://nvd.nist.gov/vuln/detail/CVE-2021-31879
``` u = https://calendars.icloud.com/holidays/us_en-us.ics/ # This works as expected Net::HTTP.get_response(URI.parse(u)).body #> "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:icalendar-ruby\r\nCALSCALE... # This yields a gzipped body io = Down::NetHttp.open(request_url, rewindable: false) io.gets > "\u001F\x8B\b\u0000\u0000\u0000\u0000\u0000\u0000\u000... ``` I know that...