Commit Graph

323 Commits

Author SHA1 Message Date
Jordan Eremieff f4fe0ec312 Name changes (#55)
* Rename View -> HTTPEndpoint

* Rename views doc file -> endpoints

* Rename request/response files -> requests/responses, update imports, update docs

* Rename WebSocketSession -> WebSocket, rename session -> websocket in docs

* Full module imports in tests and source, removing imports from __init__ file

* Fix name in testclient doc
2018-09-05 10:29:04 +01:00
Tom Christie 9871fa6e30 Version 0.2.3 2018-09-04 11:54:04 +01:00
Tom Christie d6bc4b89ce Version 0.2.2 2018-09-04 11:53:06 +01:00
Tom Christie 67d95fcfa7
Exception handling (#54)
* Exception handling

* Black formatting

* Add exception handling to App

* Handle cases where exception raised but response already started

* Order exception handler lookup by class inheritance

* Handle 404/405 as responses without App, or exceptions with it.

* Only use TestClient(app, raise_exceptions=False) explicitly inside test cases

* Documentation for ExceptionMiddleware

* Drop error_handler/exception_handler distinction.

* Finesse and document TestClient(app, raise_server_exceptions=False)

* Refactoring to make debug responses easier to obtain from elsewhere in code

* Use named status_code argument in example

* Clean up raise_server_errors usage in tests

* Consistent title-casing in HTTP reason phrases

* Black formatting

* Add WebSocketClose close. Omit message-body on 204, 304 exception cases.

* Black formatting

* Add 'debug' flag to App and ExceptionMiddleware

* Support app.debug

* Document debug mode

* Documenting debug
2018-09-04 11:52:29 +01:00
Tom Christie 8245768f81
Use 405 for Method Not Allowed (#53) 2018-08-30 14:42:39 +01:00
Tom Christie 764b126839 Version 0.2.1 2018-08-30 13:54:24 +01:00
Tom Christie 0693a8f6c9
Class based views (#52)
* Renaming asgi_application, implementing CBV pattern, add_route method on router

* Refactor view to allow both sync/async methods

* Type hints for CBV

* Implement asgi decorator method directly in view class, remove classmethod

* Refactor CBV, remove router add_route method in favor of App.add_route method, tests, documentation

* Include tests

* Add support for class-based views
2018-08-30 13:53:37 +01:00
Tom Christie 4549d625f9 Make docs link more prominent 2018-08-29 11:33:59 +01:00
Tom Christie 6b6b818a00 Move documentation out of README 2018-08-29 11:31:32 +01:00
Tom Christie 2002eb1bd2 Drop licence footer from page content 2018-08-29 11:31:08 +01:00
Tom Christie 352ccda556 Update docs 2018-08-29 11:17:09 +01:00
Tom Christie 25990db22e Add mkdocs 2018-08-28 16:25:32 +01:00
Tom Christie 1bcf516d44 Fix typo 2018-08-28 16:24:18 +01:00
Jeff Buttars 774e78d269 Update test_client doc from README.md 2018-08-28 08:18:17 -06:00
Jeff Buttars 1f6fabc5e1 Add Applications docs to mkdocs 2018-08-28 08:11:53 -06:00
Jeff Buttars 9cfb1af592 Merge branch 'master' into mkdocs 2018-08-28 08:09:42 -06:00
Jeff Buttars bb6a8fb7c9 Initial conversion of README.md to mkdocs 2018-08-28 07:58:03 -06:00
Tom Christie 0b4acd4432 Version 0.2 2018-08-28 14:46:47 +01:00
Tom Christie 1e78ddb45c Black formatting 2018-08-28 14:45:50 +01:00
Tom Christie 779516a5ac Fixes to TestClient websocket docs 2018-08-28 14:45:23 +01:00
Tom Christie 2519f83765 client.wsconnect -> client.websocket_connect 2018-08-28 14:45:06 +01:00
Tom Christie 00a972c719
Add App class (#42)
* Add App class

* Black formatting

* Support kwargs in App routes

* Black formatting

* Use protocol based routing in app

* WebSocket close when no route found

* session.send(...), session.receive(...) for test client

* Support app.mount(prefix, app)

* Black formatting

* Black formatting

* Minor tweaks to websocket test client

* Add 'App' to README
2018-08-28 14:34:18 +01:00
Tom Christie 78fae57bc3 Update table of contents 2018-08-27 15:42:05 +01:00
Jeff Buttars 99fd15e380 Add a TOC to the repo README (#40) 2018-08-27 15:38:56 +01:00
Tom Christie 828ee47483
Drop asgi_application decorator (#41) 2018-08-27 15:38:44 +01:00
Tom Christie cb9fc8746b
Redirect response (#39)
* Minor Request cleanups

* Black formatting

* Add RedirectResponse

* Black formatting

* Clean up test_redirect_response test case
2018-08-27 14:51:24 +01:00
Tom Christie e937ddc3d5
Minor Request cleanups (#38)
* Minor Request cleanups

* Black formatting
2018-08-17 17:20:17 +01:00
Tom Christie 5d154ba06d Version 0.1.16 2018-08-17 16:40:40 +01:00
Tom Christie 6f948e95b4
WebSockets support (#37)
* WebSockets support

* WebSockets support

* WebSockets support

* Black formatting

* Add missing descriptions against websocket test session docs

* Add missing descriptions against websocket test session docs

* Add note on session.send() / session.receive()
2018-08-17 16:36:48 +01:00
Tom Christie 945543aeaf Merge branch 'master' of https://github.com/encode/starlette 2018-07-26 14:43:09 +01:00
Tom Christie 519463a987 Version 0.1.15 2018-07-26 14:43:02 +01:00
Simon Willison 37d9d00655 Correctly handle static files larger than 4096 bytes (#33)
* Fixed bug in FileResponse with files larger than 4096 bytes (single message chunk)
* Failing test for static file larger than 4096 bytes
2018-07-26 14:41:05 +01:00
Tom Christie 590db3d6ea Version 0.1.14 2018-07-18 15:42:59 +01:00
Tom Christie fef22a135a
Merge pull request #31 from encode/debug-middleware-improvements
Improvements to `DebugMiddleware`
2018-07-18 15:42:24 +01:00
Tom Christie 12d55a321a Show exceptions that occur during app init. Ignore non-http scopes. 2018-07-18 15:34:13 +01:00
Tom Christie 76f34de0cd Version 0.1.13 2018-07-18 13:14:42 +01:00
Tom Christie 156602d735
Merge pull request #28 from gbozee/master
Fixed encoding issues on windows
2018-07-18 13:14:12 +01:00
Tom Christie 757adb7c5b Version 0.1.12 2018-07-18 13:10:33 +01:00
Tom Christie 0d00b3c2bc
Merge pull request #29 from encode/debug-middleware
Add `DebugMiddleware`
2018-07-18 13:10:00 +01:00
Tom Christie ddc358f2a6 Black formatting 2018-07-18 13:08:06 +01:00
Tom Christie 9838af83ca Add DebugMiddleware 2018-07-18 13:04:14 +01:00
Abiola 50af72edc0
Fixed encoding issues on windows
Attempting to install the package on windows throws `UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 1549: character maps to <undefined>`

This is an attempted fix
2018-07-17 21:38:38 +01:00
Tom Christie bd127f9cc0
Merge pull request #26 from encode/raise-disconnect-exception-on-early-disconnect
Raise ClientDisconnect if disconnected while reading request body
2018-07-13 14:37:17 +01:00
Tom Christie f6d8df7b3a Black formatting 2018-07-13 14:33:56 +01:00
Tom Christie 3019be01af Version 0.1.11 2018-07-13 14:31:28 +01:00
Tom Christie 6f2ee9c9be Test for ClientDisconnect while reading body 2018-07-13 14:31:05 +01:00
Tom Christie 23a4b19505 Raise ClientDisconnect if disconnected while reading request body 2018-07-13 14:19:42 +01:00
Tom Christie 9eb5089d9b Version 0.1.10 2018-07-13 13:48:04 +01:00
Tom Christie acc681025f
Merge pull request #25 from encode/datastructure-tweaks
Datastructure tweaks
2018-07-13 13:47:00 +01:00
Tom Christie d7e8896fa9 Black formatting 2018-07-13 13:44:42 +01:00