1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-12-01 02:54:36 +01:00
Commit Graph

191 Commits

Author SHA1 Message Date
Rob Ede
edd9f14752
remove unpin from body types (#2152) 2021-04-13 11:16:12 +01:00
Rob Ede
44c55dd036
remove cookie support from -http (#2065) 2021-04-09 18:07:10 +01:00
Rob Ede
c8ed8dd1a4
migrate to -utils beta 4 (#2127) 2021-04-01 15:26:13 +01:00
fakeshadow
1281a748d0
merge H1ServiceHandler requests into HttpServiceHandler (#2126) 2021-03-30 03:06:16 +01:00
fakeshadow
6822bf2f58
Refactor actix_http::h1::service (#2117) 2021-03-26 16:15:04 +00:00
fakeshadow
69dd1a9bd6
Remove ConnectionLifetime trait. Simplify Acquired handling (#2072) 2021-03-16 02:56:23 +00:00
fakeshadow
515d0e3fb4
change behavior of default upgrade handler (#2071) 2021-03-13 22:20:18 +00:00
fakeshadow
fe0b3f459f
remove localwaker from h1::payload (#2051) 2021-03-07 21:23:42 +00:00
Rob Ede
ca69b6577e
use iota for more content-length insertions (#2050) 2021-03-07 19:29:02 +00:00
Rob Ede
b95e1dda34
pin h2 to 0.3.0 2021-02-27 19:57:09 +00:00
fakeshadow
f62a982a51
simplify the match on h1 message type (#2006) 2021-02-18 10:38:27 +00:00
fakeshadow
dfa795ff9d
return poll in poll_flush (#2005) 2021-02-17 11:18:31 +00:00
fakeshadow
68d1bd88b1
remove unused flag upgrade (#1992) 2021-02-14 18:13:05 +00:00
fakeshadow
308b70b039
fix potential over read (#1991) 2021-02-14 17:36:18 +00:00
Rob Ede
3279070f9f
optional cookies features (#1981) 2021-02-13 15:08:43 +00:00
fakeshadow
366c032c36
refactor DateService (#1983) 2021-02-12 21:52:58 +00:00
fakeshadow
95113ad12f
do not self wake up when have a payload (#1984) 2021-02-12 20:33:13 +00:00
fakeshadow
ce9b2770e2
remove unused Dispatcher::new_timeout (#1985) 2021-02-12 10:37:28 +00:00
Rob Ede
4fc7d76759
s/websocket/WebSocket in docs 2021-02-12 00:27:20 +00:00
Rob Ede
c1af5089b9
add 431 and 451 status codes 2021-02-11 22:58:40 +00:00
Rob Ede
77efc09362
hide httpmessage mod 2021-02-11 22:58:40 +00:00
Rob Ede
871ca5e4ae
stop claiming actor support 2021-02-11 22:58:40 +00:00
fakeshadow
ceace26ed4
remove unused flag POLLED (#1980) 2021-02-11 14:19:14 -08:00
fakeshadow
75a9a72e78
clean up poll_response. add comments (#1978) 2021-02-11 14:54:42 +00:00
fakeshadow
d9d0d1d1a2
reduce unsafe (#1972) 2021-02-10 23:11:12 +00:00
fakeshadow
dcad9724bc
ensure poll_flush on h1 connection disconnect (#1974) 2021-02-10 10:11:53 +00:00
Rob Ede
949d14ae2b
clean up header map (#1964) 2021-02-09 22:59:17 +00:00
fakeshadow
a6ed4aee84
add poll_flush after a non blocked write to h1 dispatcher (#1971) 2021-02-09 22:32:46 +00:00
fakeshadow
266cf0622c
reduce branch.remove deadcode for h1 dispatcher (#1962) 2021-02-07 22:48:27 +00:00
fakeshadow
4c243cbf89
simplify methods of awc::connect::Connect trait (#1941) 2021-02-07 18:56:39 +00:00
fakeshadow
7cfed73be8
fix memory usage for h1 and read bug on buffer size. (#1929) 2021-02-07 03:20:35 +00:00
fakeshadow
41bc04b1c4
Use immutable reference of service state. Update awc dns resolver. (#1905) 2021-02-07 01:00:40 +00:00
fakeshadow
1c95fc2654
Refactor poll_keepalive for readability (#1901) 2021-01-16 00:15:06 +00:00
fakeshadow
d34a8689e5
Refactor h1 encoder (#1900) 2021-01-12 14:38:53 +00:00
fakeshadow
7affc6878e
simplify h1 dispatcher (#1899)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-11 00:13:56 +00:00
fakeshadow
a4c9aaf337
fix extra branch in h1 dispatcher timer (#1882) 2021-01-07 20:42:09 +00:00
fakeshadow
6d710629af
fix bug where upgrade future is not reset properly (#1880) 2021-01-07 00:57:34 +00:00
Rob Ede
51e9e1500b
add docs to recent additions 2021-01-06 18:52:06 +00:00
fakeshadow
a03dbe2dcf
replace cloneable service with httpflow abstraction (#1876) 2021-01-06 18:43:52 +00:00
Rob Ede
2d4a174420
fmt 2021-01-04 01:01:35 +00:00
Rob Ede
21f6c9d7a5
improve code readability 2021-01-04 00:49:02 +00:00
fakeshadow
32de9f8840
Tokio 1.0 (#1813)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-03 23:47:04 +00:00
Rob Ede
1f202d40e4
optimize write_camel_case in h1 encoder (#1868) 2021-01-03 16:53:01 +00:00
Rob Ede
093d3a6c59
remove deprecated on_connect methods (#1857) 2020-12-27 23:23:30 +00:00
fakeshadow
f9fcf56d5c
reduce branch in actix_http::h1::codec (#1854) 2020-12-27 20:37:53 +00:00
fakeshadow
1032f04ded
remove unused actix_http::h1::OneRequest (#1853) 2020-12-26 12:46:36 +00:00
fakeshadow
ecf08d5156
Remove boxed future from h1 Dispatcher (#1836) 2020-12-24 19:15:17 +00:00
Rob Ede
2a7f2c1d59
dispatcher internals testing (#1840) 2020-12-23 01:28:17 +00:00
Juan Aguilar
542db82282
Simplify wake up of task (#1826) 2020-12-12 20:07:06 +00:00
Sebastian Mayr
5468c3c410
Drop content length headers from 101 responses (#1767)
Co-authored-by: Sebastian Mayr <smayr@atlassian.com>
2020-11-02 17:44:14 +09:00
Rob Ede
9963a5ef54
expose on_connect v2 (#1754)
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
2020-10-30 02:03:26 +00:00
Rob Ede
9d0534999d
bump connect and tls versions (#1655) 2020-09-09 09:20:54 +01:00
Rob Ede
9a9d4b182e
document all remaining unsafe usages (#1642)
adds some debug assertions where appropriate
2020-09-03 10:00:24 +01:00
Rob Ede
8497b5f490
integrate with updated actix-{codec, utils} (#1634) 2020-08-24 10:13:35 +01:00
Yuki Okushi
92b5bcd13f
Check format and tweak CI config (#1619) 2020-07-22 00:28:33 +01:00
masnagam
701bdacfa2
Fix illegal chunked encoding (#1615)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-07-21 17:24:56 +01:00
Rob Ede
6dc47c4093
fix soundness concern in h1 decoder (#1614)
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-07-21 16:25:33 +01:00
Rob Ede
0ec335a39c
bump MSRV to 1.42 (#1616) 2020-07-21 16:40:30 +09:00
Andrew
e72ee28232
Enforce HW_BUFFER_SIZE inside h1::dispatcher (#1550) 2020-06-17 08:58:23 +01:00
Taiki Endo
6c5c4ea230 Remove uses of pin_project::project attribute
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: https://github.com/taiki-e/pin-project/issues/225
2020-06-06 06:44:14 +09:00
Rob Ede
7e8ea44d5c
remove needless BodySize::Sized64 variant 2020-05-18 00:42:51 +01:00
Rob Ede
f3b0233477
use mem::take where possible (#1507) 2020-05-17 10:54:42 +09:00
Rob Ede
5b0f7fff69
fix spelling errors in doc comments 2020-04-21 04:09:35 +01:00
Yuki Okushi
0d5646a8b6
Run rustfmt 2020-03-08 00:52:39 +09:00
Aaron Hill
e90950fee1
Re-apply commit 2cf7b3ad20
This ended up getting reverted by #1367, which re-introduced an unsound
use of `Pin::new_unchecked`

See my original PR #1374 for the reasoning behind this change.
2020-03-04 11:27:58 -05:00
Yuki Okushi
6cc83dbb67 Allow clippy lint for compatibility 2020-02-27 12:45:11 +09:00
Yuki Okushi
f27dd19093 Fix Clippy warnings 2020-02-27 12:39:04 +09:00
Yuki Okushi
7ba14fd113 Run rustfmt 2020-02-27 11:10:55 +09:00
Maksym Vorobiov
0a86907dd2 use mem::replace instead of mem::take rust 1.40+ 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
de815dd99c Fixed condition for finishing transfer of response 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
c05f9475c5 refactor dispatcher to avoid possible UB with DispatcherState Pin 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
69dab0063c Get rid of one more unsafe 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
ec5c779732 unlink MessageBody from Unpin 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
2e2ea7ab80 remove extra whitespaces and Unpins 2020-02-27 09:37:05 +09:00
Maksym Vorobiov
9d04b250f9 This is a squashed commit:
- Convert MessageBody to accept Pin in poll_next

- add CHANGES and increase versions aligned to semver

- update crates to accomodate MessageBody Pin change

- fix tests and dependencies
2020-02-27 09:37:05 +09:00
Aaron Hill
71c4bd1b30
Remove uses of Pin::new_unchecked in h1 Dispatcher (#1374)
This removes the last uses of unsafe `Pin` functions in actix-web.

This PR adds a `Pin<Box<_>>` wrapper to `DispatcherState::Upgrade`,
`State::ExpectCall`, and `State::ServiceCall`.

The previous uses of the futures `State::ExpectCall` and `State::ServiceCall`
were Undefined Behavior - a future was obtained from `self.expect.call`
or `self.service.call`, pinned on the stack, and then immediately
returned from `handle_request`. The only alternative to using `Box::pin`
would be to refactor `handle_request` to write the futures directly into
their final location, or avoid polling them before they are returned.

The previous use of `DispatcherState::Upgrade` doesn't seem to be
unsound. However, having data pinned inside an enum that we
`std::mem::replace` would require some careful `unsafe` code to ensure
that we never call `std::mem::replace` when the active variant contains
pinned data. By using `Box::pin`, we any possibility of future
refactoring accidentally introducing undefined behavior.

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-02-26 08:21:05 +09:00
Nikolay Kim
e66312b664 add extra constraints 2020-01-10 11:36:59 +06:00
Nikolay Kim
1d12ba9d5f Replace brotli with brotli2 #1224 2019-12-20 13:50:07 +06:00
Nikolay Kim
8c54054844 Use .advance() intead of .split_to() 2019-12-19 09:56:14 +06:00
Nikolay Kim
1732ae8c79 fix Bodyencoding trait usage 2019-12-18 09:30:14 +06:00
Rajasekharan Vengalil
3b860ebdc7 Fix poll_ready call for WebSockets upgrade (#1219)
* Fix poll_ready call for WebSockets upgrade

* Poll upgrade service from H1ServiceHandler too
2019-12-17 13:34:25 +06:00
Nikolay Kim
3d64d565d9 fix warnings 2019-12-13 11:46:02 +06:00
Nikolay Kim
c1deaaeb2f cleanup imports 2019-12-13 11:24:57 +06:00
Nikolay Kim
b81417c2fa fix warnings 2019-12-13 10:59:02 +06:00
Nikolay Kim
fa07415721 Replace flate2-xxx features with compress 2019-12-12 15:08:08 +06:00
Nikolay Kim
5132257b0d Fix buffer remaining capacity calcualtion 2019-12-09 21:55:22 +06:00
Nikolay Kim
0c1f5f9edc Check Upgrade service readiness before calling it 2019-12-09 17:40:15 +06:00
Nikolay Kim
6c9f9fff73 clippy warnings 2019-12-08 00:46:51 +06:00
Nikolay Kim
205a964d8f upgrade to tokio 0.2 2019-12-05 23:35:43 +06:00
Nikolay Kim
068f047dd5 update service factory config 2019-12-02 21:37:13 +06:00
Nikolay Kim
f4c01384ec update to latest actix-net 2019-12-02 17:33:11 +06:00
Nikolay Kim
4dc31aac93 use actix_rt::test for test setup 2019-11-26 11:25:50 +06:00
Nikolay Kim
1ffa7d18d3 drop unpin constraint 2019-11-21 16:02:17 +06:00
Nikolay Kim
687884fb94 update test-server tests 2019-11-21 16:02:17 +06:00
Nikolay Kim
a6a2d2f444 update ssl impls 2019-11-21 16:02:17 +06:00
Nikolay Kim
9e95efcc16 migrate client to std::future 2019-11-21 16:02:17 +06:00
Nikolay Kim
8cba1170e6 make actix-http compile with std::future 2019-11-21 16:02:17 +06:00
Nikolay Kim
f7f410d033 fix test order dep 2019-11-06 11:20:47 -08:00
Yuki Okushi
c1f99e0775
Remove mem::uninitialized() (#1090) 2019-09-16 07:52:23 +09:00
Nikolay Kim
60b7aebd0a fmt & clippy 2019-09-12 21:52:46 +06:00