Yuki Okushi
25963dbdf1
Prepare release for actix-http, awc ( #3791 )
2025-10-05 11:30:27 +09:00
asonix
4df9953c86
actix-http: h1: stop pipelining when not reading full requests ( #3721 )
...
* actix-http: h1: stop pipelining when not reading full requests
The existing pipelining behavior of the h1 dispatcher can cause client timeouts
if the entire request body isn't read. It puts the dispatcher into a state where
it refuses to read more (payload dropped) but there are still bytes in the buffer
from the request body.
This solution adds the SHUTDOWN flag in addition to the FINISHED flag
when completing a response when both the following are true:
1. There are no messages in `this.messages`
2. There is still a payload in `this.payload`
This combination implies two things. First, that we have not parsed a
pipelined request after the request we have just responded to. Second,
that the current request payload has not been fed an EOF. Because there
are no pipelined requests, we know that the current request payload
belongs to the request we have just responded to, and because the
request payload has not been fed an EOF, we know we never finished
reading it.
When this occurs, adding the SHUTDOWN flag to the dispatcher triggers a
`flush` and a `poll_shutdown` on the IO resource on the next poll.
* Remove printlns from dispatcher
* Add test that fails without changes & passes with changes
* Add changelog entry for h1 shutdown
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2025-10-05 01:07:35 +00:00
Thales Fragoso
fde7934243
Add option to allow/disallow half closures in HTTP/1 ( #3777 )
...
* Add ServiceConfigBuilder to facilitate future extensions
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
* Add option to allow/disallow h1 half closures
The default is set to allow, thus reverting a change made in 3.11.1
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
* Add tests for h1 half closures
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
* Comply with clippy
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
* Adjust imports to satisfy fmt
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
---------
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
2025-10-04 23:03:26 +00:00
Yuki Okushi
429ff82a4b
fix: rename doc_auto_cfg feature ( #3787 )
2025-09-29 10:42:56 +00:00
Thales
d3c46537b3
fix(http): Wake Payload when feeding error or EOF ( #3749 )
...
* fix(http): Add failing tests to demonstrate the payload problem
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
* fix(http): Wake Payload when feeding error or eof
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
---------
Signed-off-by: Thales Fragoso <thales.fragoso@axiros.com>
2025-08-29 02:47:03 +00:00
Rob Ede
8996198f2c
chore: require h2 versions after MadeYouReset fix
2025-08-26 23:59:57 +01:00
Rob Ede
68624ec63b
chore: remove now-useless docs.rs flags
2025-08-26 23:51:22 +01:00
Rob Ede
ddd16ec9db
chore(actix-http): prepare release 3.11.1
2025-08-26 07:28:27 +01:00
Andrew Scott
c6352005f7
fix: include content-length with bytes payload ( #3695 )
...
* fix: include content-length with bytes payload
* chore: json unit-test patch
* Update doc comment
---------
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2025-08-24 09:42:11 +00:00
yanyuxing
30f7df5853
fix(actix-http): wake before return pending when read half disconnect and need to shutdown ( #3665 )
2025-08-23 00:56:39 +00:00
Guido Vranken
5f6c84494a
Fix integer overflow in actix_http::ws::Parser::parse ( #3728 )
...
* Fix integer overflow in actix_http::ws::Parser::parse
* Add changelog
---------
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2025-08-22 06:24:22 +00:00
Rob Ede
276f5d5bd4
chore(actix-http): prepare release 3.11.0
2025-05-10 06:18:25 +01:00
Rob Ede
5f3c02813a
chore: narrow tokio dep to account for RUSTSEC-2025-0023
...
closes #3640
2025-05-10 06:09:51 +01:00
dependabot[bot]
bbe0134523
build(deps): bump brotli from 7.0.0 to 8.0.0 ( #3627 )
...
* build(deps): bump brotli from 7.0.0 to 8.0.0
Bumps [brotli](https://github.com/dropbox/rust-brotli ) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/dropbox/rust-brotli/releases )
- [Commits](https://github.com/dropbox/rust-brotli/commits )
---
updated-dependencies:
- dependency-name: brotli
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* docs: update changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2025-05-09 20:05:56 +00:00
Rob Ede
7eea3d3657
chore: address clippy lints
2025-05-09 20:21:02 +01:00
dependabot[bot]
c284426698
build(deps): bump once_cell from 1.21.1 to 1.21.3 ( #3606 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.21.1 to 1.21.3.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.21.1...v1.21.3 )
---
updated-dependencies:
- dependency-name: once_cell
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>
2025-03-31 07:57:06 +00:00
Rob Ede
aa000b429d
chore(actix-http): prepare release 3.10.0
2025-03-09 19:01:37 +00:00
Bernard Assan
df0885cf21
Add from_bytes/u8_bytes to dev::Payload ( #3595 )
...
* feat: Add from_bytes/u8_bytes to dev::Payload
This allows convinent construction of Payload from bytes which is
useful in middlewares
closes actix/actix-web#3589
Add doc comment and changelog entry
* implement from<bytes/vec> for payload
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
2025-03-09 16:40:00 +00:00
dependabot[bot]
9656383646
build(deps): update derive_more requirement from 1 to 2 ( #3571 )
...
* build(deps): update derive_more requirement from 1 to 2
Updates the requirements on [derive_more](https://github.com/JelteF/derive_more ) to permit the latest version.
- [Release notes](https://github.com/JelteF/derive_more/releases )
- [Changelog](https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md )
- [Commits](https://github.com/JelteF/derive_more/compare/v1.0.0...v2.0.1 )
---
updated-dependencies:
- dependency-name: derive_more
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* refactor: simplify derive_more calls
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2025-02-10 01:27:56 +00:00
Akos Vandra-Meyer
04533a15fa
Add `Extensions::get_or_insert[_with]()` methods ( #3561 )
...
* add get_or_insert and get_or_insert_with for Extensions
* add docs
* fix doctest
* docs: update changelog
* chore: simplify get_or_insert
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
2025-02-09 22:04:21 +00:00
dependabot[bot]
66e2afe306
build(deps): update rand requirement from 0.8 to 0.9 ( #3564 )
...
* build(deps): update rand requirement from 0.8 to 0.9
Updates the requirements on [rand](https://github.com/rust-random/rand ) to permit the latest version.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.8.0...0.9.0 )
---
updated-dependencies:
- dependency-name: rand
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: fix rand upgrade
* chore: address clippy lint
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2025-02-09 02:39:22 +00:00
Rob Ede
ac2a3bb124
refactor: replace ahash with foldhash ( #3483 )
2024-12-29 16:20:00 +00:00
Rob Ede
34327bd221
chore: address clippy warnings
2024-12-29 15:03:43 +00:00
Rob Ede
ec05381f6f
feat: add CLEAR_SITE_DATA header
2024-10-15 07:01:01 +01:00
dependabot[bot]
a5c2d0531b
build(deps): update brotli requirement from 6 to 7 ( #3482 )
...
* build(deps): update brotli requirement from 6 to 7
Updates the requirements on [brotli](https://github.com/dropbox/rust-brotli ) to permit the latest version.
- [Release notes](https://github.com/dropbox/rust-brotli/releases )
- [Commits](https://github.com/dropbox/rust-brotli/commits )
---
updated-dependencies:
- dependency-name: brotli
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* docs: update changelogs
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-10-07 20:40:14 +00:00
John Vandenberg
d6bdfac1b9
build(deps): update derive_more to v1.0 ( #3453 )
...
* build(deps): update derive_more to v1.0
* refactor: use from derive module
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-08-18 14:17:03 +00:00
Rob Ede
78ac5cf482
docs(web): unmention try_init_service
2024-08-18 14:33:28 +01:00
Rob Ede
538c1bea34
chore: disallow e bindings
2024-08-10 05:15:49 +01:00
Rob Ede
9ba326aed0
chore(actix-http): prepare release 3.9.0
2024-08-10 03:09:09 +01:00
Rob Ede
5c6e0e17d3
feat(http): impl FromIter for HeaderMap
2024-07-07 21:16:25 +01:00
Rob Ede
e0e4d1e661
chore: move deny lints to manifests
2024-07-07 03:54:00 +01:00
Rob Ede
763c58445a
test: fix tests based on mime-guess inference
...
relates to https://github.com/abonander/mime_guess/pull/86
2024-06-30 20:28:11 +01:00
Rob Ede
d92a73eacd
chore(actix-http): prepare release 3.8.0
2024-06-20 00:18:22 +01:00
Rob Ede
cbb55ba27d
ci: use just for feature combos check
2024-06-20 00:04:35 +01:00
Yury Yarashevich
643d64581a
Fix Rustls 0.22 & 0.23 are limited to 256 handshakes per second. ( #3408 )
2024-06-19 22:34:49 +00:00
Rob Ede
2ee92d778e
ci: external types checking ( #3175 )
2024-06-10 03:39:06 +01:00
Samuel Marks
22593a1532
Re-export `http::status::InvalidStatusCode` ( #3393 )
...
* [actix-http/src/lib.rs] Expose/re-export `http::status::InvalidStatusCode`
* [actix-http/src/error.rs] Re-export `http::status::InvalidStatusCode` ; [actix-http/src/lib.rs] Revert
2024-06-09 05:07:56 +00:00
Rob Ede
8018983a68
docs: update changelog for #3393
2024-06-09 06:08:21 +01:00
Rob Ede
266834cf7c
chore: narrow h2 version
2024-06-09 04:51:53 +01:00
asonix
4493aa35d0
actix-http::ws: Remove redundant + 4 byte reservation when masked ( #3371 )
...
* actix-http::ws: Remove redundant + 4 byte reservation when masked
* actix-http: Update CHANGES wrt byte fix
* docs: remove changelog entry
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-06-07 14:41:32 +00:00
Rob Ede
acb740584c
fix: correct aws rustls v0.23 feature gating
2024-05-19 11:55:12 +01:00
Rob Ede
fe7268487a
chore(actix-http): prepare release 3.7.0
2024-05-19 10:14:30 +01:00
Rob Ede
e8262da138
chore: update rcgen to 0.13
2024-05-19 10:12:32 +01:00
asonix
2e63ff5928
actix-web: Add rustls 0.23 ( #3363 )
...
* Fix type confusion in some scenarios
When the feature for rustls 0.22 is enabled, and rustls 0.23 is also
present in a project, there suddently exist multiple paths for errors
when building middleware chains due to the use of two consecutive `?`
operators without specifying the intermediate error type.
This commit addresses the issue by removing the first `?`, so that the
first error type will always be known, and the second `?` always has a
well defined implementation.
* Add CHANGES entry about type confusion
* actix-http: add rustls 0.23 support
* actix-http: update ws example, tests for rustls 0.23
* actix-http: add rustls 0.23 to changelog
* Update comments to mention 0.23 instead of 0.22
* awc: add rustls 0.23 support
This also fixes certificate lookup when native-roots is enabled for rustls 0.22.
* awc: update changelog for rustls 0.23
* awc: Add base rustls-0_23 feature without roots to better enable custom config
* actix-test: add rustls-0.23
* actix-test: add rustls 0.23 to changelog
* awc: update changelog with rustls 0.23 tweaks
* actix-web: add rustls 0.23
* Add rustls-0_23 to CI
* Update tls_rustls.rs
* review nits
* review nits part 2
* fix doc test
---------
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-05-18 19:05:58 +00:00
asonix
2d035c066e
actix-http: Add rustls 0.23 ( #3361 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-05-18 19:22:53 +01:00
dependabot[bot]
fff45b28f4
build(deps): update brotli requirement from 3.3.3 to 6.0.0 ( #3353 )
...
* build(deps): update brotli requirement from 3.3.3 to 6.0.0
Updates the requirements on [brotli](https://github.com/dropbox/rust-brotli ) to permit the latest version.
- [Release notes](https://github.com/dropbox/rust-brotli/releases )
- [Commits](https://github.com/dropbox/rust-brotli/compare/3.3.3...6.0.0 )
---
updated-dependencies:
- dependency-name: brotli
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* docs: update changelogs
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-05-14 08:58:05 +00:00
Rob Ede
c1a6388614
refactor: address clippy warnings
2024-05-06 06:03:44 +01:00
Rob Ede
a4df623b0c
chore: bump env_logger to v0.11
2024-03-03 23:43:54 +00:00
Rob Ede
49020e79ae
chore: update base64 to v0.22
2024-03-03 22:18:29 +00:00
dependabot[bot]
8c31d137aa
build(deps): bump taiki-e/install-action from 2.26.18 to 2.27.2 ( #3294 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-02-19 12:31:10 +00:00