Don't add content-length header.
#347
Open
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.finishmodifies the response, and in Rack 3.1 it can addcontent-lengthwhich in some cases is unexpected.Rails is trying to test “streaming” -
#eachwithout#to_ary- and it’s tricky.The above code comes from
Rack::Test::Session. The problem is, it addscontent-lengthheader 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#finishwas 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-lengthwe can add it… and we do in that case. So, mayberack-testshould not invoke#finish?