1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-25 00:12:59 +01:00
Commit Graph

742 Commits

Author SHA1 Message Date
Nikolay Kim
6c0fb3a7d2 handle panics in worker threads 2018-03-07 21:10:53 -08:00
Nikolay Kim
824244622f update test 2018-03-07 17:42:57 -08:00
Nikolay Kim
42d2a29b1d non-blocking processing for NamedFile 2018-03-07 17:40:13 -08:00
Nikolay Kim
af8875f6ab sleep on accept socket error 2018-03-07 15:52:05 -08:00
Nikolay Kim
1db1ce1ca3 one more cookie handling fix 2018-03-07 15:41:46 -08:00
Nikolay Kim
f55ef3a059 create default CpuPool 2018-03-07 14:56:53 -08:00
Nikolay Kim
67bf0ae79f fix HttpServer::listen method 2018-03-07 14:46:12 -08:00
Thedancingbard
7cce29b633 BoyScoutRule: Fixed typo 2018-03-07 21:54:25 +01:00
Nikolay Kim
c26d9545a5 map connector timeout error 2018-03-07 12:09:53 -08:00
Nikolay Kim
0bf29a522b Allow to use std::net::TcpListener for HttpServer 2018-03-07 11:28:44 -08:00
Nikolay Kim
24342fb745
Merge pull request #113 from niklasf/csrf-upgrade
Let CSRF filter catch cross-site upgrades
2018-03-07 09:58:30 -08:00
Niklas Fiekas
0278e364ec add tests for csrf upgrade filter 2018-03-07 18:42:21 +01:00
Niklas Fiekas
b9d6bbd357 filter cross-site upgrades in csrf middleware 2018-03-07 17:49:30 +01:00
Niklas Fiekas
5816ecd1bc fix variable name: cors -> csrf 2018-03-07 17:44:19 +01:00
Nikolay Kim
9e0e081c90
Merge branch 'master' into cookie-handling 2018-03-07 06:12:37 -08:00
Alex Whitney
9afad5885b fix client cookie handling 2018-03-07 09:48:34 +00:00
kindiana
04d0abb3c7 make session an optional feature 2018-03-07 15:38:58 +08:00
Nikolay Kim
c1419413aa Fix client cookie support 2018-03-06 22:36:34 -08:00
Nikolay Kim
acd33cccbb add tls 2018-03-06 17:34:46 -08:00
Nikolay Kim
57a1d68f89 add client response timeout 2018-03-06 17:04:48 -08:00
Nikolay Kim
6a3c5c4ce0
Merge branch 'master' into feature/allow_connection_timeout_to_be_set 2018-03-06 15:18:25 -08:00
Nikolay Kim
14a511bdad use IntoHeaderValue and Header for client request 2018-03-06 15:18:04 -08:00
Glade Miller
6b9e51740b
Merge branch 'master' into feature/allow_connection_timeout_to_be_set 2018-03-06 15:28:31 -07:00
Glade Miller
be7e8d159b Allow connection timeout to be set 2018-03-06 15:26:09 -07:00
Niklas Fiekas
85b650048d give a url in the log when starting 2018-03-06 20:37:18 +01:00
Nikolay Kim
a0e6313d56 Fix compression #103 and #104 2018-03-06 11:02:03 -08:00
Nikolay Kim
526753ee88 update tests for stable compiler 2018-03-06 07:56:43 -08:00
Nikolay Kim
32b5544ad9 port hyper header 2018-03-06 00:43:25 -08:00
Nikolay Kim
e182ed33b1 add Header trait 2018-03-05 19:28:42 -08:00
Nikolay Kim
0c30057c8c move headers to separate module; allow custom HeaderValue conversion 2018-03-05 16:45:54 -08:00
Nikolay Kim
05e49e893e allow only GET and HEAD for NamedFile 2018-03-05 14:04:30 -08:00
Nikolay Kim
c8844425ad Enable compression support for NamedFile 2018-03-05 13:31:30 -08:00
Nikolay Kim
b282ec106e Add ResponseError impl for SendRequestError 2018-03-05 13:02:31 -08:00
Nikolay Kim
cbb821148b explicitly set tcp nodelay 2018-03-04 20:14:58 -08:00
Nikolay Kim
11347e3c7d Allow to use Arc<Vec<u8>> as response/request body 2018-03-04 10:33:18 -08:00
Nikolay Kim
631fe72a46 websockets text() is more generic 2018-03-04 10:18:42 -08:00
Nikolay Kim
f673dba759 Fix handling of requests with an encoded body with a length > 8192 #93 2018-03-04 09:48:34 -08:00
Nikolay Kim
2ccbd5fa18 fix socket polling 2018-03-03 12:17:26 -08:00
Nikolay Kim
058630d041 simplify channels list management 2018-03-03 11:16:55 -08:00
Nikolay Kim
f456be0309 simplify linked nodes 2018-03-03 10:06:13 -08:00
Nikolay Kim
9bd6cb03ac Merge branch 'master' of github.com:actix/actix-web 2018-03-03 09:29:46 -08:00
Nikolay Kim
83fcdfd91f fix potential bug in payload processing 2018-03-03 09:27:54 -08:00
Anti Revoluzzer
4e41347de8 move reuse_address before bind 2018-03-02 22:57:11 -08:00
Nikolay Kim
791a980e2d update tests 2018-03-02 22:08:56 -08:00
Nikolay Kim
c2d8abcee7 Fix disconnect on idle connections 2018-03-02 20:47:23 -08:00
Nikolay Kim
16c05f07ba make HttpRequest::match_info_mut() public 2018-03-02 20:40:08 -08:00
Nikolay Kim
2158ad29ee add Pattern::with_prefix, make it usable outside of actix 2018-03-02 20:39:22 -08:00
Nikolay Kim
feba5aeffd bump version 2018-03-02 14:31:23 -08:00
Nikolay Kim
e60acb7607
Merge branch 'master' into csrf-middleware 2018-03-02 12:25:05 -08:00
Nikolay Kim
3b2928a391 Better naming for websockets implementation 2018-03-02 11:29:55 -08:00
Niklas Fiekas
10f57dac31 add csrf filter middleware 2018-03-02 20:13:43 +01:00
Nikolay Kim
b640b49b05 adjust low buf size 2018-03-01 20:13:50 -08:00
Nikolay Kim
1fea4bd9a6 prepare release 2018-03-01 20:01:25 -08:00
Nikolay Kim
206c4e581a rename httpcodes 2018-03-01 19:12:59 -08:00
Nikolay Kim
4e13505b92 rename .p to a .filter 2018-03-01 18:42:50 -08:00
Nikolay Kim
5b6d7cddbf Fix payload parse in situation when socket data is not ready 2018-03-01 18:27:04 -08:00
Nikolay Kim
4aaf9f08f8 update readme 2018-02-28 22:31:54 -08:00
Nikolay Kim
d62d6e68e0 use new version of http crate 2018-02-28 14:16:55 -08:00
Alex Whitney
313396d9b5 fix session mut borrow lifetime 2018-02-28 19:35:26 +00:00
Nikolay Kim
171a23561e export Drain 2018-02-28 11:10:54 -08:00
Nikolay Kim
8994732227 doc strings 2018-02-27 23:30:26 -08:00
Nikolay Kim
7591592279 fix handle big data chunkd for parsing 2018-02-27 23:04:57 -08:00
Nikolay Kim
1e2aa4fc90 mark context as modified after writing data 2018-02-27 18:05:06 -08:00
Nikolay Kim
e2c8f17c2c drop connection if handler get dropped without consuming payload 2018-02-27 16:08:57 -08:00
Nikolay Kim
4f99cd1580 add ws error tracing 2018-02-27 15:38:57 -08:00
Nikolay Kim
1f063e4136 move with_connector method to ClientRequestBuilder 2018-02-27 15:14:33 -08:00
Nikolay Kim
a7bf635158 unify headers and body processing for client response and server request 2018-02-27 15:03:28 -08:00
Nikolay Kim
aac9b5a97c update readme 2018-02-27 12:49:11 -08:00
Nikolay Kim
6c480fae90 added HttpRequest::encoding() method; fix urlencoded parsing with charset 2018-02-27 11:31:54 -08:00
Nikolay Kim
5dcb558f50 refactor websockets handling 2018-02-27 10:09:24 -08:00
Nikolay Kim
a344c3a02e remove read buffer management api 2018-02-26 20:07:22 -08:00
Nikolay Kim
abae65a49e remove unused code 2018-02-26 16:11:00 -08:00
Nikolay Kim
d6fd4a3524 use buffer capacity; remove unused imports 2018-02-26 15:34:25 -08:00
Nikolay Kim
72aa2d9eae clippy warnings 2018-02-26 14:33:56 -08:00
Nikolay Kim
644f1a9518 refactor ws frame parser 2018-02-26 13:58:23 -08:00
Nikolay Kim
0a3b776aa7 refactor multipart stream 2018-02-26 06:00:54 +03:00
Nikolay Kim
6ef9c60361 add Read and AsyncRead impl to HttpRequest 2018-02-25 21:26:58 +03:00
Nikolay Kim
a2b98b31e8 refactor payload related futures for HttpRequest 2018-02-25 20:34:26 +03:00
Nikolay Kim
ab5ed27bf1 refactor and simplify content encoding 2018-02-25 11:43:00 +03:00
Nikolay Kim
141b992450 Make payload and httprequest a stream 2018-02-25 11:21:45 +03:00
Nikolay Kim
4e41e13baf refactor client payload processing 2018-02-25 11:18:17 +03:00
Nikolay Kim
a855c8b2c9 better ergonomics for WsClient::client() 2018-02-24 08:14:21 +03:00
Nikolay Kim
fd31eb74c5 better ergonomics for ws client 2018-02-24 07:36:50 +03:00
Nikolay Kim
25aabfb3e2 fix big ws frames 2018-02-23 10:45:33 +01:00
Nikolay Kim
aff43cc8b8 fix routes registration order 2018-02-22 05:48:18 -08:00
Nikolay Kim
4a9c1ae894 allow to use Connection for sending client request 2018-02-21 22:53:23 -08:00
Nikolay Kim
8f2d3a0a76 fix NormalizePath helper 2018-02-21 14:53:42 -08:00
Nikolay Kim
fd56e5dc82 do not use regset for route recognition 2018-02-21 14:31:22 -08:00
Nikolay Kim
5634e5794f more tests for NormalizePath helper 2018-02-20 13:03:21 -08:00
Nikolay Kim
187644e178 update logger doc string 2018-02-20 12:53:51 -08:00
Nikolay Kim
2374aa42ed set date header for client requests 2018-02-19 23:18:18 -08:00
Nikolay Kim
03912d2089 support client request's async body 2018-02-19 22:48:27 -08:00
Nikolay Kim
3f95cce9e8 allow to pass different binary data 2018-02-19 20:03:57 -08:00
Nikolay Kim
979cea03ac added TestRequest::set_payload() 2018-02-19 20:01:38 -08:00
Nikolay Kim
6ee14efbe2 optimize http message serialization 2018-02-19 17:21:04 -08:00
Nikolay Kim
4d81186059 escape router pattern re 2018-02-19 14:57:57 -08:00
Nikolay Kim
ddc82395e8 try to remove trailing slash for normalize path handler 2018-02-19 14:27:36 -08:00
Nikolay Kim
360ffbba68 clone router with httprequest 2018-02-19 14:26:51 -08:00
Nikolay Kim
f2f1798215 allow to send request using custom connector 2018-02-19 13:41:21 -08:00
Nikolay Kim
548f4e4d62 replace reqwest with actix::client 2018-02-19 13:18:18 -08:00
Nikolay Kim
cb70d5ec3d refactor http client 2018-02-19 03:11:11 -08:00
Nikolay Kim
edd114f6e4 allow to set default content encoding on application level 2018-02-18 22:23:17 -08:00
Nikolay Kim
816c6fb0e0 log 5xx responses as error 2018-02-18 09:57:57 -08:00
Nikolay Kim
3e3d3279b8 deregister server socket on shutdown 2018-02-16 09:42:15 -08:00
Nikolay Kim
8607c51bcf do not stop accept thread on error 2018-02-15 22:02:03 -08:00
Nikolay Kim
8f9ec5c23c fix doc test 2018-02-13 07:50:49 -08:00
Nikolay Kim
b1eec3131f use newer api 2018-02-12 22:56:47 -08:00
Nikolay Kim
a544034c06 use Recipient 2018-02-12 22:09:31 -08:00
Christopher Armstrong
4b8181476c
consistently use #[cause] and display causing errors (#73) 2018-02-12 23:55:44 -06:00
Nikolay Kim
eb041de36d update examples 2018-02-12 19:15:39 -08:00
Nikolay Kim
80285f2a32 fix doc test 2018-02-12 18:38:13 -08:00
Nikolay Kim
335ca8ff33 use new actix api 2018-02-12 16:08:04 -08:00
Nikolay Kim
720d8c36c1 update names 2018-02-12 12:45:08 -08:00
Nikolay Kim
8c1b5fa945 sync with latest actix 2018-02-12 12:17:30 -08:00
Nikolay Kim
30bdf9cb5e update actix api 2018-02-12 01:13:06 -08:00
Nikolay Kim
285c66e7d8 build docs for apln and tls features 2018-02-10 11:39:12 -08:00
Nikolay Kim
856055c6ca simplify HttpServer::start_tls() method 2018-02-10 11:34:54 -08:00
Nikolay Kim
e3081306da update doc string 2018-02-10 11:29:40 -08:00
Nikolay Kim
94c4053cb5 more HttpServer type simplification 2018-02-10 11:01:54 -08:00
Nikolay Kim
762961b0f4 simplify HttpServer type definition 2018-02-10 10:22:03 -08:00
Nikolay Kim
3109f9be62 special handling for upgraded pipeline 2018-02-10 00:05:20 -08:00
Nikolay Kim
0c98775b51 refactor h1 stream polling 2018-02-09 22:26:48 -08:00
Nikolay Kim
b4b5c78b51 optimize ws frame generation 2018-02-09 20:43:14 -08:00
Nikolay Kim
78da98a16d add wsload tool; optimize ws frame parser 2018-02-09 17:20:28 -08:00
Nikolay Kim
74377ef73d fix back pressure for h1 import stream 2018-02-09 16:20:10 -08:00
Nikolay Kim
73ed1342eb more actix compatibility 2018-02-08 17:13:56 -08:00
Nikolay Kim
bc6300be34 actix compatibility 2018-02-08 17:08:57 -08:00
Nikolay Kim
2faf3a5eb6 fix deprecation warnings, update actix 2018-02-08 17:00:22 -08:00
Christopher Armstrong
f8f99ec0c7
Disable signals in HttpServers started by the tests. (#69)
Something is wrong with signals on windows.
This change causes the unit tests to pass on Windows.
2018-02-08 14:55:47 -06:00
Nikolay Kim
93aa220e8d remove default impl for std error, it prevents use of Fail 2018-02-07 13:57:58 -08:00
Christopher Armstrong
81e4fb9353
Avoid using Path to calculate URIs, because it doesn't do the right thing on Windows (#67)
Redirecting to index files now always uses `/` instead of backslash on windows.
2018-02-07 15:31:09 -06:00
Christopher Armstrong
884ea02f5c
Allow returning failure::Error from handlers (#65)
This implements From<failure::Error> for Error (by way of `failure::Compat`)
and ResponseError for failure::Compat<T>.
2018-02-06 10:26:50 -06:00
Nikolay Kim
7ad66956b2 add HttpRequest::uri_mut(), allows to modify request uri 2018-02-03 08:31:32 -08:00
Nikolay Kim
eb713bd60e update actix version 2018-02-01 01:08:08 -08:00
Nikolay Kim
58f85658bd update actix 2018-01-31 12:57:02 -08:00
Nikolay Kim
7e9fbfca72 missing http codes 2018-01-31 12:34:58 -08:00
Alexander Andreev
a1b96b1cf4 return "chnked" value 2018-01-31 21:37:12 +03:00
Alexander Andreev
a565e71018 spelling check 2018-01-31 20:28:53 +03:00
Nikolay Kim
b698e3546b link to websocket example 2018-01-30 15:26:58 -08:00
Nikolay Kim
577f91206c added support for websocket testing 2018-01-30 15:13:33 -08:00
Nikolay Kim
76f9542df7 rename module 2018-01-30 13:04:52 -08:00
Nikolay Kim
9739168d48 fix limit usage for Request/Response Body future 2018-01-30 12:44:14 -08:00
Nikolay Kim
5cbaf3a1b8 add client ssl support 2018-01-30 11:17:17 -08:00
Nikolay Kim
a02e0dfab6 initial work on client connector 2018-01-29 23:01:20 -08:00
Nikolay Kim
5cc3bba5cc change ws client names 2018-01-29 15:45:37 -08:00
Nikolay Kim
b686f39d0b complete impl for client request and response 2018-01-29 14:44:25 -08:00
Nikolay Kim
6416a796c3 add ClientRequest and ClientRequestBuilder 2018-01-29 11:45:33 -08:00
Nikolay Kim
b6a394a113 added StaticFiles::inex_file config 2018-01-29 03:23:45 -08:00
Nikolay Kim
456fd1364a add handle method to contexts 2018-01-28 09:47:46 -08:00
Nikolay Kim
55b2fb7f77 update example 2018-01-28 01:04:58 -08:00
Nikolay Kim
7c7743c145 use right path 2018-01-27 22:52:17 -08:00
Nikolay Kim
5dd2e7523d basic websocket client 2018-01-27 22:03:03 -08:00
Nikolay Kim
4821d51167 fix actix compatibility 2018-01-27 11:15:03 -08:00
Nikolay Kim
d4bc3294a3 actix compatibility 2018-01-27 10:04:56 -08:00
Nikolay Kim
4abb769ee5 fix request json loader; mime_type() method 2018-01-25 21:50:28 -08:00
Nikolay Kim
e8e2ca1526 refactor alpn support; upgrade openssl to 0.10 2018-01-25 10:24:04 -08:00
Nikolay Kim
78967dea13 stop http context immediately 2018-01-24 20:17:14 -08:00
Nikolay Kim
58a5d493b7 re-eanble write backpressure for h1 connections 2018-01-24 20:12:49 -08:00
Nikolay Kim
c5341017cd fix typo 2018-01-23 15:39:53 -08:00
Nikolay Kim
f4873fcdee stop websocket context 2018-01-23 15:35:39 -08:00
Nikolay Kim
35efd017bb impl waiting for HttpContext 2018-01-23 09:42:04 -08:00
Nikolay Kim
e6ea177181 impl WebsocketContext::waiting() method 2018-01-22 16:55:50 -08:00
Nikolay Kim
1914a6a0d8 Always enable content encoding if encoding explicitly selected 2018-01-21 08:31:46 -08:00
Nikolay Kim
1cff4619e7 reduce threshold for content encoding 2018-01-21 08:12:32 -08:00
Nikolay Kim
7bb7adf89c relax InternalError constraints 2018-01-20 22:02:42 -08:00
Nikolay Kim
f5f78d79e6 update doc strings 2018-01-20 21:16:31 -08:00
Nikolay Kim
9180625dfd refactor helper error types 2018-01-20 21:11:46 -08:00
Nikolay Kim
7cf221f767 Log request processing errors 2018-01-20 20:12:24 -08:00
Nikolay Kim
98931a8623 test case for broken transfer encoding 2018-01-20 16:51:18 -08:00
Nikolay Kim
ae10a89014 use ws masking from tungstenite project 2018-01-20 16:47:34 -08:00
Nikolay Kim
71d534dadb CORS middleware: allowed_headers is defaulting to None #50 2018-01-20 16:36:57 -08:00
Nikolay Kim
867bb1d409 Merge branch 'master' of github.com:actix/actix-web 2018-01-20 16:12:51 -08:00
Nikolay Kim
91c44a1cf1 Fix HEAD requests handling 2018-01-20 16:12:38 -08:00
Alexander Andreev
58df8fa4b9 spelling check 2018-01-16 21:59:33 +03:00
Alexander Andreev
e1d9c3803b spelling check 2018-01-16 00:47:25 +03:00
Nikolay Kim
a7c24aace1 flush is useless 2018-01-14 19:28:34 -08:00
Nikolay Kim
89a89e7b18 refactor shared bytes api 2018-01-14 17:00:28 -08:00
Nikolay Kim
3425f7be40 fix tests 2018-01-14 14:58:58 -08:00
Nikolay Kim
7060f298b4 use more binary 2018-01-14 14:40:39 -08:00
Nikolay Kim
33dbe15760 use Binary for writer trait 2018-01-14 13:50:38 -08:00
Nikolay Kim
927a92fcac impl HttpHandler for Box<HttpHandler> and add helper method Application::boxed() #49 2018-01-13 18:58:17 -08:00
Nikolay Kim
93fdb596d4 Allow to explicitly disable chunked encoding 2018-01-13 16:17:33 -08:00
Nikolay Kim
305666067e Do not enable chunked encoding for HTTP/1.0 2018-01-13 12:46:43 -08:00
Nikolay Kim
b805d87ee7 no need for custom cookie module 2018-01-13 11:33:42 -08:00
Nikolay Kim
bc6bb9984f user guide spelling 2018-01-13 11:17:48 -08:00
belltoy
781282897a fix directory entry path 2018-01-13 08:37:27 +00:00
Nikolay Kim
c470e7a02b use flate2 released crate 2018-01-12 12:31:33 -08:00
Nikolay Kim
8a96e8fdd0 disable compression for static files 2018-01-11 23:49:53 -08:00
Nikolay Kim
e919ec485e cleanup http channel 2018-01-11 22:06:06 -08:00
Nikolay Kim
e482b88741 refactor http protocol selection procedure 2018-01-11 21:48:36 -08:00
Nikolay Kim
eb8052b936 fix cors tests 2018-01-11 20:20:50 -08:00
Nikolay Kim
dab918261c fix cors allowed header validation 2018-01-11 20:11:34 -08:00
Nikolay Kim
11342e4566 add link to gitter 2018-01-11 18:49:30 -08:00
Nikolay Kim
f7b895b53a add link to github 2018-01-11 18:47:34 -08:00
Nikolay Kim
ac89880c0a move encoding to server 2018-01-11 18:41:33 -08:00
Nikolay Kim
8a058efb4e move server protocol impl to submodule 2018-01-11 18:35:05 -08:00
Nikolay Kim
0707dfe5bb flush stream on drain 2018-01-11 16:22:27 -08:00
Nikolay Kim
0648ad6f33 fix implicit chunked encoding 2018-01-11 15:26:46 -08:00
Nikolay Kim
d152860fa7 add Cors::register method 2018-01-11 11:14:18 -08:00
Nikolay Kim
43f14224b1 properly enable encoding tests 2018-01-10 22:42:26 -08:00