* Ensure pending buffers are flushed before shutting down in base_server.py
Handle unsupported scheme cases within connect_tunnel.py
* Move base implementations within core module
* Update ssl_echo_server
* Go flagless to allow custom user defined flags. Fixes#301
* Add --cache-dir flag for cache plugin (when used with on-disk store)
* Enable discovery of flags from external plugins, example those that reside outside of proxy.py package and loaded on demand. This also allows external flags to surface in --help section
* Define --filtered-client-ips flag for FilterByClientIpPlugin
* Allow plugins to add custom command line flags. Addresses #301
* Reduce dependency over Flags class. This will be deprecated so that adhoc flags can be added without any additional manual configuration
* Fix: Argument 1 to "mock_default_args" of "TestMain" has incompatible type "Namespace"; expected "Mock"
* Reduce Flags class to just the initializer.
* Store list of action dest in FlagParser
* Initial draft of filter_by_url_regex.py
* Add FilterByURLRegexPlugin
* Fix dictionary key & add logging
* Add proper logging
* Add better logging
* Add logging
* move code to handle_client_request
* development logging
* development
* development
* development
* dev
* dev
* dev
* dev
* dev
* dev
* dev
* dev
* dev
* dev
* dev
* Fix blocked log
* Add to FILTER_LIST, some tidy up
* Update FILTER_LIST
* dev
* remove scheme from url
* Add to FILTER_LIST
* Add to FILTER_LIST
* Update FILTER_LIST
* commenting
* Update FILTER_LIST
* After autopep8
* Fix Anomalous backslash in string (pep8)
* Address code quality checks - flake8 F401 & W605
* Address flake8 errors
* Attempt to fix flake8 errors
* Fix linting issues
* Address flake8 W292
* Attempt to create tests
* Add FilterByURLRegexPlugin
* Rename test
* Work on tests
* Work on tests
* Work on tests
Co-authored-by: Abhinav Singh <mailsforabhinav@gmail.com>
* Move wrap_socket for SSL server within utils.
Also complete proxy.common.pki gen_csr and sign_csr actions. Used by Makefile sign-https-certificates.
* Add SSL echo server and client example
* Add examples documentation
* Move wrap functionality within respective connection classes. Also decouple websocket client handshake method
* Add a TCP echo client example that works with TCP echo server example
* Better document acceptor module and add a TCP Echo Server example
* autopep8 formating
* Rename ThreadlessWork --> Work class
* Make initialize, is_inactive and shutdown as optional interface methods.
Also introduce Readables & Writables custom types.
* Move websocket code into its own module
* Add websocket client example
* Cleanup websocket client
* Update to latest code signing recommendations
* Move HttpProtocolHandlerPlugin into separate file
* Dont add subject attributes if not provided by upstream. Also handle subprocess.TimeoutExpired raised during certificate generation. Instead of retries, we simply close the connection on timeout
* Remove plugin specific flag initialization methods for now
* Use common.pki for interception certificate generation
* Fix tests
* Dont use certificate fields that we dont need, it leads to certificate generation error on Ubuntu
* Prepare for v2.2.0
* npm audit fix
* Add fix required to run on Python 3.6. Python 3.5.x is no longer supported as it reports syntax error and no longer recognize typing syntax
* Prepare for v2.1.2
* Add CLI usage for pki.py
* Bump to 2.1.0
* Replace direct openssl invocation with pki utility
* Bolder
* Ordering and version in README
* Refine help
* Stash current changes
* Refactor into connection module
* Response parser state complete when no body expect
* Raise NotImplementedError if invalid state reached within parser
* Add DEFAULT_HTTP_PORT constant
* Use DEFAULT_HTTP_PORT in tests
* Refactor into exception module
* Refactor into inspector module
* Refactor into server module
* Refactor into proxy module