* Revert "Update tests to not run all the time (#2311)"
This reverts commit 2c03eee329.
* Make CI only runs on PRs that are ready
* Remove CI Tasks on Push
- Refactor environment variable hydration logic to be less nested. This allows possible future extension of the hydration logic.
- Fix a spelling mistake in `load_environment_vars` docstring.
Co-authored-by: Adam Hopkins <admhpkns@gmail.com>
* Fix typehints in route shorthand methods
Change typehint of the version variable in RouteMixin to allow int string and float types values
Resolves#2314
* fix lint error in version variable
* Make all new connections start in IDLE stage, and switch to REQUEST stage only once any bytes are received from client. This makes new connections without any request obey keepalive timeout rather than request timeout like they currently do.
* Revert typo
* Remove request timeout endpoint test which is no longer working (still tested by mocking). Fix mock timeout test setup.
Co-authored-by: L. Karkkainen <tronic@users.noreply.github.com>
* Initial work on restructure of application state
* Updated MOTD with more flexible input and add basic version
* Remove unnecessary type ignores
* Add wrapping and smarter output per process type
* Add support for ASGI MOTD
* Add Windows color support ernable
* Refactor __main__ into submodule
* Renest arguments
* Passing unit tests
* Passing unit tests
* Typing
* Fix num worker test
* Add context to assert failure
* Add some type annotations
* Some linting
* Line aware searching in test
* Test abstractions
* Fix some flappy tests
* Bump up timeout on CLI tests
* Change test for no access logs on gunicornworker
* Add some basic test converage
* Some new tests, and disallow workers and fast on app.run
* Fixup for 3.8+; Sanic still supports 3.7 where loop is required
* Added branching statement to hanle asyncio.Event() loop parameter removal in 3.10, and optional supply in 3.9
Administratively merging because @vltr and @ahopkins are the release managers, and @ahopkins is originator of the PR
* Add Python 3.10 testing (and support)
* fixed py310 tox environment for windows, quoted '3.10' in python-310 tests to avoid numeric compression
* updated tox.ini for py310
* quoted the rest of the bare 3.10 references in the workflows
* Issue with pytest requires version bump to 6.2.5 for python 3.10
Co-authored-by: Stephen Sadowski <stephen.sadowski@sjsadowski.com>
* Initial support for using multiple SSL certificates.
* Also list IP address subjectAltNames on log.
* Use Python 3.7+ way of specifying TLSv1.2 as the minimum version. Linter fixes.
* isort
* Cleanup, store server name for later use. Add RSA ciphers. Log rejected SNIs.
* Cleanup, linter.
* Alter the order of initial log messages and handling. In particular, enable debug mode early so that debug messages during init can be shown.
* Store server name (SNI) to conn_info.
* Update test with new error message.
* Refactor for readability.
* Cleanup
* Replace old expired test cert with new ones and a script for regenerating them as needed.
* Refactor TLS tests to a separate file.
* Add cryptography to dev deps for rebuilding TLS certs.
* Minor adjustment to messages.
* Tests added for new TLS code.
* Find the correct log row before testing for message. The order was different on CI.
* More log message order fixup. The tests do not account for the logo being printed first.
* Another attempt at log message indexing fixup.
* Major TLS refactoring.
CertSelector now allows dicts and SSLContext within its list.
Server names are stored even when no list is used.
SSLContext.sanic now contains a dict with any setting passed and information extracted from cert.
That information is available on request.conn_info.cert.
Type annotations added.
More tests incl. a handler for faking hostname in tests.
* Remove a problematic logger test that apparently was not adding any coverage or value to anything.
* Revert accidental commit of uvloop disable.
* Typing fixes / refactoring.
* Additional test for cert selection. Certs recreated without DNS:localhost on sanic.example cert.
* Add tests for single certificate path shorthand and SNI information.
* Move TLS dict processing to CertSimple, make the names field optional and use names from the cert if absent.
* Sanic CLI options --tls and --tls-strict-host to use the new features.
* SSL argument typing updated
* Use ValueError for internal message passing to avoid CertificateError's odd message formatting.
* Linter
* Test CLI TLS options.
* Maybe the right codeclimate option now...
* Improved TLS argument help, removed support for combining --cert/--key with --tls.
* Removed support for strict checking without any certs, black forced fscked up formatting.
* Update CLI tests for stricter TLS options.
Co-authored-by: L. Karkkainen <tronic@users.noreply.github.com>
Co-authored-by: Adam Hopkins <admhpkns@gmail.com>