* GIT-2023: Enable GitHub Actions support
* GIT-2023: fix tox runtime trigger
* GIT-2023: add top level action name
* GIT-2023: rename tox step name
* GIT-2023: rename build task names
* GIT-2023: remove macos and windows + nightly versions
* GIT-2023: add macos and windows back to os matrix
* GIT-2023: expermiental flag to conditionally skip failure
* GIT-2023: enable using custom actions
* GIT-2023: fix matrix config rendering type
* GIT-2023: fix naming issue with os label
* GIT-2023: enable type-checking env for tox
* GIT-2023: enable pypy3.7 support
* GIT-2023: enable pypy experimental flag
* GIT-2023: add pypy tox env config
* add max timeout of 5 min for pypy tests
* GIT-2023: add timeout for each actions
* GIT-2023: fix codeQL workflow actions
* GIT-2023: limit test matrix to ubuntu and support on demand
* GIT-2023: enable docker image publish on release
* GIT-2023: fix on-demand pypy action
* GIT-2023: enable pypi publish workflow
* GIT-2023: enable verbose logs for py3.9
* GIT-2023: reduce py3.9 verbosity
* GIT-2023: enable docs linter
* GIT-2023: extend test matrix to include macos + windows
* GIT-2023: move windows based workflow to standalone task
* GIT-2023: fix windows test matrix
* GIT-2023: mark py39-no-ext as flaky test
* GIT-2023: mark flaky test
* GIT-2023: make timeout internal to steps for ease of management
* GIT-2023: rename image publish step name
* GIT-2023: mark keep alive client timeout for linux only
* GIT-2023: enable retries on test failure
Co-authored-by: Adam Hopkins <admhpkns@gmail.com>
* Socket binding implemented properly for IPv6 and UNIX sockets.
- app.run("::1") for IPv6
- app.run("unix:/tmp/server.sock") for UNIX sockets
- app.run("localhost") retains old functionality (randomly either IPv4 or IPv6)
Do note that IPv6 and UNIX sockets are not fully supported by other Sanic facilities.
In particular, request.server_name and request.server_port are currently unreliable.
* Fix Windows compatibility by not referring to socket.AF_UNIX unless needed.
* Compatibility fix.
* Fix test of existing unix socket.
* Cleaner unix socket removal.
* Remove unix socket on exit also with workers=1.
* More pedantic UNIX socket implementation.
* Refactor app to take unix= argument instead of unix:-prefixed host. Goin' fast @ unix-socket fixed.
* Linter
* Proxy properties cleanup. Slight changes of semantics. SERVER_NAME now overrides everything.
* Have server fill in connection info instead of request asking the socket.
- Would be a good idea to remove request.transport entirely but I didn't dare to touch it yet.
* Linter 💣🌟✊💀
* Fix typing issues. request.server_name returns empty string if host header is missing.
* Fix tests
* Tests were failing, fix connection info.
* Linter nazi says you need that empty line.
* Rename a to addr, leave client empty for unix sockets.
* Add --unix support when sanic is run as module.
* Remove remove_route, deprecated in 19.6.
* Improved unix socket binding.
* More robust creating and unlinking of sockets. Show proper and not temporary name in conn_info.
* Add comprehensive tests for unix socket mode.
* Hide some imports inside functions to avoid Windows failure.
* Mention unix socket mode in deployment docs.
* Fix merge commit.
* Make test_unix_connection_multiple_workers pickleable for spawn mode multiprocessing.
Co-authored-by: L. Kärkkäinen <tronic@users.noreply.github.com>
Co-authored-by: Adam Hopkins <admhpkns@gmail.com>