Skip to content

Conversation

@abhinavsingh
Copy link
Owner

Additionally, as on_client_data is only invoked after initial client request has been received, refactor to avoid unnecessary invocations.

@abhinavsingh abhinavsingh changed the title Avoid proxy of requests to private IP within ProxyPoolPlugin [ProxyPoolPlugin] Avoid proxy of private IP requests Nov 30, 2021
@abhinavsingh abhinavsingh changed the title [ProxyPoolPlugin] Avoid proxy of private IP requests [ProxyPoolPlugin] Avoid remote proxy of private IP requests Nov 30, 2021
@abhinavsingh abhinavsingh added the bot:chronographer:skip PR using this label is exempted from CHANGELOG management label Nov 30, 2021
@codecov
Copy link

codecov bot commented Nov 30, 2021

Codecov Report

Merging #833 (cc86eea) into develop (921f2b5) will decrease coverage by 0.16%.
The diff coverage is 50.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #833      +/-   ##
===========================================
- Coverage    87.05%   86.89%   -0.17%     
===========================================
  Files          128      128              
  Lines         5732     5738       +6     
  Branches       473      474       +1     
===========================================
- Hits          4990     4986       -4     
- Misses         637      646       +9     
- Partials       105      106       +1     
Flag Coverage Δ
pytest 86.77% <50.00%> (-0.17%) ⬇️

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

Impacted Files Coverage Δ
proxy/http/plugin.py 100.00% <ø> (ø)
proxy/plugin/proxy_pool.py 31.76% <28.57%> (-0.29%) ⬇️
proxy/http/handler.py 72.39% <50.00%> (-1.36%) ⬇️
proxy/http/parser/parser.py 94.27% <100.00%> (-0.03%) ⬇️
tests/http/test_http_proxy_tls_interception.py 97.97% <100.00%> (-1.02%) ⬇️
proxy/http/server/web.py 63.35% <0.00%> (-0.63%) ⬇️

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 921f2b5...cc86eea. Read the comment docs.

@abhinavsingh abhinavsingh merged commit 90820b0 into develop Nov 30, 2021
@abhinavsingh abhinavsingh deleted the priv-ip-proxy-pool branch November 30, 2021 23:59
abhinavsingh added a commit that referenced this pull request Dec 1, 2021
* Merge pull request #825 from abhinavsingh/dependabot/pip/pylint-2.12.1

pip prod(deps): bump pylint from 2.11.1 to 2.12.1

* Bump ncipollo/release-action from 1.8.10 to 1.9.0 (#826)

Bumps [ncipollo/release-action](https://github.com/ncipollo/release-action) from 1.8.10 to 1.9.0.
- [Release notes](https://github.com/ncipollo/release-action/releases)
- [Commits](ncipollo/release-action@v1.8.10...v1.9.0)

---
updated-dependencies:
- dependency-name: ncipollo/release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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>

* npm: bump rollup-plugin-copy from 3.3.0 to 3.4.0 in /dashboard (#824)

Bumps [rollup-plugin-copy](https://github.com/vladshcherbin/rollup-plugin-copy) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/vladshcherbin/rollup-plugin-copy/releases)
- [Commits](vladshcherbin/rollup-plugin-copy@3.3.0...3.4.0)

---
updated-dependencies:
- dependency-name: rollup-plugin-copy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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 benchmarks comparison for `proxy.py`, `tornado`, `aiohttp`, `flask` (#827)

* Add benchmarks for `proxy.py`, `tornado`, `aiohttp`, `flask`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Lint happy

* Disable W0223 for tornado

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Integrate Towncrier configuration (#823)

* Move changelog out of README into a separate file

* Expose the changelog to Sphinx

* Integrate Towncrier configuration into the repo

* Include the change fragment docs in Sphinx

* Add a config for the Chronographer GitHub App

* Add a change note for PR #823

* Update CHANGELOG.md

Co-authored-by: Abhinav Singh <126065+abhinavsingh@users.noreply.github.com>

* Add `benchmark` results to `README.md` (#828)

* Add benchmark results to top-level README

* mypy

* Push down WIP example

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Spelling

* Link rtfd within `Internal Documentation` for now

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* pip prod(deps): bump types-paramiko from 2.8.1 to 2.8.2 (#831)

Bumps [types-paramiko](https://github.com/python/typeshed) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-paramiko
  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>

* npm: bump js-cookie from 2.2.1 to 3.0.1 in /dashboard (#830)

Bumps [js-cookie](https://github.com/js-cookie/js-cookie) from 2.2.1 to 3.0.1.
- [Release notes](https://github.com/js-cookie/js-cookie/releases)
- [Changelog](https://github.com/js-cookie/js-cookie/blob/master/.release-it.json)
- [Commits](js-cookie/js-cookie@v2.2.1...v3.0.1)

---
updated-dependencies:
- dependency-name: js-cookie
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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>

* Optimizations & Update Benchmark Results (#832)

* Bail out of lock earlier

* Avoid calling `get_events` for unfinished work tasks.  Use `cached_property` for `HttpParser` optimization

* Add `type: ignore[no-any-return]`, odd scenario

* We dont have to rebuild response packet repeatedly within `WebServerPlugin`

* Parse line and header in one invocation

* Minor optimizations and update benchmark to use `oha` instead of `hey`

* Remove `flask` from benchmark, only benchmark `asgi` or `async` based libraries.  Use `uvicorn` and 10 workers for `blacksheep`.  Use `oha` instead of `hey`

* Add benchmark for `starlette`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add missing dep

* pre-commit

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [ProxyPoolPlugin] Avoid remote proxy of private IP requests (#833)

* Avoid proxy of requests to private IP within `ProxyPoolPlugin`

* Fix tests

* spell fix

* No content length or chunked case can occur with `HTTP/1.1` too (#834)

* No content length or chunked case can occur with `HTTP/1.1` too

* `WPS331` false-positive

* npm: bump eslint-plugin-standard from 4.1.0 to 5.0.0 in /dashboard (#835)

Bumps [eslint-plugin-standard](https://github.com/standard/eslint-plugin-standard) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/standard/eslint-plugin-standard/releases)
- [Commits](standard/eslint-plugin-standard@v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-standard
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* pip prod(deps): bump twine from 3.5.0 to 3.6.0 (#836)

Bumps [twine](https://github.com/pypa/twine) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
- [Commits](pypa/twine@3.5.0...3.6.0)

---
updated-dependencies:
- dependency-name: twine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* `task.result` can throw (#837)

* `task.result` can raise exception

* Remove redundant `except`

* Fix doc spell.  We need to fix it well, currently strategy feels dumb and PITA

* Move common words within `spelling_wordlist.txt`

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
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