-
-
Notifications
You must be signed in to change notification settings - Fork 618
v2.4.0rc5 #929
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
v2.4.0rc5 #929
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Avoid registering invalid FD with selectors
…#897) * Use `Url` class to parse proxy pool entries * Add support for parsing user:pass from raw url bytes * Add `httpHeaders.PROXY_AUTHORIZATION` headers for upstream proxies * Add support for httpHeaders enum * Send base64 encoded proxy authorization header to upstream proxies * mypy fixes * Document proxy pool authentication support usage info
* Add `conn_close` kwarg to packet builder utilities, passing True will automatically add `Connection: close` header * Add `conn_close` to `HttpRequestRejected` responses
* Raise `HttpProtocolException` instead of `ValueError` for clean teardown of the offending connection * Fix circular import errors * Fix tests * fix lint errors * Avoid containerizing until check has passed
* Add response pkt utility * Unused import * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix tests as some content is now by default gzipped based upon min compression config * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove unused * Update necessary tests to use `okResponse` utility * Add option to explicitly disable compression Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add `ProgramNamePlugin` * Update readme * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove `_compat.py` * Add suggestions coming from #659 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* do it * Change defaults * integrate with ci/cd updates * Fix ci * Add dockerfile `SKIP_OPENSSL` option which will allow us to build container without openssl * Skip openssl for latest tag, add another openssl tag for images with openssl support * Push separate openssl image to GHCR for every PR
…on` (#906) * Work can also be TcpServerConnection, not just TcpClientConnection. More over, it can be any generic work type * Add py_class_role and py_obj * Port internal integration tests into public repo * Fix proxy py addr * Use cross-platform compat shasum
* Convert `--local-executor` in an integer flag, defaults to 1 i.e. enabled, use 0 to disable * Consider any value other than 1 as remote mode * Use integer to disable local executor mode in integration tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix mypy errors * Update flags in readme * Check for type * Remove pid file check for now * Update `--local-executor` flag usage Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix `HttpWebServerPacFilePlugin` broken routes logic * lint
* Tie connection pool into Threadless * Pass upstream conn pool reference to work instances * Mark upstream conn pool as optional * spellcheck * Fix unused import
* Define work lifecycle events for pool * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Use isinstance * Use mocker fixture to pass CI on 3.6 and 3.7 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Hook connection pool lifecycle within threadless * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix test * Fix spell Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.1 to 4.3.2. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](sphinx-doc/sphinx@v4.3.1...v4.3.2) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <126065+abhinavsingh@users.noreply.github.com>
* Add `protocols` abstract static method to `HttpProtocolHandlerBase` which defines which HTTP specification is followed by the core plugin * lint * Fix tests * Lint fixes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Refactored TlsParser based upon work done in #748 * Add missing `tls_server_hello.data`, thanks to @JerryKwan * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Pass `check.py` * Run check.py locally * Fix lint errors * Fix indentation issue * Ignore linkcheck for cloudflare links, GHA is getting a 403 reply, while the link actually works * Fix lint * codespell skip Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 3.24.4 to 3.24.5. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst) - [Commits](tox-dev/tox@3.24.4...3.24.5) --- updated-dependencies: - dependency-name: tox dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <126065+abhinavsingh@users.noreply.github.com>
Bumps [twine](https://github.com/pypa/twine) from 3.7.0 to 3.7.1. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](pypa/twine@3.7.0...3.7.1) --- updated-dependencies: - dependency-name: twine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Abhinav Singh <126065+abhinavsingh@users.noreply.github.com>
Codecov Report
@@ Coverage Diff @@
## master #929 +/- ##
==========================================
- Coverage 87.03% 86.27% -0.77%
==========================================
Files 129 142 +13
Lines 5787 6353 +566
Branches 580 636 +56
==========================================
+ Hits 5037 5481 +444
- Misses 645 755 +110
- Partials 105 117 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
containerstoGHCRandDockerHubonly proxy.pyandproxy.py with openssl. Later is necessary when using TLS interception with containers--local-executoris now enabled by default. To disable it, use--local-executor 0Worknow define a generic work interface. Previously tied toTcpClientConnectionbased work.proxy.http.responsesutility. See methods now used throughoutproxy.pyfor HTTP response packet generation. It also provides automatic compression based upon--min-compression-lengthflag.TlsParserimplementation. Will be used byUpstreamConnectionPooland elsewhere for SSL/TLS customizations/modificationsproxy.pynow default listens on127.0.0.1, not::1. That is IPv4 is made default again. Issue is most linux system clients still fail with IPv6 out-of-box.UpstreamConnectionPoollifecycle support withinWork. Now every work has access toUpstreamConnectionPoolwhich can be used to efficiently manage connections to upstream servers.UpstreamConnectionPoolare currently managed one-per-cpu-core and not shared among allproxy.pyacceptors.HttpProtocolExceptionbased classes for helpful information without entire stacktrace.HttpProtocolHandlerpick of plugin for processing an incoming HTTP protocol based work. Underlying work implementations can then easily handleWEB_SERVER,HTTP_PROXY,SOCKS_PROXYsub-protocols. Previously, core used to iterate over all sub-protocol plugins and depend upon them to bail out if request doesn't match their sub-protocol specifications.HttpProtocolHandlerreturnsBAD_REQUEST_RESPONSE. Previously in such scenario client connections would hang until timeout occurs.PACFilePluginwhen custom--pac-file-url-pathwas specifiedUrlclass can now also parse authentication information from the raw urls.ProgramNamePluginproxy.pynow registers forSIGINT,SIGTERMsignals and performs a clean shutdown. Previously,proxy.pyacceptors could have been left running, even after the parent process terminates.