Commit Graph

573 Commits

Author SHA1 Message Date
Rob Ede b9f0faafde
add cache-status and cdn-cache-control header names (#2968)
* add cache-status and cdn-cache-control header names

* fix changelog

* update docs with rfc numbers
2023-01-21 00:02:54 +00:00
Nikolai Vazquez cfd40b4f15
Implement `MessageBody` for `Cow<'static, {[u8], str}>` (#2959) 2023-01-06 21:56:16 +00:00
Rob Ede 08c2cdf641
http service finalizer for automatic h2c detection (#2957)
* http service finalizer for automatic h2c detection

* update changelog

* add h2c auto test
2023-01-03 14:43:02 +00:00
Rob Ede fbd0e5dd0a
add headermap::retain (#2955)
* add headermap::retain

* update changelog and docs

* fix retain doc test
2023-01-02 13:38:07 +00:00
Rob Ede 7b936bc443
add some useful header name constants (#2956) 2023-01-02 13:33:31 +00:00
Rob Ede 6f0a6bd1bb
address clippy lints
For intrepid commit message readers:
The choice to add allows for the inlined format args lint instead of actually
inlining them is not very clear because our actual real world MSRV is not clear.
We currently claim 1.60 is our MSRV but this is mainly due to dependencies. I'm
fairly sure that we could support < 1.58 if those deps are outdated in a users
lockfile. We'll remove these allows again at some point soon.
2023-01-01 20:56:34 +00:00
Rob Ede 29bd6a1dd5
fix version requirement for futures_util 2022-12-18 01:34:48 +00:00
Rob Ede a2e2c30d59
use tokio-util deps directly where possible 2022-10-30 19:47:49 +00:00
Rob Ede cc7145d41d
rust 1.64 clippy run (#2891) 2022-09-25 20:54:17 +01:00
Rob Ede 172c4c7a0a
use noop hasher in extensions (#2890) 2022-09-25 15:32:26 +01:00
Rob Ede c73fba16ce
implement MessageBody for mut B (#2868) 2022-09-14 11:23:22 +01:00
Rob Ede ea764b1d57
add feature annotations to docs 2022-07-31 23:40:09 +01:00
Rob Ede 4bbe60b609
document h2 ping-pong 2022-07-24 16:42:35 +01:00
Rob Ede 8ff489aa90
apply fix from #2369 2022-07-24 16:35:00 +01:00
Rob Ede e0a88cea8d
remove unwindsafe assertions 2022-07-24 02:47:12 +01:00
Rob Ede 6408291ab0
appease clippy by deriving Eq on a bunch of items (#2818) 2022-07-23 16:26:48 +01:00
Rob Ede c0d5d7bdb5
add octal-ish CL test 2022-07-02 21:04:37 +01:00
Rob Ede 40eab1f091
simplify simple decoder tests 2022-07-02 20:07:27 +01:00
Rob Ede e524fc86ea
add HTTP/0.9 rejection test 2022-07-01 09:03:57 +01:00
Rob Ede 7e990e423f
add http/1.0 GET parsing tests 2022-07-01 08:24:45 +01:00
Rob Ede 8f9a12ed5d
fix parsing ambiguities for HTTP/1.0 requests (#2794)
* fix HRS vuln when first CL header is 0

* ignore TE headers in http/1.0 reqs

* update changelog

* disallow HTTP/1.0 requests without a CL header

* fix test

* broken fix for http1.0 post requests
2022-07-01 08:23:40 +01:00
Rob Ede 06c7945801
retain previously set vary headers when using compress (#2798)
* retain previously set vary headers when using compress
2022-06-30 09:19:16 +01:00
Ulf Lilleengen 0dba6310c6
Expose option for setting TLS handshake timeout (#2752)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2022-06-27 02:57:21 +00:00
Rob Ede f7d7d92984
address clippy lints 2022-06-27 03:12:36 +01:00
oatoam de92b3be2e
fix unrecoverable Err(Overflow) in websocket frame parser (#2790) 2022-06-24 03:46:17 +00:00
Rob Ede 264a703d94
revert broken fix in #2624 (#2779)
* revert broken fix in #2624

* update changelog
2022-06-11 13:43:13 +01:00
Rob Ede 56b9c0d08e
remove payload unwindsafe impl assert 2022-04-23 12:31:32 +01:00
Rob Ede 2fed978597
remove -http TestRequest doc test 2022-03-28 22:44:32 +01:00
Rob Ede 80d222aa78
use tracing in actix-http 2022-03-10 03:12:29 +00:00
Rob Ede 745e738955
fix negative impl assertion on 1.60+
see https://github.com/rust-lang/rust/issues/94791
2022-03-10 02:36:57 +00:00
Rob Ede dce9438518
document with ws feature 2022-03-09 18:11:12 +00:00
Rob Ede 8ddb24b49b
prepare awc release 3.0.0 (#2684) 2022-03-08 16:51:40 +00:00
Rob Ede 87f627cd5d
improve servicerequest docs 2022-03-07 16:48:04 +00:00
Santiago 0fa4d999d9
fix(actix-http): encode correctly camel case header with n+2 hyphens (#2683)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2022-03-05 22:24:21 +00:00
Rob Ede 49cd303c3b
fix dispatcher panic when conbining pipelining and keepalive
fixes #2678
2022-03-04 03:12:38 +00:00
Rob Ede ad38973767
move blocking error to web (#2660) 2022-02-22 08:45:28 +00:00
Rob Ede 1c1d6477ef
remove legacy ws test 2022-02-22 07:11:16 +00:00
Rob Ede 53509a5361
ignore all http1 connection headers in h2 2022-02-22 07:07:12 +00:00
Rob Ede 218e34ee17
fix http error debug impl 2022-02-22 07:07:12 +00:00
Rob Ede 1ce58ecb30
fix dispatcher panic on pending flush
fixes thread panic in actix-http-3.0.0-rc.3 #2655
2022-02-22 00:19:48 +00:00
Rob Ede a808a26d8c
bump actix-codec to 0.5 2022-02-15 20:49:10 +00:00
Rob Ede 1b706b3069
update body type migration guide 2022-02-09 16:12:39 +00:00
Rob Ede ff4b2d251f
fix impl assertions 2022-02-08 14:32:57 +00:00
Rob Ede 98faa61afe
fix impl assertions 2022-02-08 13:37:01 +00:00
Rob Ede 3d621677a5
clippy 2022-02-08 08:00:47 +00:00
Rob Ede 1d1a65282f
RC refinements (#2625) 2022-02-04 20:37:33 +00:00
Rob Ede 5ca42df89a
fix stuck connection when handler doesn't read payload (#2624) 2022-02-03 07:03:39 +00:00
Rob Ede cd511affd5
add ws and http2 feature flags (#2618) 2022-01-31 21:22:23 +00:00
Rob Ede 3200de3f34
fix request head timeout (#2611) 2022-01-31 17:30:34 +00:00
Rob Ede cc9ba162f7
add late request dispatcher test 2022-01-27 17:00:07 +00:00
Rob Ede 37799df978
add basic dispatcher test 2022-01-27 06:42:54 +00:00
Rob Ede 3ae4f0a629
add keep-alive dispatcher tests 2022-01-27 06:29:46 +00:00
Rob Ede 14a4f325d3
move dispatcher tests to own file 2022-01-27 06:06:55 +00:00
Rob Ede 50894e392e
document new body map types 2022-01-23 23:26:35 +00:00
Rob Ede 008753f07a
improve body docs 2022-01-23 03:57:08 +00:00
Rob Ede 8459f566a8
fix brotli encoding buffer size 2022-01-21 21:17:07 +00:00
Rob Ede 141790b200
use camel case in special headers
fixes #2595
2022-01-21 20:15:43 +00:00
Rob Ede 1bc1538118
use tokio::main in client example 2022-01-19 21:36:14 +00:00
Rob Ede 2ffc21dd4f
move response extensions out of head (#2585) 2022-01-19 02:09:25 +00:00
Rob Ede 7b8a392ef5
allow camel case response headers (#2587) 2022-01-16 03:16:26 +00:00
Rob Ede e7cae5a95b
migrate to `brotli` crate (#2538) 2022-01-15 14:03:16 +00:00
Rob Ede 0bc4ae9158
remove `BodyEncoding` trait (#2565) 2022-01-03 18:46:04 +00:00
Rob Ede 68cd853aa2
improve docs for Compress 2022-01-03 14:59:01 +00:00
Rob Ede 25fe1bbaa5
add double compress layer test 2022-01-03 14:05:08 +00:00
Rob Ede e890307091
Fix AcceptEncoding header (#2501) 2022-01-03 13:17:57 +00:00
Rob Ede 4616ca8ee6
rework `Guard` trait (#2552) 2021-12-28 02:37:13 +00:00
Rob Ede 2308f8afa4
use const header values where possible 2021-12-27 16:15:33 +00:00
Rob Ede 1296e07c48
relax unpin bounds on payload types (#2545) 2021-12-24 17:47:47 +00:00
Rob Ede b3ac918d70
update itoa to v1 2021-12-22 08:34:48 +00:00
Rob Ede 64c2e5e1cd
remove crate level clippy lint 2021-12-22 07:16:07 +00:00
Rob Ede 17f636a183
split request and response modules (#2530) 2021-12-19 17:05:27 +00:00
Thales 84ea9e7e88
http: Replace header::map::GetAll with std::slice::Iter (#2527) 2021-12-18 00:05:12 +00:00
Rob Ede ae47d96fc6
use body::None in encoder body 2021-12-17 20:56:54 +00:00
Rob Ede 5842a3279d
update messagebody documentation 2021-12-17 19:35:08 +00:00
Rob Ede 1d6f5ba6d6
improve codegen on BoxBody poll_next 2021-12-17 19:19:21 +00:00
Rob Ede aa31086af5
improve BoxBody Debug impl 2021-12-17 19:16:42 +00:00
Ali MJ Al-Nasrawy 57ea322ce5
simplify MessageBody::complete_body interface (#2522) 2021-12-17 19:09:08 +00:00
Rob Ede 2cf27863cb
remove direct dep on pin-project in -http (#2524) 2021-12-17 14:13:54 +00:00
Rob Ede 5359fa56c2
include source for dispatch body errors 2021-12-17 01:29:41 +00:00
Ali MJ Al-Nasrawy 3c0d059d92
MessageBody::boxed (#2520)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-12-17 00:43:40 +00:00
Rob Ede 44b7302845
minimize futures-util dep in actix-http 2021-12-16 22:26:45 +00:00
Ali MJ Al-Nasrawy a6d5776481
various fixes to MessageBody::complete_body (#2519) 2021-12-16 22:25:10 +00:00
Rob Ede 156cc20ac8
refactor testing utils (#2518) 2021-12-15 01:44:51 +00:00
Rob Ede 11ee8ec3ab
align remaining header map terminology (#2510) 2021-12-13 16:08:08 +00:00
Rob Ede 551a0d973c
doc tweaks 2021-12-13 02:58:19 +00:00
Rob Ede b41b346c00
inline trivial body methods 2021-12-11 16:05:08 +00:00
Rob Ede 774ac7fec4
provide optimisation path for single-chunk body types (#2497) 2021-12-09 13:52:35 +00:00
Rob Ede 69fa17f66f
clean future h2 dispatcher 2021-12-09 11:27:29 +00:00
Rob Ede 7dc034f0fb
Remove extensions from head (#2487) 2021-12-08 22:58:50 +00:00
Rob Ede 07f2fe385b
standardize crate level lints 2021-12-08 06:09:56 +00:00
Rob Ede 406f694095
standardize rustfmt max_width 2021-12-08 06:01:11 +00:00
Rob Ede e49e559f47
fix some docs 2021-12-08 05:43:50 +00:00
Rob Ede d35b7644dc
add connection level data container (#2491) 2021-12-07 17:23:34 +00:00
Rob Ede 2d053b7036
remove `actix_http::http` module (#2488) 2021-12-05 14:37:20 +00:00
Rob Ede e1a2d9c606
`Quality` / `QualityItem` improvements (#2486) 2021-12-05 03:38:08 +00:00
Mohammed Sazid Al Rashid 4c9ca7196d
Add `WsResponseBuilder` to build web socket session response (#1920)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-12-04 22:32:44 +00:00
Rob Ede c7c02ef99d
body ergonomics v3 (#2468) 2021-12-04 19:40:47 +00:00
fakeshadow a2d5c5a058
Use cilent time out for h2 handshake timeout. (#2483) 2021-12-02 18:16:34 +00:00
Rob Ede deece8d519
re-instate accept-encoding typed header (#2482) 2021-12-02 17:04:40 +00:00
Rob Ede 2a72bdae09
improve typed header macro (#2481) 2021-12-02 15:25:39 +00:00