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
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
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
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
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
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
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
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
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
d92a73eacd
chore(actix-http): prepare release 3.8.0
2024-06-20 00:18:22 +01:00
Rob Ede
8018983a68
docs: update changelog for #3393
2024-06-09 06:08:21 +01:00
Rob Ede
fe7268487a
chore(actix-http): prepare release 3.7.0
2024-05-19 10:14:30 +01: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
1e08ebabf9
build: bump MSRV to 1.72
2024-02-13 01:24:34 +00:00
Rob Ede
1e2ef6f92f
perf: remove unnecessary allocation when writing http dates ( #3261 )
2024-02-07 03:47:30 +00:00
Rob Ede
8db3de6ede
chore(actix-http): prepare release 3.6.0
2024-02-04 00:31:14 +00:00
Rob Ede
2125aca2c5
Rustls v0.22 support ( #3275 )
2024-02-03 23:55:01 +00:00
SleeplessOne1917
ae7736f134
Implement `From<&HeaderMap>` for `http::HeaderMap` ( #3230 )
...
* Add From impl for header map references
* Add From impl for header map references
* Remove Into<HeaderMap> via http::HeaderMap
* fix changelog
---------
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2024-02-01 12:52:35 +00:00
Rob Ede
ccb90dd5a1
docs: update changelog
2023-12-25 02:36:17 +00:00
Rob Ede
1c88af50c0
docs: fix changelog
2023-12-25 02:35:22 +00:00
Rob Ede
f4f459d420
chore(actix-http): prepare release 3.5.1
2023-12-25 02:30:14 +00:00
Rob Ede
d14e98b62b
prevent hang when compressing Sized(0) bodies
...
fixes #3229
2023-12-25 02:27:51 +00:00
Rob Ede
0d9ca4d939
chore(actix-http): prepare release 3.5.0
2023-12-23 19:17:56 +00:00
SleeplessOne1917
eefe8b0733
Implement From<HeaderMap> for http::HeaderMap ( #3222 )
...
* Implement From<HeaderMap> for http::HeaderMap
* Update changelog
* Apply clippy fix
* doc tweak
---------
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2023-12-16 10:08:45 +00:00
Paul
2fe5189954
Do not encode zero-sized response bodies ( #3199 )
...
* Do not encode zero-sized response bodies
* Test empty response remains empty after compression
2023-11-26 20:57:19 +00:00
dependabot[bot]
b78f6da05f
build(deps): update zstd requirement from 0.12 to 0.13 ( #3165 )
...
* build(deps): update zstd requirement from 0.12 to 0.13
Updates the requirements on [zstd](https://github.com/gyscos/zstd-rs ) to permit the latest version.
- [Release notes](https://github.com/gyscos/zstd-rs/releases )
- [Commits](https://github.com/gyscos/zstd-rs/compare/v0.12.0...v0.13.0 )
---
updated-dependencies:
- dependency-name: zstd
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: 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>
2023-10-30 01:18:45 +00:00
Rob Ede
39abe3ae5e
docs: fix -http changelog
2023-08-29 01:57:19 +01:00
Rob Ede
45fdc08788
chore(actix-http): prepare release 3.4.0
2023-08-29 01:51:54 +01:00
Rob Ede
384ca0a2cd
chore: remove dates from changelogs
2023-08-29 01:14:33 +01:00
Rob Ede
55c15f5bbf
minimum viable rustls v0.21 support ( #3112 )
2023-08-27 00:07:11 +01:00
Rob Ede
b4fcdffdc3
chore: update msrv to 1.68 ( #3094 )
2023-08-01 19:33:32 +01:00
Rob Ede
241da6e081
update MSRV to 1.65 ( #3059 )
2023-07-02 01:09:15 +01:00
Rob Ede
9e7a6fe57b
add `body::to_bytes_limited` ( #3000
...
* add body::to_body_limit
* rename to_bytes_limited
2023-03-13 13:31:48 +00:00
Rob Ede
e0939a01fc
prepare actix-http release 3.3.1
2023-03-02 17:09:26 +00:00
Rob Ede
20c7c07dc0
fix http version req
2023-03-02 16:21:13 +00:00
Rob Ede
d77bcb0b7c
update date in unreleased changelog sections
2023-02-26 21:45:36 +00:00
Rob Ede
e2fed91efd
format markdown with prettier
2023-02-26 03:26:51 +00:00
Lioness100
42193bee29
fix typos ( #2982 )
2023-02-20 08:11:16 +00:00
Rob Ede
fa106da555
refactor: move Host guard into own module
2023-01-30 11:36:12 -05:00
Rob Ede
dd9ac4d9b8
prepare actix-http release 3.3.0
2023-01-21 18:52:57 +00:00
cumtyc
2f0b8a264a
fix non-empty body of http2 HEAD response ( #2920 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2023-01-21 00:51:49 +00:00