Fix MethodOverride EOFError failure #1137
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Invalid multipart params should not bubble an error out of the middleware stack and cause the whole stack to fail, especially not when the middleware in question is just checking to see if there is a method override parameter.
Instead of failing outright and requiring additional middleware to capture and handle the
EOFError
raised byRack::Multipart::Parser
, this pull changes theRack::MethodOverride
middleware to record the error and move on. Based on similar behavior found inRack::Sendfile
, this change writes the errors toenv[RACK_ERRORS]
.For users who want the error to bubble or want to handle the invalid multipart params differently, an additional/custom middleware would be the appropriate solution instead of relying on a side effect of
MethodOverride
.Fixes #903