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.
@last_response.finish
modifies the response, and in Rack 3.1 it can addcontent-length
which in some cases is unexpected.Rails is trying to test “streaming” -
#each
without#to_ary
- and it’s tricky.The above code comes from
Rack::Test::Session
. The problem is, it addscontent-length
header which was not present in the original response. It’s reasonable to do that if you are dealing with an actual response… But rails is interested in what was returned by the application - not some normalised “response”.Maybe the change to
Rack::Response#finish
was problematic: rack/rack#2149test.rb
:3-0-stable
:3-1-stable
:I actually don’t think the latter behaviour is bad - if we know the
content-length
we can add it… and we do in that case. So, mayberack-test
should not invoke#finish
?