Maksym Vorobiov
835a00599c
rollback missed dependencies and CHANGES in crates except actix-http
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
d9c415e540
disable weird poll test until actix-web based on actix-http:2
2020-02-27 09:37:05 +09:00
Aaron Hill
fe13789345
Use Pin<Box<S>>
in BodyStream
and SizedStream
( #1328 )
...
Fixes #1321
A better fix would be to change `MessageBody` to take a `Pin<&mut
Self>`, rather than a `Pin<&mut Self>`. This will avoid requiring the
use of `Box` for all consumers by allowing the caller to determine how
to pin the `MessageBody` implementation (e.g. via stack pinning).
However, doing so is a breaking change that will affect every user of
`MessageBody`. By pinning the inner stream ourselves, we can fix the
undefined behavior without breaking the API.
I've included @sebzim4500's reproduction case as a new test case.
However, due to the nature of undefined behavior, this could pass (and
not segfault) even if underlying issue were to regress.
Unfortunately, until rust-lang/unsafe-code-guidelines#148 is resolved,
it's not even possible to write a Miri test that will pass when the bug
is fixed.
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-31 09:39:34 +09:00
Nikolay Kim
6a0cd2dced
Rename HttpServer::start() to HttpServer::run()
2019-12-22 17:12:22 +04:00
Nikolay Kim
c877840c07
rename App::register_data to App::app_data and HttpRequest::app_data returns Option<&T> instead of Option<&Data<T>>
2019-12-20 17:13:09 +06:00
Nikolay Kim
20248daeda
Allow to set peer_addr for TestRequest #1074
2019-12-20 16:11:51 +06:00
Nikolay Kim
a08d8dab70
AppConfig::secure() is always false. #1202
2019-12-20 16:04:51 +06:00
Nikolay Kim
1d12ba9d5f
Replace brotli with brotli2 #1224
2019-12-20 13:50:07 +06:00
Nikolay Kim
1732ae8c79
fix Bodyencoding trait usage
2019-12-18 09:30:14 +06:00
Nikolay Kim
db1d6b7963
refactor test server impl
2019-12-12 22:28:47 +06:00
Nikolay Kim
fa07415721
Replace flate2-xxx features with compress
2019-12-12 15:08:08 +06:00
Nikolay Kim
4a8a9ef405
update tests and clippy warnings
2019-12-08 12:31:16 +06:00
daxpedda
e5f3d88a4e
Switch brotli compressor to rust. ( #1197 )
...
* Switch to a rustified version of brotli.
* Some memory optimizations.
* Make brotli not optional anymore.
2019-12-07 21:55:41 +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
8683ba8bb0
rename .to_async() to .to()
2019-11-21 21:36:35 +06:00
Nikolay Kim
3127dd4db6
migrate actix-web to std::future
2019-11-21 16:02:17 +06:00
Nikolay Kim
1ffa7d18d3
drop unpin constraint
2019-11-21 16:02:17 +06:00
Marat Safin
cb19ebfe0c
add rustls support for actix-http and awc ( #998 )
...
* add rustls support for actix-http and awc
* fix features conflict
* remove unnecessary duplication
* test server with rust-tls
* fix
* test rustls
* awc rustls test
* format
* tests
* fix dependencies
* fixes and add changes
* remove test-server and Cargo.toml dev-dependencies changes
* cargo fmt
2019-07-31 13:02:56 -07:00
Nikolay Kim
163ca89cf4
more tests
2019-04-17 17:48:25 -07:00
Nikolay Kim
ee33f52736
make extractor config type explicit
2019-04-13 16:35:25 -07:00
Nikolay Kim
4f30fa9d46
Remove generic type for request payload, always use default
2019-04-13 14:50:54 -07:00
Nikolay Kim
0a6dd0efdf
fix compression tests
2019-04-08 12:48:39 -07:00
Nikolay Kim
3872d3ba5a
refactor h1 dispatcher
2019-04-06 08:12:58 -07:00
Nikolay Kim
fbedaec661
add expect: 100-continue support #141
2019-04-05 16:46:44 -07:00
Nikolay Kim
309c480782
encoder sent uncompressed data before compressed
2019-04-04 15:03:40 -07:00
Nikolay Kim
bca31eb7ad
remove Deref
2019-04-02 13:35:01 -07:00
Nikolay Kim
34695f4bce
rename test methods; update tests
2019-03-31 20:43:00 -07:00
Nikolay Kim
193f8fb2d9
update tests
2019-03-29 18:51:07 -07:00
Douman
00526f60dc
Impl BodyEncoding for Response ( #740 )
2019-03-29 16:29:11 -07:00
Nikolay Kim
c126713f40
add rustls support to HttpServer
2019-03-29 16:28:32 -07:00
Nikolay Kim
878f32c495
fix tests for no-default-features
2019-03-28 14:27:07 -07:00
Nikolay Kim
605ce05127
App::enable_encoding() allows to enable compression and decompression
2019-03-28 12:32:59 -07:00
Nikolay Kim
e254fe4f9c
allow to override response body encoding
2019-03-27 11:29:31 -07:00
Nikolay Kim
1cca25c276
add client decompression support
2019-03-26 20:45:00 -07:00
Nikolay Kim
1904b01fc0
add content-encoding decompression
2019-03-26 15:14:32 -07:00
Nikolay Kim
50c0ddb3cd
update tests
2019-03-26 12:31:51 -07:00
Nikolay Kim
86a21c956c
rename .middleware to .wrap
2019-03-25 13:02:10 -07:00
Nikolay Kim
88152740c6
move macros tests to codegen crate
2019-03-17 20:20:10 -07:00
Nikolay Kim
a07ea00cc4
add basic test for proc macro
2019-03-17 13:55:03 -07:00
Nikolay Kim
b550f9ecf4
update imports
2019-03-17 01:08:56 -07:00
Nikolay Kim
1f9467e880
update tests
2019-03-14 12:01:35 -07:00
Nikolay Kim
86405cfe7a
more tests
2019-03-12 22:57:09 -07:00
Nikolay Kim
fe22e83144
refactor service registration process; unify services and resources
2019-03-06 15:47:15 -08:00
Nikolay Kim
8103d33270
use custom request for FromRequest trait
2019-03-02 19:19:56 -08:00
Nikolay Kim
e6d04d24cc
move fs to separate crate
2019-03-01 23:59:44 -08:00
Nikolay Kim
2d7293aaf8
copy actix-web2
2019-03-01 22:51:32 -08:00
Douman
4d45313f9d
Decode special characters when handling static files
2019-01-08 10:46:58 +03:00
silwol
b1635bc0e6
Update some dependencies ( #612 )
...
* Update rand to 0.6
* Update parking_lot to 0.7
* Update env_logger to 0.6
2018-12-04 09:58:22 +03:00
François
c386353337
decode reserved characters when extracting path with configuration ( #577 )
...
* decode reserved characters when extracting path with configuration
* remove useless clone
* add a method to get decoded parameter by name
2018-11-24 16:54:11 +03:00
Nikolay Kim
9ab586e24e
update actix-net dep
2018-11-08 16:06:23 -08:00
Nikolay Kim
4e7fac08b9
do not override content-length header
2018-10-08 15:30:59 -07:00
Danil Berestov
10678a22af
test content length ( #532 )
2018-10-06 08:17:20 +03:00
Nikolay Kim
b0677aa029
fix stable compatibility
2018-10-02 19:42:24 -07:00
Nikolay Kim
2710f70e39
add H1 transport
2018-10-02 17:30:29 -07:00
Nikolay Kim
ae5c4dfb78
refactor http channels list; rename WorkerSettings
2018-10-02 15:25:32 -07:00
Nikolay Kim
d7379bd10b
update server ssl tests; upgrade rustls
2018-10-02 13:41:33 -07:00
Nikolay Kim
b59712c439
add ssl handshake timeout tests
2018-10-02 11:32:43 -07:00
Nikolay Kim
724668910b
fix ssh handshake timeout
2018-10-02 11:18:59 -07:00
Nikolay Kim
61c7534e03
fix stream flushing
2018-10-02 10:43:23 -07:00
Nikolay Kim
f3ce6574e4
fix client timer and add slow request tests
2018-10-02 00:19:28 -07:00
Nikolay Kim
368f73513a
set tcp-keepalive for test as well
2018-10-01 22:25:53 -07:00
Nikolay Kim
c674ea9126
add StreamConfiguration service
2018-10-01 22:23:02 -07:00
Nikolay Kim
7c78797d9b
proper stop for test_ws_stopped test
2018-10-01 21:30:00 -07:00
Nikolay Kim
84edc57fd9
increase sleep time
2018-10-01 21:19:27 -07:00
Nikolay Kim
1bac65de4c
add websocket stopped test
2018-10-01 20:15:26 -07:00
Nikolay Kim
16945a554a
add client shutdown timeout
2018-10-01 20:04:16 -07:00
Nikolay Kim
c1e0b4f322
expose internal http server types and allow to create custom http pipelines
2018-10-01 14:43:06 -07:00
Nikolay Kim
9f1417af30
refactor http service builder
2018-09-27 18:33:29 -07:00
Nikolay Kim
a63d3f9a7a
cleanup ServerFactory trait
2018-09-27 18:33:29 -07:00
Nikolay Kim
6a61138bf8
enable ssl feature
2018-09-27 18:33:29 -07:00
Douman
0dc96658f2
Send response to inform client of error ( #515 )
2018-09-21 07:24:10 +03:00
Nikolay Kim
d65c72b44d
use server keep-alive timer as slow request timer
2018-09-15 09:55:38 -07:00
Nikolay Kim
4ca9fd2ad1
remove debug print
2018-09-03 22:09:12 -07:00
Nikolay Kim
f0f67072ae
Read client response until eof if connection header set to close #464
2018-09-03 21:35:59 -07:00
Nikolay Kim
968c81e267
Handling scoped paths without leading slashes #460
2018-09-02 08:14:54 -07:00
Robert Gabriel Jakabosky
0425e2776f
Fix Issue #490 ( #498 )
...
* Add failing testcase for HTTP 404 response with no reason text.
* Include canonical reason test for HTTP error responses.
* Don't send a reason for unknown status codes.
2018-09-01 12:00:32 +03:00
Robert G. Jakabosky
487519acec
Add client test for 'Connection: close' as reported in issue #495
2018-09-01 00:34:19 +08:00
Nikolay Kim
1716380f08
clippy fmt
2018-08-23 09:48:01 -07:00
Kornel
bdc9a8bb07
Optionally support tokio-uds's UnixStream as IoStream ( #472 )
2018-08-17 19:04:15 +03:00
Kornel Lesiński
a8405d0686
Fix tests on Unix
2018-08-17 13:13:48 +01:00
Nikolay Kim
eb1e9a785f
allow to use fn with multiple arguments with .with()/.with_async()
2018-08-16 20:29:06 -07:00
Nikolay Kim
8eb9eb4247
flush io on complete
2018-08-08 09:12:32 -07:00
Nikolay Kim
30769e3072
fix http/2 error handling
2018-08-07 20:48:25 -07:00
Douman
900fd5a98e
Correct settings headers for HTTP2
...
Add test to verify number of Set-Cookies
2018-08-04 18:05:41 +03:00
Jan Michael Auer
e61ef7dee4
Use zlib instead of deflate for content encoding ( #442 )
2018-08-03 14:56:26 +02:00
Nikolay Kim
e9c1889df4
test timing
2018-08-01 16:41:24 -07:00
jrconlin
246eafb8d2
Merge branch 'master' of https://github.com/actix/actix-web into feat/432
2018-08-01 09:36:08 -07:00
jrconlin
dca4c110dd
feature: allow TestServer to open a websocket on any URL
...
* added `TestServer::ws_at(uri_str)`
* modified `TestServer::ws()` to call `self.ws_at("/")` to preserve
behavior
Closes #432
2018-08-01 09:30:27 -07:00
Nikolay Kim
58230b15b9
use one thread for accept loop; refactor rust-tls support
2018-07-31 19:51:26 -07:00
Nikolay Kim
3bd43090fb
use new gzdecoder, fixes gz streaming #228
2018-07-31 09:06:05 -07:00
Marat Safin
196da6d570
add rustls
2018-07-30 08:21:12 +03:00
Nikolay Kim
6b10e1eff6
rename PayloadHelper
2018-07-18 10:01:28 +06:00
Douman
29a275b0f5
Session should write percent encoded cookies and add cookie middleware test ( #393 )
...
* Should write percent encoded cookies to HTTP response
* Add cookie middleware test
2018-07-17 08:38:18 +03:00
Nikolay Kim
22385505a3
clippy warnings and fmt
2018-07-16 11:17:45 +06:00
Douman
7d753eeb8c
Private serde fork ( #390 )
...
* Fork serde_urlencoded
* Apply enum PR https://github.com/nox/serde_urlencoded/pull/30
* Add test to verify enum in query
* Docs are updated to show example of how to use enum.
2018-07-13 09:59:09 +03:00
Nikolay Kim
a5f7a67b4d
clippy warnings
2018-07-06 08:24:44 +06:00
Nikolay Kim
185e710dc8
do not drop content-encoding header in case of identity #363
2018-07-06 08:24:36 +06:00
Nikolay Kim
9070d59ea8
do not read head payload
2018-07-06 08:11:36 +06:00
Douman
67e4cad281
Introduce method to set header if it is missing only ( #364 )
...
Also let default headers use it.
Closes #320
2018-07-05 19:27:18 +03:00