* 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>
* Ignore `docs/_build`
* Remove `v` prefix from VERSION. Also added a `lib-doc` target
* Raise a `ValueError` instead of `NotImplementedError`
* Add all registered http method verbs
* Generate `_scm_version.py` on every `make` invocation. Fix `v` prefix bug.
* `+proxy` for emails
* Make explicit that this script writes to file
* `PROXY_AGENT_HEADER_VALUE` still needs the `v` :)
* add validation in _process_line in parser.py
add validation in _process_line in proxy/http/parser/parser.py
* quick fail when parsing request
quick fail when parsing request
add test case for parsing invalid http request
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove unnecessary checks and empty line
remove unnecessary checks and empty line
* minor fix
minor fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* solve exception expression conflict
solve exception expression conflict
* use NotImplementedError temporary measure
use change HttpProtocolException to NotImplementedError for a temporary
measure
* change exception type in test
change exception type in test
* remove unnecessary import
remove unnecessary import
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Abhinav Singh <mailsforabhinav@gmail.com>
Co-authored-by: Abhinav Singh <126065+abhinavsingh@users.noreply.github.com>
* Remove abstractmethod for proxy plugin base class, remove unused methods from bundled plugins
* Move httpStatusCodes, httpMethods and Url within top-level proxy.http package
* Introduce `--haproxy-protocol` flag
* Complete proxy protocol v1 implementation, enable using `--enable-proxy-protocol` flag
* link checks
* Advertise support for haproxy protocol in readme
* Add make target `lib-scm-version`
* `make lib-version` is now `make lib-check`
* Dont enforce -dev part of version within README
* Add provision to update readme flags using check
* Wrap help text within console
* Add closing ticks
* Remove verbose logging and update homebrew formulae (may be fixed?)
* Custom Url parser for our needs
* lint fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix proxy_pool plugin as scheme can be None if not present in the Url
* Address the ambiguous ipv6:port scenario along with valid cases
* lint checks
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* docstring
* Abstract into `http.parser` module
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix#398 HTTP/1.0 related issue
* lint checks
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>