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

1610 Commits

Author SHA1 Message Date
Nikolay Kim
0093b7ea5a refactor extractor configuration #331 2018-06-21 11:47:01 +06:00
Nikolay Kim
75eec8bd4f fix condition 2018-06-21 11:23:21 +06:00
Nikolay Kim
ebc59cf7b9 add unsafe checks #331 2018-06-21 11:20:21 +06:00
Nikolay Kim
c2c4a5ba3f fix failure Send+Sync compatibility 2018-06-21 10:45:24 +06:00
Nikolay Kim
1be27e17f8 convert timer error to io error 2018-06-21 10:05:20 +06:00
Nikolay Kim
8b0fbb85d1 SendRequest execution fails with the entered unreachable code #329 2018-06-21 09:52:18 +06:00
Nikolay Kim
cfe6725eb4 Allow to disable masking for websockets client 2018-06-21 09:49:33 +06:00
Josh Leeb-du Toit
f815c1c096 Add test for default_resource scope propagation 2018-06-21 13:10:40 +10:00
gnzlbg
da237611cb remove unnecessary use of unsafe in read_from_io 2018-06-20 13:14:53 +02:00
Jef
234c60d473 Fix some unsoundness
This improves the sound implementation of `fn route`.
Previously this function would iterate twice but we
can reduce the overhead without using `unsafe`.
2018-06-20 10:53:18 +02:00
Nikolay Kim
2f917f3700 various cleanups and comments 2018-06-20 01:27:41 +06:00
Nikolay Kim
311f0b23a9 cleanup more code 2018-06-20 00:36:32 +06:00
Nikolay Kim
a69c1e3de5 remove unsafe from scope impl 2018-06-19 23:46:58 +06:00
Nikolay Kim
c427fd1241
Merge pull request #328 from xfix/remove-some-uses-of-unsafe-from-frame-message
Remove some uses of unsafe from Frame::message
2018-06-19 21:52:41 +06:00
Nikolay Kim
3b1124c56c
Merge branch 'master' into remove-some-uses-of-unsafe-from-frame-message 2018-06-19 19:20:40 +06:00
Nikolay Kim
cafde76361
Merge branch 'master' into remove-use-of-unsafe-from-pipeline-poll 2018-06-19 19:20:25 +06:00
Nikolay Kim
bfb93cae66
Update connector.rs 2018-06-19 19:19:31 +06:00
Nikolay Kim
b5c1e42feb
Merge branch 'master' into remove-use-of-unsafe-from-pipeline-poll 2018-06-19 18:30:37 +06:00
Konrad Borowski
e884e7e84e Remove some uses of unsafe from Frame::message 2018-06-19 14:11:53 +02:00
Konrad Borowski
877e177b60 Remove use of unsafe from Pipeline#poll 2018-06-19 13:42:44 +02:00
Nikolay Kim
27b6af2800 refactor route matching 2018-06-19 16:45:26 +06:00
Nikolay Kim
5c42b0902f better doc api examples 2018-06-19 12:07:07 +06:00
Nikolay Kim
247e8727cb ClientBody is not needed 2018-06-19 10:15:16 +06:00
Nikolay Kim
362b14c2f7 remove unsafe cell from ws client 2018-06-19 09:36:17 +06:00
Nikolay Kim
261ad31b9a remove some unsafe code 2018-06-19 07:44:01 +06:00
Nikolay Kim
26f37ec2e3 refactor HttpHandlerTask trait 2018-06-18 05:45:54 +06:00
Nikolay Kim
ef15646bd7 refactor edfault cpu pool 2018-06-18 04:56:18 +06:00
Nikolay Kim
a5bbc455c0 cleanup mut transform 2018-06-18 04:41:41 +06:00
Nikolay Kim
6ec8352612 method only for tests 2018-06-18 01:05:02 +06:00
Nikolay Kim
daed502ee5 make mut api private 2018-06-18 01:03:07 +06:00
Nikolay Kim
9d114d785e remove Clone from ExtractorConfig 2018-06-18 00:19:07 +06:00
Nikolay Kim
ea118edf56 do not use references in ConnectionInfo 2018-06-18 00:01:41 +06:00
Nikolay Kim
e1db47d550 refactor server settings 2018-06-17 23:51:20 +06:00
Nikolay Kim
38fe8bebec fix doc string 2018-06-17 08:57:51 +06:00
Nikolay Kim
c3f295182f use HashMap for HttpRequest::query() 2018-06-17 08:54:30 +06:00
Nikolay Kim
b6ed778775 remove HttpMessage::range() 2018-06-17 08:48:50 +06:00
Nikolay Kim
0f2aac1a27 remove unneed Send and Sync 2018-06-17 08:32:22 +06:00
Nikolay Kim
70244c29e0 update doc api examples 2018-06-17 04:09:07 +06:00
Nikolay Kim
a7a062fb68 clippy warnings 2018-06-17 03:26:34 +06:00
Nikolay Kim
879b2b5bde port Extensions from http crate #315 2018-06-17 03:22:08 +06:00
Nikolay Kim
33050f55a3 remove Context::actor() method 2018-06-17 03:10:44 +06:00
Nikolay Kim
e4443226f6 update actix usage 2018-06-17 02:58:56 +06:00
Nikolay Kim
342a194605 fix handling ServerCommand #316 2018-06-16 22:56:27 +06:00
Nikolay Kim
566b16c1f7 Merge branch 'master' of github.com:actix/actix-web 2018-06-14 11:42:27 +02:00
Nikolay Kim
8261cf437d update actix api 2018-06-13 23:37:19 -07:00
Özgür Akkurt
b79307cab1
Merge branch 'master' into app-cleanup 2018-06-14 01:01:11 +03:00
Dursun Akkurt
cb77f7e688 Add HttpMessage::readlines() 2018-06-14 00:19:48 +03:00
Dursun Akkurt
1bee528018 move ReadlinesError to error module 2018-06-13 22:59:36 +03:00
Dursun Akkurt
ad9aacf521 change poll method of Readlines 2018-06-13 22:41:35 +03:00
Daniel McNab
f8854f951c remove duplication of App::with_state in App::new 2018-06-13 20:31:20 +01:00
Dursun Akkurt
6d95e34552 add HttpMessage::readlines() 2018-06-13 20:45:31 +03:00
Dursun Akkurt
6c765739d0 add HttpMessage::readlines() 2018-06-13 20:43:03 +03:00
eddomuke
45b408526c
Merge branch 'master' into master 2018-06-13 00:53:46 +03:00
Nikolay Kim
1a91854270 Merge branch 'master' of github.com:actix/actix-web 2018-06-12 14:50:41 -07:00
Nikolay Kim
99092fdf06 http/2 end-of-frame is not set if body is empty bytes #307 2018-06-12 14:50:21 -07:00
Dursun Akkurt
748ff389e4 Allow to override Form extractor error 2018-06-13 00:47:47 +03:00
Dursun Akkurt
8af082d873 remove FormPayloadError 2018-06-12 20:26:09 +03:00
Ozgur Akkurt
d4d3add17d add ClientRequestBuilder::form() 2018-06-12 19:30:00 +03:00
axon-q
d8e1fd102d add cookie methods to HttpResponse 2018-06-12 13:56:53 +00:00
axon-q
e414a52b51 content_disposition: remove unnecessary allocations 2018-06-12 13:48:23 +00:00
axon-q
4d69e6d0b4 fs: minor cleanups to content_disposition 2018-06-12 13:47:49 +00:00
Kaz Wesley
48f77578ea fix url in example 2018-06-11 21:55:05 -07:00
Nikolay Kim
9b012b3304 do not allow stream or actor responses for internal error #301 2018-06-11 19:45:17 -07:00
Nikolay Kim
a0344eebeb InternalError can trigger memory unsafety #301 2018-06-11 18:54:36 -07:00
Nikolay Kim
b9f6c313d4 Merge branch 'master' of github.com:actix/actix-web 2018-06-11 12:56:33 -07:00
Nikolay Kim
ef420a8bdf fix docs.rs 2018-06-11 12:21:09 -07:00
David McNeil
0d54b6f38e Implement Responder for Option #294 (#297) 2018-06-11 14:05:41 +03:00
Nikolay Kim
ef88fc78d0 Merge branch 'master' of github.com:actix/actix-web 2018-06-10 10:25:05 -07:00
Nikolay Kim
9dd66dfc22 better name for error 2018-06-10 10:24:34 -07:00
Nikolay Kim
87a822e093 fix deprecated warnings 2018-06-10 10:14:13 -07:00
Nikolay Kim
785d0e24f0
Merge branch 'master' into static-file-updates 2018-06-09 08:21:34 -07:00
Nikolay Kim
818d0bc187 new StreamHandler impl 2018-06-09 07:53:46 -07:00
axon-q
aee24d4af0 minor syntax changes 2018-06-09 14:47:06 +00:00
axon-q
8681a346c6 fs: refactor Content-Type and Content-Disposition handling 2018-06-09 13:56:01 +00:00
axon-q
1fdf6d13be content_disposition: add doc example 2018-06-09 13:38:21 +00:00
axon-q
3751656722 expose fs::file_extension_to_mime() function 2018-06-09 11:20:06 +00:00
Nikolay Kim
9151d61eda allow to use custom resolver for ClientConnector 2018-06-08 16:33:57 -07:00
Nikolay Kim
5a7902ff9a
Merge branch 'master' into multipart-content-disposition 2018-06-07 21:20:11 -07:00
Nikolay Kim
f9f2ed04ab fix doc test 2018-06-07 20:22:23 -07:00
Nikolay Kim
f7ef8ae5a5 add Host predicate 2018-06-07 20:00:54 -07:00
Nikolay Kim
60d40df545 fix clippy warning 2018-06-07 19:46:46 -07:00
Nikolay Kim
f7bd6eeedc add application filters 2018-06-07 19:46:38 -07:00
axon-q
a11f3c112f fix doc test 2018-06-07 21:18:51 +00:00
Nikolay Kim
e9f59bc7d6
Merge branch 'master' into multipart-content-disposition 2018-06-07 11:02:53 -07:00
axon-q
56e0dc06c1 defer parsing until user method call 2018-06-07 17:29:46 +00:00
Armin Ronacher
789af0bbf2
Added improved failure interoperability with downcasting (#285)
Deprecates Error::cause and introduces failure interoperability functions and downcasting.
2018-06-07 18:53:27 +02:00
axon-q
97b5410aad remove Option from ContentDisposition::from_raw() argument 2018-06-07 12:55:35 +00:00
axon-q
a6e07c06b6 move CD parsing to Content-Type parsing location 2018-06-07 12:35:10 +00:00
axon-q
31a301c9a6 fix multipart test 2018-06-07 11:38:35 +00:00
axon-q
5a37a8b813 restore hyper tests 2018-06-07 10:55:36 +00:00
axon-q
c0c1817b5c remove unicase dependency 2018-06-07 10:33:00 +00:00
axon-q
82c888df22 fix test 2018-06-07 09:10:46 +00:00
axon-q
936ba2a368 multipart: parse and validate Content-Disposition 2018-06-06 14:06:01 +00:00
Nikolay Kim
d1da227ac5 fix multipart boundary parsing #282 2018-06-05 08:53:51 -07:00
Nikolay Kim
f94fd9ebee CORS: Do not validate Origin header on non-OPTION requests #271 2018-06-05 07:39:47 -07:00
Nikolay Kim
5004821cda
Merge branch 'master' into user-agent 2018-06-04 14:04:45 -07:00
Nikolay Kim
984791187a Middleware::response is not invoked if error result was returned by another Middleware::start #255 2018-06-04 13:42:47 -07:00
Nikolay Kim
eb0909b3a8
Merge branch 'master' into user-agent 2018-06-04 10:20:53 -07:00
François Mockers
ca3fb11f8b add actix-web version in header 2018-06-04 08:15:04 +02:00
Matthijs Brobbel
268c5d9238
Fix typo 2018-06-03 20:28:08 +02:00
François Mockers
86be54df71 add default value for header User-Agent in requests 2018-06-03 15:48:00 +02:00
Nikolay Kim
ea018e0ad6 better examle in doc string 2018-06-02 16:03:23 -07:00
Nikolay Kim
b799677532 better error messages for overflow errors 2018-06-02 15:10:48 -07:00
Nikolay Kim
7298c7aabf
Merge branch 'master' into payload_err 2018-06-02 15:04:22 -07:00
Nikolay Kim
7e0706a942 implement Debug for Form, Query, Path extractors 2018-06-02 15:00:11 -07:00
Nikolay Kim
8b8a3ac01d Support chunked encoding for UrlEncoded body #262 2018-06-02 15:00:06 -07:00
Nikolay Kim
7ab23d082d fix doc test 2018-06-02 13:45:29 -07:00
Douman
913dce0a72
Merge branch 'master' into payload_err 2018-06-02 23:10:06 +03:00
Douman
2a9b57f489 Correct docstring 2018-06-02 22:27:43 +03:00
Douman
fce8dd275a Specialize ResponseError for PayloadError
Closes #257
2018-06-02 22:20:22 +03:00
Nikolay Kim
3c472a2f66 remove debug prints 2018-06-02 11:57:49 -07:00
Nikolay Kim
dcb561584d remove debug print 2018-06-02 11:55:50 -07:00
Nikolay Kim
4a39216aa7 fixed HttpRequest::url_for for a named route with no variables #265 2018-06-02 11:44:09 -07:00
Nikolay Kim
3bfed36fcc do not re-export actix_inner 2018-06-02 09:14:47 -07:00
Nikolay Kim
a61a1b0efe
Merge branch 'master' into trait-middleware-mut-self 2018-06-02 08:54:00 -07:00
Pascal Hertleif
890a7e70d6 Add missing API docs
These were written without much knowledge of the actix-web internals!
Please review carefully!
2018-06-02 15:52:50 +02:00
Pascal Hertleif
47b7be4fd3 Add warning for missing API docs 2018-06-02 15:50:45 +02:00
Josh Leeb-du Toit
9c9eb62031 Update Middleware trait to use &mut self 2018-06-02 16:47:18 +10:00
Pascal Hertleif
d912bf8771 Add more docs to ResourceHandler API 2018-06-02 00:57:24 +02:00
Pascal Hertleif
f414a491dd Fix some ResourceHandler docs
Re-enables code blocks as doc tests to prevent them failing in the
future.
2018-06-02 00:57:07 +02:00
Nikolay Kim
8452c7a044 fix doc api example 2018-06-01 11:22:40 -07:00
Nikolay Kim
3e0a71101c drop with2 and with3 2018-06-01 10:54:23 -07:00
Nikolay Kim
c8930b7b6b fix rustfmt formatting 2018-06-01 10:27:23 -07:00
Nikolay Kim
3f5a39a5b7 cargo fmt 2018-06-01 09:37:14 -07:00
Nikolay Kim
154cd3c5de better actix mod re-exports 2018-06-01 09:36:16 -07:00
Douman
80965d7a9a
Re-export actix dependency. Closes #260 (#264)
- Re-export actix's prelude into actix namespace
- Removing implicit dependency on root's actix module
2018-05-31 20:43:14 +03:00
Nikolay Kim
77becb9bc0 fix doc string 2018-05-29 18:48:39 -07:00
Nikolay Kim
dde266b9ef fix doc string 2018-05-29 18:31:39 -07:00
Nikolay Kim
a64205e502 refactor TransferEncoding; allow to use client api with threaded tokio runtime 2018-05-29 16:32:39 -07:00
Nikolay Kim
844be8d9dd fix ssl test server 2018-05-29 10:59:24 -07:00
Nikolay Kim
dffb7936fb Merge branch 'master' of github.com:actix/actix-web 2018-05-29 10:31:43 -07:00
Nikolay Kim
ecd05662c0 use new actix system api 2018-05-29 10:31:37 -07:00
Matthijs Brobbel
6b43fc7068
Fix typo in httpresponse.rs 2018-05-29 18:11:10 +02:00
Nikolay Kim
fb582a6bca fix connector 2018-05-27 05:18:37 -07:00
Nikolay Kim
be2ceb7c66 update actix Addr; make ClientConnector thread safe 2018-05-27 05:02:49 -07:00
Bruno Bigras
4dcecd907b Add same-site to CookieSessionBackend
closes #247
2018-05-25 19:18:16 -04:00
Nikolay Kim
255cd4917d fix doc test 2018-05-24 22:04:14 -07:00
Nikolay Kim
f48702042b min rustc version 2018-05-24 21:09:20 -07:00
Nikolay Kim
690169db89 migrate to tokio 2018-05-24 21:03:16 -07:00
svartalf
36f933ce1d Updating docs for HttpResponseBuilder::del_cookie 2018-05-24 21:53:35 +03:00
Nikolay Kim
111b6835fa fix comment 2018-05-24 11:06:15 -07:00
Nikolay Kim
556646aaec update changelog 2018-05-24 07:56:51 -07:00
Nikolay Kim
836706653b
Merge branch 'master' into master 2018-05-24 07:46:46 -07:00
Nikolay Kim
17f1a2b92a more scope tests 2018-05-23 14:11:01 -07:00
Nikolay Kim
68eb2f26c9 Allow to use path without traling slashes for scope registration #241 2018-05-23 13:21:29 -07:00
Nikolay Kim
72757887c9 update doc links 2018-05-23 11:20:12 -07:00
Aleksey Ivanov
2479b14aba Fix TestServer::post 2018-05-23 19:07:42 +03:00
Max Frai
ac24703512 Add ability to set encoding for exact NamedFile. 2018-05-23 09:12:23 +03:00
Nikolay Kim
2159158c30 Fix streaming response with body compression 2018-05-21 20:50:10 -07:00
Nikolay Kim
90968d4333 Drop connection if request's payload is not fulle consumed #236 2018-05-21 18:54:17 -07:00
Nikolay Kim
285c73e95e Re-use tcp listener on pause/resume 2018-05-20 20:47:20 -07:00
Nikolay Kim
483db7028c expose low level data 2018-05-20 20:37:19 -07:00
Nikolay Kim
082ff46041 Fix scope resource path extractor #234 2018-05-20 17:04:23 -07:00
Nikolay Kim
766dde7c42
Merge branch 'master' into ranges 2018-05-20 08:51:07 -07:00
qrvaelet
b68687044e range header syntax fix, change range to content-range in responses, enabled accept ranges, tests for content-range, content-length, and range status code 2018-05-20 17:40:36 +02:00
Sindre Johansen
0126ac46fc
Fix some typos in server/srv.rs
Hello! This looks like a great library, thanks for creating it! While reading through the documentation I found a few typos.
2018-05-20 14:43:26 +02:00
Nikolay Kim
537b420d35 Fix compilation with --no-default-features 2018-05-17 18:33:48 -07:00
Nikolay Kim
16906c5951 clippy warnings 2018-05-17 12:23:37 -07:00
Nikolay Kim
45e9aaa462 rustfmt 0.7 2018-05-17 12:20:20 -07:00
Nikolay Kim
a5692d4ecf
Merge branch 'master' into ranges 2018-05-17 11:16:08 -07:00
qrvaelet
2d83f79433 NamedFile: added ranges support, content-length support 2018-05-17 20:09:41 +02:00
Nikolay Kim
f3ece74406 better error handling 2018-05-17 10:58:08 -07:00
Nikolay Kim
8de1f60347 add session extractor doc api 2018-05-16 21:05:59 -07:00
Nikolay Kim
b4252f8fd1 implement extractor for Session 2018-05-16 21:02:51 -07:00
Nikolay Kim
c9a026fabb
Merge branch 'master' into feature/addrs-with-scheme 2018-05-16 11:01:45 -07:00
Nikolay Kim
b19fe98ff4
Merge branch 'master' into feature/listen-tls 2018-05-16 11:01:21 -07:00
Nikolay Kim
b393ddf879 fix panic during middleware execution #226 2018-05-16 11:00:29 -07:00
Armin Ronacher
7bb7d85c1d Added support for returning addresses plus scheme from the server 2018-05-16 16:17:27 +02:00
Armin Ronacher
6e976153e7 Add support for listen_tls/listen_ssl 2018-05-16 15:20:47 +02:00
Nikolay Kim
0d36b8f826 fix 1.24 compatibility 2018-05-15 19:07:43 -07:00
Nikolay Kim
f82fa08d72 various optimizations 2018-05-15 16:49:03 -07:00
Nikolay Kim
d6787e6c56 prepare release 2018-05-15 10:20:32 -07:00
Nikolay Kim
b9d870645f store cookies in extensions 2018-05-15 10:09:48 -07:00
Nikolay Kim
ef89430f9b undeprecate query() and store query in extensions 2018-05-15 09:53:58 -07:00
Nikolay Kim
953a0d4e4a add test case for #222 2018-05-15 09:29:59 -07:00
Nikolay Kim
5ea2d68438 h1 decoder blocks on error #222 2018-05-15 07:55:36 -07:00
Nikolay Kim
9306631d6e Fix segfault in ServerSettings::get_response_builder() 2018-05-11 21:19:48 -07:00
Nikolay Kim
487a713ca0 update doc string 2018-05-11 15:01:15 -07:00
Nikolay Kim
9619698543 doc string 2018-05-10 13:04:56 -07:00
Nikolay Kim
4b1a471b35 add more examples for extractor config 2018-05-10 13:03:43 -07:00
Nikolay Kim
b6039b0bff add doc string 2018-05-10 11:04:03 -07:00
Nikolay Kim
d8fa43034f export ExtractorConfig type 2018-05-10 11:00:22 -07:00
Nikolay Kim
92f993e054 Fix client request timeout handling 2018-05-10 09:37:38 -07:00
Nikolay Kim
76f021a6e3 add tests for ErrorXXX helpers 2018-05-10 09:13:26 -07:00
dowwie
8b473745cb added error response functions for 501,502,503,504 2018-05-10 11:26:38 -04:00
Nikolay Kim
18575ee1ee Add Router::with_async() method for async handler registration 2018-05-09 16:27:31 -07:00
Nikolay Kim
e58b38fd13 deprecate WsWrite from top level mod 2018-05-09 06:12:16 -07:00
Nikolay Kim
b748bf3b0d make api public 2018-05-09 06:05:16 -07:00
Nikolay Kim
be12d5e6fc make WsWriter trait optional 2018-05-09 05:48:06 -07:00
Luke Cowell
7c395fcc83
replace typo scoupe with scope 2018-05-08 17:40:18 -07:00
Nikolay Kim
54c33a7aff Allow to exclude certain endpoints from logging #211 2018-05-08 16:30:34 -07:00
Nikolay Kim
47d80382b2 Fix http/2 payload streaming #215 2018-05-08 15:44:50 -07:00
Niklas Fiekas
6f75b0e95e let Path::from_request() fail with ErrorNotFound 2018-05-08 22:59:46 +02:00
Nikolay Kim
b3cc43bb9b Fix connector's default keep-alive and lifetime settings #212 2018-05-08 13:41:04 -07:00
Nikolay Kim
ecda97aadd update doc string 2018-05-08 05:54:06 -07:00
Nikolay Kim
8cda362866 simplify pipeline 2018-05-07 16:09:41 -07:00
Nikolay Kim
72908d974c test for Scope::route(); prep release 2018-05-07 15:19:03 -07:00
Nikolay Kim
c755d71a8b add filters support to scopes 2018-05-07 14:40:04 -07:00
Nikolay Kim
a817ddb57b add variable segments support for scope prefix 2018-05-07 13:50:43 -07:00
Nikolay Kim
c92ebc22d7
Merge branch 'master' into feature/spelling-check-06-05 2018-05-07 11:30:39 -07:00
Alexander Andreev
599fd6af93 fix formatting 2018-05-07 20:53:45 +03:00
Nikolay Kim
fa81d97004 more handler tests 2018-05-06 20:05:31 -07:00
Nikolay Kim
c54f045b39 more handler tests 2018-05-06 15:11:36 -07:00
Alexander Andreev
cd11293c1f spelling check 2018-05-06 19:07:30 +03:00
Nikolay Kim
0af4d01fe4 move middleware tests to seprate module 2018-05-05 12:18:43 -07:00
Nikolay Kim
03d6b04eef update tests 2018-05-04 12:11:38 -07:00
Nikolay Kim
f37880d89c refactor Responder trait 2018-05-04 11:44:22 -07:00
Nikolay Kim
8b43574bd5 Merge branch 'master' of github.com:actix/actix-web 2018-05-03 16:27:12 -07:00
Nikolay Kim
b07d0e712f always provide backtrace for error 2018-05-03 16:26:42 -07:00
Nikolay Kim
acd7380865 rename Reply to a AsyncResult 2018-05-03 16:22:08 -07:00
Nikolay Kim
bb61dd41af
Merge branch 'master' into ws-trait 2018-05-03 08:57:45 -07:00
Nikolay Kim
58079b5bbe add session test 2018-05-02 19:11:44 -07:00
Nikolay Kim
3623383e83 fix tests 2018-05-02 16:48:42 -07:00
Nikolay Kim
7036656ae4 make Reply generic over error too 2018-05-02 16:33:29 -07:00
Nikolay Kim
32a2866449 Allow to override files listing renderer for #203 2018-05-02 15:53:07 -07:00
Nikolay Kim
4ca5d8bcfc add FromRequest impl for tuples of various length 2018-05-02 13:38:25 -07:00
Nikolay Kim
1aadfee6f7 rename from_default to extract 2018-05-02 06:09:50 -07:00
Nikolay Kim
76b644365f use read only ref for FromRequest; remove unnecessary static 2018-05-02 06:07:30 -07:00
Denis Kolodin
80f385e703 Add WsWriter trait
`WsWriter` trait is a common interface for writing to a websocket and
it's implemented for both: `WebScoketContext` and `ClientWriter`.
2018-05-02 08:35:50 +03:00
Nikolay Kim
a1958deaae add impl Future for Reply 2018-05-01 17:30:06 -07:00
Nikolay Kim
8d65468c58 refactor FromRequest trait 2018-05-01 17:19:15 -07:00
Nikolay Kim
195246573e rename threads to workers 2018-05-01 13:15:35 -07:00
Nikolay Kim
e01102bda2 no need for mut 2018-05-01 11:45:46 -07:00
Nikolay Kim
9b6343d54b refactor session impl 2018-05-01 09:40:23 -07:00
Nikolay Kim
d9a4fadaae make HttpRequest::extensions() readonly 2018-05-01 09:05:50 -07:00
Nikolay Kim
48e05a2d87 add nested scope support 2018-04-30 22:04:24 -07:00
Nikolay Kim
d43ca96c5c Allow to use ssl and non-ssl connections with the same HttpServer #206 2018-04-30 19:51:55 -07:00
Nikolay Kim
bfd46e6a71 update doc string 2018-04-29 22:28:16 -07:00
Nikolay Kim
25b245ac72 allow to use custom state for scope 2018-04-29 22:19:52 -07:00
Nikolay Kim
eefbe19651 remove deprecated types and methods 2018-04-29 21:05:10 -07:00
Nikolay Kim
ab4e889f96 add middleware finished handler for route middleware 2018-04-29 20:50:38 -07:00
Nikolay Kim
91235ac816 fix reading from socket 2018-04-29 20:34:59 -07:00
Nikolay Kim
9c1bda3eca fix stable compiler compatibility 2018-04-29 19:49:26 -07:00
Nikolay Kim
4a29f12876 update doc string; missing file 2018-04-29 19:39:28 -07:00
Nikolay Kim
368730f5f1 Add route scopes #202 2018-04-29 19:35:50 -07:00
Nikolay Kim
aa757a5be8 Allow to access Error's backtrace object 2018-04-29 14:21:50 -07:00
Nikolay Kim
03ded62337 bump minimum supported rustc version because of minor version change of parking_lot crate 2018-04-29 14:13:46 -07:00
Nikolay Kim
c72d1381a6 clippy warnings 2018-04-29 09:09:08 -07:00
Nikolay Kim
d98d723f97 bump rustc version requirements 2018-04-29 08:24:19 -07:00
Sven-Hendrik Haase
de222fe33b Merge and fix PR comments 2018-04-29 14:02:50 +02:00
Nikolay Kim
de49796fd1 clippy warnings; fmt 2018-04-28 22:55:47 -07:00
Nikolay Kim
a38c3985f6 refactor http1 parser 2018-04-28 22:20:32 -07:00
Sven-Hendrik Haase
492c072564 Add Content-Disposition to NamedFile (fixes #172) 2018-04-27 09:49:55 +02:00
Nikolay Kim
fd876efa68 allow to access application state during configuration stage 2018-04-26 09:05:07 -07:00
Nikolay Kim
927f2e594e
Merge branch 'master' into websocket_close_reason 2018-04-25 20:17:19 -07:00
Nikolay Kim
5ca904d1db make flate crate optional 2018-04-24 12:24:04 -07:00
Nikolay Kim
f8af3ef7f4 refactor keep-alive 2018-04-22 15:28:04 -07:00
Nathan Fox
f8b75c157f fix style 2018-04-22 11:43:47 -04:00
Nathan Fox
b7b61afacc add ws close description parse test 2018-04-21 17:20:23 -04:00
Nathan Fox
507361c1df Merge branch 'master' into websocket_close_reason 2018-04-21 17:05:43 -04:00
Nathan Fox
f6fd9e70f9 code cleanup 2018-04-21 16:53:55 -04:00
Nathan Fox
de8a09254d use Optional with websocket close reason 2018-04-21 16:50:27 -04:00
Brandur
59244b203c Let CSRF's allowed_origin() be specified as a type supporting Into<String>
A very minor addition: I'm using this middleware on specific resources,
and given a non-static string, I often have to `clone()` already to get
a string into a closure. Take this code for example:

``` rust
let server = actix_web::server::new(move || {
    let csrf_origin_graphql = csrf_origin.clone();

    ...

    .resource("/graphql", move |r| {
	r.middleware(
	    csrf::CsrfFilter::new().allowed_origin(csrf_origin_graphql.as_str()),
	);

	r.method(Method::POST).a(graphql::handlers::graphql_post);
    })
```

Letting `allowed_origin()` take an `Into<String>` instead of `&str` would
prevent a second `clone()` in the code above, and also make the code a little
nicer to read (you eliminate the `.as_str()` above). This is a pattern that
seems to be common throughout actix-web already anyway, so it should also be
fine to have here.
2018-04-21 08:41:06 -07:00
Nikolay Kim
2adf8a3a48 add changelog entry 2018-04-21 07:56:11 -07:00
Nathan Fox
5528cf62f0 check if close code exists before reading it 2018-04-20 21:30:18 -04:00
Nikolay Kim
01a0f3f5a0 remove unused dependency 2018-04-19 09:54:22 -07:00
Nikolay Kim
2c8d987241 Use Display formatting for InternalError Display implementation #188 2018-04-19 07:55:09 -07:00
Nikolay Kim
813d1d6e66 doc strings layout 2018-04-18 20:41:03 -07:00
Nikolay Kim
48b02abee7 fmt 2018-04-18 20:16:29 -07:00
Nikolay Kim
ce1081432b export session module 2018-04-18 20:11:49 -07:00
Nikolay Kim
e9bdba57a0 Add identity service middleware 2018-04-18 19:05:24 -07:00
Nikolay Kim
f907be585e Middleware response() is not invoked if there was an error in async handler #187 2018-04-18 14:15:53 -07:00
Nikolay Kim
022f9800ed formatting 2018-04-18 10:49:03 -07:00
Nikolay Kim
50b9fee3a7 Merge branch 'master' of github.com:actix/actix-web 2018-04-17 16:24:02 -07:00
Nikolay Kim
bf9a90293f fix doc strings 2018-04-17 16:22:25 -07:00
Kornel
5b4b885fd6 Replace use of try!() with ? 2018-04-17 23:20:47 +01:00
Nikolay Kim
65b8197876 better doc string for Application::with_state() 2018-04-17 13:59:55 -07:00
Nikolay Kim
a826d113ee add custom request path quoter #182 2018-04-17 12:55:13 -07:00
Nikolay Kim
3a79505a44 update doc string 2018-04-17 07:51:06 -07:00
Aleksey Ivanov
6a7b097bcf Fix route in App::resource example 2018-04-17 16:01:34 +03:00
Nikolay Kim
30a36bed9d fix doc example 2018-04-16 09:50:37 -07:00
Nikolay Kim
79818560b2 cleanup doc strings; prepare release 2018-04-16 09:30:59 -07:00
Nikolay Kim
58cc0dfbc5 Fix Client Request with custom Body Stream halting on certain size requests #176 2018-04-15 10:22:09 -07:00
Nikolay Kim
a9ea649348 Allow to configure StaticFiles CpuPool, via static method or env variable 2018-04-13 19:46:14 -07:00
Nikolay Kim
a5b5ff0894 update doc strings 2018-04-13 19:14:14 -07:00
Nikolay Kim
5140fea8d1 allow to use castom error handler for json extractor 2018-04-13 19:10:42 -07:00
Nikolay Kim
333b4f57d3 use different directory for tests 2018-04-13 17:00:18 -07:00
Nikolay Kim
a8567da3e2 move guide to separate repo; update links 2018-04-13 16:20:23 -07:00
Nikolay Kim
113f5ad1a8 add rustfmt config 2018-04-13 16:02:01 -07:00
Nikolay Kim
95f6277007 fix typo 2018-04-13 14:36:07 -07:00
Nikolay Kim
22c776f46e Fix StaticFiles does not support percent encoded paths #177 2018-04-13 10:13:12 -07:00
Nikolay Kim
c0976bfa17 fix test 2018-04-12 21:28:17 -07:00
Nikolay Kim
94c5bb5cdd add helper method for returning inner value 2018-04-12 15:55:15 -07:00
Nikolay Kim
2ca0ea70c4 use one default cpu pool for StaticFiles #174 2018-04-12 15:50:20 -07:00
Nikolay Kim
0b01884fca add timeouts stats to client connector 2018-04-12 13:08:13 -07:00
Nikolay Kim
83168731fc update user guide content compression section 2018-04-12 09:54:35 -07:00
Jan Niehusmann
72bc1546c4 fix end-of-stream handling in parse_payload
parse_payload can be called with a pre-filled buf.

In this case, it's totaly fine for read_from_io to return
sync::Ready(0) while buf is not empty. This is not an
PayloadError::Incomplete.

So, move the check for PayloadError::Incomplete down to the
decoding code: If the decoder is not ready, but the input stream
is finished, PayloadError::Incomplete will be returned.
2018-04-12 09:47:32 +02:00
Nikolay Kim
b517957761 fix stats for tls and alpn features 2018-04-11 16:34:01 -07:00
Nikolay Kim
d18f9c5905 add clinet connector stats 2018-04-11 16:11:11 -07:00
Douman
62a9b4c53c Rename HttpRequest::without_state into drop_state and make it public 2018-04-11 22:41:06 +03:00
Nikolay Kim
d041df6c4b update links 2018-04-10 19:27:09 -07:00
Nikolay Kim
be288fa00a for NamedFile process etag and last modified only if status code is 200 2018-04-10 10:57:53 -07:00
Nikolay Kim
fd87eb59f8 remove reference to master 2018-04-10 10:29:10 -07:00
Nikolay Kim
81ac905c7b fix prefix and static file serving #168 2018-04-10 10:16:00 -07:00
Nikolay Kim
bb11fb3d24 update client mod doc string 2018-04-09 21:57:40 -07:00
Nikolay Kim
23eea54776 update cors doc string 2018-04-09 21:39:32 -07:00
Nikolay Kim
2881859400 proper test for CorsBuilder::resource 2018-04-09 21:29:57 -07:00
Nikolay Kim
1686682c19 extend CorsBuilder api to make it more user friendly 2018-04-09 21:11:15 -07:00
Nikolay Kim
e757dc5a71 clippy warnings 2018-04-09 14:25:30 -07:00
Nikolay Kim
be358db422 CorsBuilder::finish() panics on any configuration error 2018-04-09 14:20:12 -07:00
Nikolay Kim
7df2d6b12a clippy warnings; extend url_for example in user guide 2018-04-09 13:30:38 -07:00
Nikolay Kim
0b0bbd6bd9
Merge branch 'master' into private-cookies 2018-04-09 12:54:08 -07:00
Nikolay Kim
5617896780 cleanup doc tests 2018-04-09 10:40:12 -07:00
Alex Whitney
2b803f30c9 remove CookieSessionBackend::new 2018-04-09 18:33:29 +01:00
Alex Whitney
9b152acc32 add signed and private cookies 2018-04-09 17:59:28 +01:00
Nikolay Kim
eb66685d1a simplify csrf middleware 2018-04-09 09:49:07 -07:00
Nikolay Kim
b505e682d4 fix session doc test 2018-04-09 09:31:11 -07:00
Nikolay Kim
ff14633b3d simplify CookieSessionBackend; expose max_age cookie setting 2018-04-08 11:05:37 -07:00
Nikolay Kim
37db7d8168 allow to override status code for NamedFile 2018-04-08 10:53:58 -07:00
Vincent Ambo
9fb0498437 docs(lib): Add a note about getting started with the API docs
Adds some initial pointers for newcomers to the documentation that
direct them at some of the most commonly used API types.

I based these links on what *I* usually end up looking at when I open
the actix_web docs.
2018-04-07 17:27:53 +02:00
Vincent Ambo
b2a43a3c8d docs(application): Formatting & spelling fixes in module docs 2018-04-07 17:19:11 +02:00
Vincent Ambo
38063b9873 docs(client): Minor formatting and spelling fixes in module docs 2018-04-07 17:00:57 +02:00
Nikolay Kim
7243c58fce stable rust compatibility 2018-04-06 21:57:45 -07:00
Nikolay Kim
fffaf2bb2d App::route method 2018-04-06 21:18:42 -07:00
Nikolay Kim
542315ce7f simplify StaticFiles 2018-04-06 19:34:55 -07:00
Nikolay Kim
2d4ee0ee01 make Pause::new public 2018-04-06 12:34:24 -07:00
Nikolay Kim
5bd5f67d79 add Pause message constructors 2018-04-06 12:31:31 -07:00
Nikolay Kim
8d5fa6ee71 added Pause/Resume for client connector 2018-04-06 11:08:41 -07:00
Nikolay Kim
084104d058 update doc strings for extractors 2018-04-06 10:24:57 -07:00
Nikolay Kim
2c411a04a9 no need for export in doc example 2018-04-06 10:15:06 -07:00
Nikolay Kim
af0c8d893d add shortcut method for client requests 2018-04-06 10:09:31 -07:00
Nikolay Kim
691457fbfe update tests 2018-04-06 09:45:10 -07:00
Nikolay Kim
2dafd9c681 do not re-export HttpServer from server module 2018-04-06 08:40:11 -07:00
Nikolay Kim
6c55501252 client connector wait timeout 2018-04-05 18:33:58 -07:00
Nikolay Kim
800f711cc1 add PayloadConfig 2018-04-04 21:13:48 -07:00
Nikolay Kim
7be4b1f399 clippy warns 2018-04-04 20:24:09 -07:00
Nikolay Kim
eeae0ddab4 start client timeout for response only 2018-04-04 20:15:47 -07:00
Nikolay Kim
d8a9606162 add connection limits to pool 2018-04-04 16:39:01 -07:00
Nikolay Kim
df21892b5b added extractor configuration 2018-04-03 22:06:18 -07:00
Nikolay Kim
a255a6fb69 use build_response method 2018-04-03 17:37:17 -07:00
Nikolay Kim
fee30d6f47 fix doc test compatibility 2018-04-02 22:01:20 -07:00
Nikolay Kim
476b1fb36a simplify DefaultHeaders middleware 2018-04-02 21:43:50 -07:00
Nikolay Kim
3b93bff602 add ErrorHandlers middleware 2018-04-02 21:37:00 -07:00
Nikolay Kim
d292c5023f add String and Bytes extractor 2018-04-02 16:19:18 -07:00
Nikolay Kim
ef6f310060 update urlencoded example in guide 2018-04-02 15:08:49 -07:00
Nikolay Kim
a6cbdde43f add extractor for Binary type; move all extractors to separate module 2018-04-02 14:55:42 -07:00
Nikolay Kim
cbf4c61eb5 add urlencoded body extractor 2018-04-02 14:00:18 -07:00
Nikolay Kim
280c8d87f8 expose ResourceType 2018-04-02 11:18:31 -07:00
Nikolay Kim
83bf852192 Fix logger request duration calculation 2018-04-02 11:09:24 -07:00
Nikolay Kim
6c906b08e1 match resource path before executing middlewares 2018-04-02 10:27:37 -07:00
Nikolay Kim
17c27ef42d HttpRequest::resource() returns current matched resource 2018-04-01 17:37:22 -07:00
Nikolay Kim
97e2bcd055 allow primitive types for Path extractor 2018-03-31 17:12:08 -07:00
Nikolay Kim
23cfa649f4 update tests 2018-03-31 10:21:54 -07:00
Nikolay Kim
8791c0f880 simplify With handlers 2018-03-31 09:58:33 -07:00
Nikolay Kim
16c212f853 add extractors info to guide 2018-03-31 09:18:25 -07:00
Nikolay Kim
3ee228005d rename Application 2018-03-31 00:16:55 -07:00
Nikolay Kim
44e3df82f6 simplify http response construction; deprecate httpcodes 2018-03-30 23:07:33 -07:00
Nikolay Kim
8d8f6bedad update examples 2018-03-30 18:54:38 -07:00
Nikolay Kim
9e751de707 re-arrange modules and exports 2018-03-30 17:31:18 -07:00
Nikolay Kim
b16419348e add from HttpRequest to a HttpRequestBuilder 2018-03-30 14:30:24 -07:00
Nikolay Kim
3ccaa04575 unhide AsyncResponder; remove unused code 2018-03-30 09:34:03 -07:00
Nikolay Kim
145010a2b0 use unreachable instead of panic 2018-03-29 15:55:27 -07:00
Nikolay Kim
3e98177fad added State extractor 2018-03-29 15:41:13 -07:00
Nikolay Kim
d24752d9bc update example in readme 2018-03-29 15:07:12 -07:00
Nikolay Kim
92fe2e96de update doc strings 2018-03-29 15:00:18 -07:00
Nikolay Kim
3cf54bc0fd proper serde deserializer implementation for path 2018-03-29 14:30:45 -07:00
Nikolay Kim
86dd732704 use FromRequest instead of HttpRequestExtractor 2018-03-29 13:12:28 -07:00
Nikolay Kim
dfd8f1058e move NormalizePath type to separate module 2018-03-29 11:39:21 -07:00
Nikolay Kim
f5636f321b drop deprecated code 2018-03-29 11:06:44 -07:00
Nikolay Kim
ae6c9cb7fa re-arrange exports, some doc string updates 2018-03-29 10:44:26 -07:00
Nikolay Kim
32052c2750 update guide 2018-03-29 10:01:07 -07:00
Nikolay Kim
7d6deab9fb drop request's extract_xxx methods 2018-03-29 09:26:01 -07:00
Nikolay Kim
9e61c67128 do not re-export Version 2018-03-28 22:00:36 -07:00
Nikolay Kim
13bb5f20d2 fix export name 2018-03-28 21:58:08 -07:00
Nikolay Kim
d14991ec96 update doc strings 2018-03-28 21:49:50 -07:00
Nikolay Kim
45dec8d0c0 optimize with and with2 method impls and tests 2018-03-28 21:33:40 -07:00
Nikolay Kim
90e3aaaf8a fix router cannot parse Non-ASCII characters in URL #137 2018-03-28 16:10:58 -07:00
Nikolay Kim
4f7d45ee9c remove unneeded import 2018-03-28 14:38:01 -07:00
Nikolay Kim
e1d2536d85 remove unused code 2018-03-28 14:34:17 -07:00
Nikolay Kim
65700281e8 add support for multiple extractors 2018-03-28 14:24:32 -07:00
Nikolay Kim
df7ffe14f2 add PathAndQuery extractor 2018-03-28 11:20:06 -07:00
Nikolay Kim
36161aba99 update Path and Query doc strings 2018-03-28 07:27:06 -07:00
Nikolay Kim
9f5a91ae3c export types 2018-03-27 21:59:55 -07:00
Nikolay Kim
4358da9926 refactor WithHandler trait 2018-03-27 20:33:24 -07:00
Nikolay Kim
62fb75ff95 add Application::configure method, it simplifies configuration process 2018-03-27 11:16:02 -07:00
Nikolay Kim
dcc5eb7ace pass request as value 2018-03-26 23:34:31 -07:00
Nikolay Kim
81f4e12a27 fix doc string test 2018-03-26 23:29:53 -07:00
Nikolay Kim
2f60a4b89d add handler with exatractor 2018-03-26 23:10:31 -07:00
Nikolay Kim
8fff2c7595 remove Path and Query from public api 2018-03-26 18:18:38 -07:00
Nikolay Kim
052d5f0bc5 silence AsciiExt deprecation warn 2018-03-26 16:12:25 -07:00
Nikolay Kim
68cf32e848 add path and query extractors 2018-03-26 15:58:30 -07:00
Nikolay Kim
a56e5113ee process transfer-encoding before content-length, fix tests on 32bit platform 2018-03-24 09:22:34 -07:00
Alexander Andreev
2d80c5053d spelling check 2018-03-24 09:35:52 +03:00
Nikolay Kim
47f836cd1b add helper method for response creation 2018-03-22 21:14:57 -07:00
Nikolay Kim
449709dd7e add 0.5 sec deley before exit 2018-03-22 18:41:02 -07:00
Nikolay Kim
5a25fd95f5 Fix panic on invalid URL characters #130 2018-03-22 18:08:12 -07:00
Nikolay Kim
b942bcc4a6 Fix long client urls #129 2018-03-22 07:44:16 -07:00
Nikolay Kim
93d99b5a49 Use more ergonomic actix_web::Error instead of http::Error for ClientRequestBuilder::body() 2018-03-21 20:19:31 -07:00
Nikolay Kim
e49910cdab Use more ergonomic actix_web::Error instead of http::Error for HttpResponseBuilder::body() 2018-03-21 20:15:52 -07:00
Nikolay Kim
e8a1850c79 add helper conversion from ClientResponse for HttpResponseBuilder 2018-03-21 20:04:35 -07:00
Nikolay Kim
afb81b6b8f add convinience ClientRequest::build_from() from HttpRequest 2018-03-21 19:54:21 -07:00
Nikolay Kim
4866a26578 make streaming method more ergonomic 2018-03-21 19:14:18 -07:00
Nikolay Kim
2d75ced4ed fix client connection pooling 2018-03-21 11:51:08 -07:00
Nikolay Kim
7bcc258b09
Use fast compression setting 2018-03-21 08:56:21 -07:00
Nikolay Kim
d5fa0a9418 disable brotli if feature is not enabled, faster compression 2018-03-21 08:03:21 -07:00
Nikolay Kim
ce6d237cc1 prepare 0.4.10 release 2018-03-20 15:53:39 -07:00
Nikolay Kim
70caa2552b simplify httpresponse release 2018-03-20 15:51:19 -07:00
Nikolay Kim
c4f4cadb43 Fix http/2 date header generation 2018-03-20 11:40:05 -07:00
Nikolay Kim
978091cedb wake up io task when next chunk of data is needed 2018-03-20 11:37:13 -07:00
Nikolay Kim
8198f5e10a Refactor TestServer configuration 2018-03-20 11:23:35 -07:00
Nikolay Kim
6cd40df387 Fix server websockets big payloads support 2018-03-19 17:27:03 -07:00
Nikolay Kim
35ee5d36d8 actix 0.5.5, ws test 2018-03-19 13:12:36 -07:00
Nikolay Kim
e7ec0f9fd7 ws tests and proper write payload ref 2018-03-19 09:30:58 -07:00
Nikolay Kim
f4a47ef71e allow set client request/ws timeout 2018-03-18 19:27:51 -07:00
Nikolay Kim
ab73da4a1a use Error instead of InternalError for helper methods error::ErrorXXX 2018-03-18 14:18:47 -07:00
Nikolay Kim
e0c8da567c various optimizations 2018-03-18 11:05:44 -07:00
Douman
ec192e0ab1 Show Request's hidden methods 2018-03-17 18:10:22 +03:00
Nikolay Kim
6d792d9948 simplify h1 parse 2018-03-16 20:56:23 -07:00
Nikolay Kim
1fe4315c94 use actix 0.5.4 2018-03-16 13:37:47 -07:00
Nikolay Kim
2d18dba40a fix compilation 2018-03-16 12:28:08 -07:00
Nikolay Kim
d2693d58a8 clippy warnings 2018-03-16 12:12:55 -07:00
Nikolay Kim
84bf282c17 add basic client connection pooling 2018-03-16 12:04:01 -07:00
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