Skip to content

Conversation

@abhinavsingh
Copy link
Owner

@abhinavsingh abhinavsingh commented Dec 25, 2021

  1. --hostname now uses IPv4 by default (which was the case until v2.0.0 releases). Problem is that not all applications (across all operating systems) are capable of utilizing IPv6 loopback. Sometimes, system itself is not configured for IPv6 loopback. Forcing users to pass --hostname 127.0.0.1 flag. Example, within our Dockerfile itself
  2. --local-executor is now True. This will avoid starting a separate ThreadlessPool for handling work received over sockets. Instead, now Acceptors will delegate to a threaded Threadless instance. Performance impacts are negligible for day-to-day use-cases. But you might want to use --local-executor 0 to disable threaded Threadless management.
  3. Updated README.md
    • Added RTFD badge
    • Added Deploying proxy.py in production section

@abhinavsingh abhinavsingh added the bot:chronographer:skip PR using this label is exempted from CHANGELOG management label Dec 25, 2021
@codecov
Copy link

codecov bot commented Dec 25, 2021

Codecov Report

Merging #905 (66233a8) into develop (13c64b5) will decrease coverage by 0.40%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #905      +/-   ##
===========================================
- Coverage    86.83%   86.42%   -0.41%     
===========================================
  Files          131      131              
  Lines         5885     5887       +2     
  Branches       589      589              
===========================================
- Hits          5110     5088      -22     
- Misses         666      694      +28     
+ Partials       109      105       -4     
Flag Coverage Δ
pytest 86.27% <100.00%> (-0.41%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
tests/core/test_acceptor.py 100.00% <ø> (ø)
proxy/common/constants.py 100.00% <100.00%> (ø)
proxy/core/acceptor/listener.py 90.74% <100.00%> (ø)
tests/test_main.py 100.00% <100.00%> (ø)
proxy/core/acceptor/executors.py 43.75% <0.00%> (-46.25%) ⬇️
proxy/core/acceptor/remote.py 53.57% <0.00%> (-42.86%) ⬇️
proxy/core/acceptor/threadless.py 81.96% <0.00%> (-3.28%) ⬇️
proxy/core/acceptor/acceptor.py 86.79% <0.00%> (+8.49%) ⬆️
proxy/common/backports.py 52.27% <0.00%> (+15.90%) ⬆️
proxy/core/acceptor/local.py 100.00% <0.00%> (+48.38%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 13c64b5...66233a8. Read the comment docs.

@abhinavsingh abhinavsingh merged commit 904617e into develop Dec 25, 2021
@abhinavsingh abhinavsingh deleted the update-readme branch December 25, 2021 12:11
abhinavsingh added a commit that referenced this pull request Jan 1, 2022
* Merge pull request #896 from abhinavsingh/missed-scenarios

Avoid registering invalid FD with selectors

* [ProxyPool] Add support for basic authorization with upstream proxies (#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 (#898)

* 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`  (#899)

* 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

* Ensure message for every `HttpProtocolException` raised (#900)

* Response Packet Utilities (#903)

* 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>

* Introduce `ProgramNamePlugin` plugin (#904)

* 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>

* Update defaults for `--hostname` and `--local-executor` (#905)

* 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

* `Work` can also be `TcpServerConnection`, not just `TcpClientConnection` (#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

* Change `--local-executor` flag semantics (#907)

* 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>

* Clean shutdown on `SIGINT`, `SIGHUP`, `SIGTERM`, `SIGQUIT` (#908)

* sys.exit on SIGINT, SIGHUP, SIGTERM

* Add todo for pending signal actions

* SIGHUP is win only

* Remove frametype signature as it causes lint issues and we are not using it anyways

* SIGQUIT is not on Win

* Fix `HttpWebServerPacFilePlugin` broken routes logic (#915)

* Fix `HttpWebServerPacFilePlugin` broken routes logic

* lint

* Proxy Auto-Configuration (PAC) file should not be compressed (#916)

* Move `UpstreamConnectionPool` lifecycle within `Threadless` (#917)

* 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 (#918)

* 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 `UpstreamConnectionPool` lifecycle within `Threadless` (#921)

* 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>

* pip prod(deps): bump sphinx from 4.3.1 to 4.3.2 (#902)

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>

* pip prod(deps): bump paramiko from 2.8.1 to 2.9.1 (#923)

* Optimize how `HttpProtocolHandler` delegates to the core plugins (#925)

* 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>

* [TlsParser] Refactored implementation from #748 (#922)

* 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>

* pip prod(deps): bump tox from 3.24.4 to 3.24.5 (#924)

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>

* pip prod(deps): bump twine from 3.7.0 to 3.7.1 (#927)

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>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:skip PR using this label is exempted from CHANGELOG management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants