* Use selectors.DefaultSelector instead of select.select
* Unregister to avoid endless loop
* Cleanup event register/unregiter
* Cleanup event registration
* Add google-fluentd.conf. Use if running proxy.py on Google Cloud.
* Send server error from proxy if for whatever reason we fail to process the request (or should it be BadRequest based upon situation?)
* Fix tests for selectors
* Only include proxy.py and tests.py in coverage report
* Only include proxy.py for coverage
* remove redundant integration test, will rewrite using mocks
* Proper unregister of events
* Change multi core accept model to avoid client TIME_WAIT. Fixes#97
* Catch BlockingIOError
* Remove redundant comments
* Simplify with AcceptorPool
* Pass family to acceptor processes
* Remove plugin.access_log for core plugins
* Return 501 not implemented for web socket upgrade requests to inbuilt HTTP server
* Add support for websocket upgrade
* Websocket frame parser
* Enable websocket based routing
* Add WebsocketClient
* Websocket
* mypy fixes
* Sync GitHub workflow lint and makefile lint commands.
For now comment out tests which are broken :( New tests coming next.
* Start fixing tests for new code
* Fix formatting
* Fix main tests
* Add worker tests
* GitHub only ran windows tests, may be require unique names
* Use 3.6/3.7 dev versions for GitHub actions
* Add AcceptorPool test
* Add x64 and x86 matrix for actions tests
* Dont use dev versions since they dont exists for x86
* Ha no x86 support itself
* Add backer link
* Remove support badge for 3.5 as it doesnt support typing
* Update read me with changed architecture notes
* Update read me with changed architecture notes
* Add `import proxy` usage instructions.
* Add pydoc reference for developers
* Put pydoc as internal documentation
- Fix for None:None access log messages which essentially happen when client
closes a connection without making any request over it.
- Better log messages
- Fix setup.py for single file module