-
-
Notifications
You must be signed in to change notification settings - Fork 947
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WIP - DO NOT MERGE] feat: ASGI support
This patch adds the much-anticipated async support to Falcon by way of a new ASGI interface, additional testing helpers, and updated internals. Note that only the HTTP ASGI interface is implemented. WebSocket support is planned to follow. I still need to get this to 100% test coverage before we can do a final review and merge. Docs will arrive in a follow-up patch once we think the implementation is ready to merge. Changelog snippets will be added in a separate patch or a revision of this one (TBD). In order to reconcile differences between the WSGI and ASGI interfaces, several breaking changes were made in this patch, as follows: BREAKING CHANGE: create_environ no longer sets a default user agent header BREAKING CHANGE: Renamed `protocol` kwarg for create_environ() to `http_version` and also the renamed kwarg only takes the version string (no longer prefixed with "HTTP/") BREAKING CHANGE: Renamed `app` kwarg for create_environ() to `root_path`. and deprecated, may be removed in a future release. BREAKING CHANGE: get_http_status() is deprecated, no longer accepts floats BREAKING CHANGE: BoundedStream.writeable() changed to writable() per the standard file-like I/O interface (the old name was a misspelling). BREAKING CHANGE: api_helpers.prepare_middleware() no longer accepts a single object; the value that is passed must be an iterable. BREAKING CHANGE: Removed outer "finally" block from API and APP; add an exception handler for the base Exception type if you need to deal with unhandled exceptions. BREAKING CHANGE: falcon.request.access_route will now include the value of the remote_addr property as the last element in the route, if not already present in one of the headers that are checked. BREAKING CHANGE: When the 'REMOTE_ADDR' field is not present in the WSGI environ, Falcon will assume '127.0.0.1' for the value, rather than simply returning `None` for Request.remote_addr.
- Loading branch information
Showing
92 changed files
with
7,137 additions
and
1,181 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,7 @@ lib64 | |
parts | ||
sdist | ||
var | ||
pip-wheel-metadata | ||
|
||
# Installer logs | ||
pip-log.txt | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.