fix close call propagation of response in asgi/wsgi bridge #8926
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.
Motivation
During the implementation of the new S3 provider, we noticed that
Response.close
is never called on the werkzeug response, and therefore not propagated to other underlying objects. The test I added worked when serving it directly through the werkzeug server, and I found it's calling close here, whereapplication_iter
is theResponse
object.We actually had no analogous call in our ASGI/WSGI bridge, so this PR adds that.
Changes
aclose
to the underlyingclose
method.I was briefly worried that this may break
test_chunked_transfer_encoding_client_timeout
but seems to still work, so althoughaclose
is overwritten, it propagates theGeneratorExit
exception correctly 👍