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
Streaming Server #1876
Streaming Server #1876
Conversation
…nger be supported. Chunked mode is now autodetected, so do not put content-length header if chunked mode is preferred.
…), all requests made streaming. A few compatibility issues and a lot of cleanup to be done remain, 16 tests failing.
…timeout=<value> which wasn't the case with existing implementation, and secondly none of the other web servers I tried include this header.
…led. Rewritten using receive_body and case switching to make it fail if bypassed.
@huge-success/sanic-core-devs Please take a look at this one. I'd like to get this merged by the end of the weekend. Even if it is not 100% perfect and release worthy, I want to get this merged because of the large number of changes that it entails. Having it merged into |
This pull request has been mentioned on Sanic Community Discussion. There might be relevant details there: https://community.sanicframework.org/t/new-streaming-api-and-other-major-changes/518/15 |
This pull request has been mentioned on Sanic Community Discussion. There might be relevant details there: https://community.sanicframework.org/t/2021-release-managers-and-updates/781/1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll handle these. When done, I want to merge. @sanic-org/sanic-core-devs any other thoughts before I do so?
Just looking over these merged changes now, to learn how Sanic works at a low level now. I have noticed it looks like there is a possibility for the Request Middleware to run twice on a request. If the main handler encounters an exception after running the middleware, then the exception handler will execute and run the request middleware again. Edit: |
Yeah. That is the purpose of it. I think eventually I want to get rid of it and not have to carry that state trigger (there is not a similar one for response). |
This pull request has been mentioned on Sanic Community Discussion. There might be relevant details there: |
Moved from #1791
A plain Python reimplementation of Sanic's built-in server and related restructuring also in ASGI backend and in response handling. Includes first-class support for streaming, improved performance and better ground for further development.
By the sheer volume of it, it also brings some breaking changes like the removal of custom protocol support but typical applications that do not do anything special with the server's internals should remain mostly unaffected.
Installation:
Issues of current git master, resolved in this:
Fix #1653
Fix #1722
Fix #1730
Fix #1749
Fix #1785
Fix #1790
Fix #1804
Fix #1824
Fix #1875
Fix #1988