1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-10-11 04:32:28 +00:00
Commit graph

798 commits

Author SHA1 Message Date
Nikolay Kim
b15b5e5246 check number of available workers 2018-03-16 11:17:27 -07:00
Nikolay Kim
64c4cefa8f
Merge branch 'master' into default_static_files 2018-03-16 09:31:36 -07:00
Douman
8a344d0c94 Add default resource for StaticFiles 2018-03-16 19:04:36 +03:00
Nikolay Kim
4096089a3f allow to disable http/2 support 2018-03-16 08:48:44 -07:00
Nikolay Kim
b16f2d5f05 proper check for actor context poll 2018-03-16 08:04:26 -07:00
Nikolay Kim
5baf15822a always start actors 2018-03-16 07:46:27 -07:00
Nikolay Kim
61970ab190 always poll stream or actor for the first time 2018-03-15 17:11:49 -07:00
Nikolay Kim
73bf2068aa allow to use NamedFile with any request method 2018-03-15 16:55:22 -07:00
Nikolay Kim
0f064db31d Move brotli encoding to a feature 2018-03-13 17:21:22 -07:00
Nikolay Kim
fd0bb54469 add debug formatter for ClientRequestBuilder 2018-03-13 15:09:05 -07:00
Glade Miller
38080f67b3 If no path is available from the URI request / 2018-03-13 13:35:11 -06:00
Glade Miller
08504e0892 Move path call inline into write 2018-03-13 13:26:13 -06:00
Glade Miller
401c0ad809 https://github.com/actix/actix-web/issues/120 - Send Query Parameters in client requests 2018-03-13 13:17:55 -06:00
Nikolay Kim
b4b0deb7fa Wake payload reading task when data is available 2018-03-12 16:29:13 -07:00
Nikolay Kim
05ff35d383 Fix server keep-alive handling 2018-03-12 16:16:17 -07:00
Nikolay Kim
29c3e8f7ea update test 2018-03-12 10:19:09 -07:00
Nikolay Kim
6657446433 Allow to set read buffer capacity for server request 2018-03-12 10:01:56 -07:00
Nikolay Kim
b3cdb472d0 remove reserved state for h2 write if buffer is empty 2018-03-12 09:04:54 -07:00
Nikolay Kim
31e1aab9a4 do not log WouldBlock error from socket accept 2018-03-12 09:02:15 -07:00
Nikolay Kim
49f5c335f6 better sleep on error 2018-03-11 16:52:20 -07:00
Nikolay Kim
3e276ac921
Merge branch 'master' into feature/sockets-vec 2018-03-11 16:38:17 -07:00
Nikolay Kim
4af115a19c Fix steraming response handling for http/2 2018-03-11 16:37:44 -07:00
Nikolay Kim
051703eb2c Fix connection get closed too early 2018-03-11 15:37:33 -07:00
Nikolay Kim
31fbbd3168 Fix panic on unknown content encoding 2018-03-11 14:50:13 -07:00
Nikolay Kim
a4c933e56e update doc string 2018-03-11 09:36:54 -07:00
Nikolay Kim
9ddf5a3550 better doc string for Either 2018-03-11 09:28:22 -07:00
messense
9ab0fa604d
Use Vec instead of HashMap to store sockets in HttpServer 2018-03-11 17:29:44 +08:00
Nikolay Kim
6c709b33cc return error on write zero bytes 2018-03-10 10:42:46 -08:00
Nikolay Kim
71b4c07ea4 Fix json content type detection 2018-03-10 10:27:29 -08:00
Nikolay Kim
ac9eba8261 add api doc for Either 2018-03-10 10:12:44 -08:00
Nikolay Kim
cad55f9c80 add Either responder 2018-03-10 09:39:43 -08:00
Nikolay Kim
4263574a58 fix panic in cors if request does not contain origin header and send_wildcard is not set 2018-03-10 08:31:20 -08:00
messense
9a404a0c03
Impl From<usize> and From<Option<usize>> for KeepAlive 2018-03-10 17:52:50 +08:00
Nikolay Kim
05f5ba0084 refactor keep-alive; fixed write to socket for upgraded connection 2018-03-09 16:21:14 -08:00
Nikolay Kim
8d1de6c497 ws client timeouts 2018-03-09 13:12:14 -08:00
Nikolay Kim
caaace82e3 export symbols 2018-03-09 13:03:15 -08:00
Nikolay Kim
02dd5375a9 aling mask to 8 bytes 2018-03-09 10:25:47 -08:00
Nikolay Kim
717602472a clippy warnings 2018-03-09 10:11:38 -08:00
Nikolay Kim
b56be8e571 write buffer capacity for client 2018-03-09 10:09:13 -08:00
Nikolay Kim
2853086463 add write buffer capacity config 2018-03-09 10:00:15 -08:00
Nikolay Kim
e2107ec6f4 use small vec on hot path 2018-03-09 08:00:44 -08:00
Nikolay Kim
c33caddf57 update tests 2018-03-09 05:50:47 -08:00
Nikolay Kim
f8b8fe3865 add space to cookie header 2018-03-09 05:38:07 -08:00
Nikolay Kim
1c6ddfd34c naming 2018-03-09 05:36:40 -08:00
Nikolay Kim
49e007ff2a move protobuf support to the example 2018-03-09 05:29:06 -08:00
Nikolay Kim
f3c63e631a add protobuf feature 2018-03-08 20:56:18 -08:00
Nikolay Kim
3f0803a7d3 Merge branch 'master' of github.com:actix/actix-web 2018-03-08 20:39:10 -08:00
Nikolay Kim
f12b613211 more ws optimizations 2018-03-08 20:39:05 -08:00
kingxsp
63634be542
Merge branch 'master' into master 2018-03-09 10:22:15 +08:00
Nikolay Kim
f88f1c65b6 update tests 2018-03-08 18:19:46 -08:00
kingxsp
a0b589eb96 Add protobuf support 2018-03-09 10:05:13 +08:00
Nikolay Kim
ebdc983dfe optimize websocket stream 2018-03-08 17:19:50 -08:00
Nikolay Kim
395243a539 another attempt to fix cookie handling 2018-03-08 11:16:54 -08:00
Nikolay Kim
1ab676d7eb bump version and add some tests 2018-03-07 22:40:46 -08:00
Nikolay Kim
47f01e5b7e update doc string 2018-03-07 21:39:20 -08:00
Nikolay Kim
ffb89935b6 update all features 2018-03-07 21:37:42 -08:00
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