-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable request body streaming #12
Commits on May 1, 2017
-
Allow any IO object in FormData::File
Previously we allowed only File and StringIO objects as an input to FormData::File, but we can generalize that to any IO object that responds to #read and #size (which includes Tempfile, ActionDispatch::Http::UploadedFile etc).
Configuration menu - View commit details
-
Copy full SHA for aa48de1 - Browse repository at this point
Copy the full SHA aa48de1View commit details -
Open File for given path in binary mode
That way different operating systems won't attempt to convert newline characters to their internal representation, instead the file content will always be retrieved byte-for-byte as is.
Configuration menu - View commit details
-
Copy full SHA for bddb450 - Browse repository at this point
Copy the full SHA bddb450View commit details -
Officially support Pathname in FormData::File.new
Previously Pathname was implicitly supported, though extracting filename wasn't working. With the recent refactoring this stopped working, so we make the Pathname support explicit.
Configuration menu - View commit details
-
Copy full SHA for 829936f - Browse repository at this point
Copy the full SHA 829936fView commit details
Commits on May 2, 2017
-
Make all components into IO objects
By changing all components to use an IO object as a base, we can implement a common IO interface for all components, which delegates to the underlying IO object. This enables streaming multipart data into the request body, avoiding loading the whole multipart data into memory when File parts are backed by File objects. See httprb/http#409 for the new streaming API.
Configuration menu - View commit details
-
Copy full SHA for fc84d5f - Browse repository at this point
Copy the full SHA fc84d5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9298959 - Browse repository at this point
Copy the full SHA 9298959View commit details -
Make CompositeIO convert strings to StringIOs
By delegating handling strings to CompositeIO we can remove a lot of the StringIO.new clutter when instantiating CompositeIO objects.
Configuration menu - View commit details
-
Copy full SHA for 22af98d - Browse repository at this point
Copy the full SHA 22af98dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9c4cef - Browse repository at this point
Copy the full SHA e9c4cefView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32be2d3 - Browse repository at this point
Copy the full SHA 32be2d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41f0b40 - Browse repository at this point
Copy the full SHA 41f0b40View commit details
Commits on May 3, 2017
-
Increase maximum allowed complexity in Rubocop
We increase it for FormData::CompositeIO#read.
Configuration menu - View commit details
-
Copy full SHA for 42e44cd - Browse repository at this point
Copy the full SHA 42e44cdView commit details
Commits on May 7, 2017
-
Use a buffer when reading IO files in CompositeIO
This way we're not creating a new string for each chunk read, instead each chunk will be read into an existing string object (a "buffer"), replacing any previous content.
Configuration menu - View commit details
-
Copy full SHA for 7abde00 - Browse repository at this point
Copy the full SHA 7abde00View commit details
Commits on May 8, 2017
-
Configuration menu - View commit details
-
Copy full SHA for ad1dbef - Browse repository at this point
Copy the full SHA ad1dbefView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9153140 - Browse repository at this point
Copy the full SHA 9153140View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43bff5b - Browse repository at this point
Copy the full SHA 43bff5bView commit details