* support either cleanup or shutdown in ASGI message
* change event_type in tests
* update docs
* fix typo
* keep as event_type for now
* exclude line 65
* blackify
* replace cleanup with shutdown in docs
* Push black linting into ./scripts/test Fix some annotations etc.
* Skip black on 3.7
* Fix script
* Blergh. Shell equality tests are weird
* Attempt to fix equality check
* Document 'allow_origin_regex'
* Support app.on_event('startup') and app.on_event('cleanup')
* Nicer decorator handling for on_event
* Add documentation for app.on_event()
* 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