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

1932 commits

Author SHA1 Message Date
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
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
Nikolay Kim
1a31554ee6 travis config 2018-01-10 21:02:28 -08:00
Nikolay Kim
49cdddf479 upgrade flate package 2018-01-10 20:28:06 -08:00
Nikolay Kim
aed90ed458 rename payload 2018-01-10 20:08:13 -08:00
Nikolay Kim
e0faf3f69c refactor pipeline impl 2018-01-10 16:45:57 -08:00
Nikolay Kim
f7807e43d8 cleanup Binary type; more cors tests 2018-01-10 15:28:33 -08:00
Nikolay Kim
fee54d1de0 tests for cors response 2018-01-10 14:56:45 -08:00
Nikolay Kim
1445cc7a2c test for cors 2018-01-10 14:21:48 -08:00
Nikolay Kim
16e9512457 better names for cors errors 2018-01-10 14:20:00 -08:00
Nikolay Kim
615db0d9d8 complete cors implementation 2018-01-10 13:41:33 -08:00
Nikolay Kim
3f3dcf413b move websocket code to submodule 2018-01-10 11:13:29 -08:00
Nikolay Kim
4b72a1b325 create custom WebsocketContext for websocket connection 2018-01-10 10:12:34 -08:00
Nikolay Kim
8aae2daafa update example 2018-01-10 07:55:25 -08:00
Nikolay Kim
d7f59ce481 add cors preflight request support 2018-01-09 23:55:42 -08:00
Nikolay Kim
ce78f17a79 refactor Middleware trait, use Result 2018-01-09 22:48:35 -08:00
Nikolay Kim
16310a5ebd initial work on cors middleware 2018-01-09 22:33:51 -08:00
Nikolay Kim
e8412672a2 add resource level middlewares support 2018-01-09 20:00:18 -08:00
Nikolay Kim
6c7dda495b add very simple http/2 test 2018-01-09 12:49:46 -08:00
Nikolay Kim
a159a9cd6e cleanup doc tests 2018-01-09 10:08:06 -08:00
Nikolay Kim
f90bc0caae do no stop on write_eof 2018-01-07 19:10:42 -08:00
Nikolay Kim
f802fe09e6 fix context poll 2018-01-07 17:13:49 -08:00
Nikolay Kim
71da72efdb use general context impl 2018-01-06 22:59:39 -08:00
Nikolay Kim
247c23c1ea no need for StreamHandler 2018-01-06 01:06:35 -08:00
Nikolay Kim
3ed9e872ad subscriber to os signals automatically 2018-01-05 16:32:36 -08:00
Nikolay Kim
5ff35f5b99 upgrade to actix 0.4 2018-01-05 13:30:21 -08:00
Nikolay Kim
20d5c61c11 set nodelay for streams 2018-01-04 09:32:47 -08:00
Nikolay Kim
91230afc44 fix time calculations 2018-01-04 09:32:33 -08:00
Nikolay Kim
afeffe4b19 encode returns result 2018-01-04 09:32:15 -08:00
Nikolay Kim
fdf7726831 update changelog 2018-01-03 23:59:12 -08:00
Nikolay Kim
9559f6a175 introduce IoStream trait for low level stream operations 2018-01-03 23:41:55 -08:00
Nikolay Kim
1f7aee23df shutdown io streams before exit 2018-01-03 22:43:44 -08:00
Nikolay Kim
e439d0546b * fix force_close
* shutdown io before exit

* fix response creation with body from pool
2018-01-03 18:21:34 -08:00
Nikolay Kim
8348c830e2 no need for mut ref 2018-01-03 10:57:57 -08:00
Nikolay Kim
ae084d1146 added helper future for reading request body 2018-01-03 09:23:58 -08:00
Nikolay Kim
88031b7fde remove debug prints 2018-01-03 09:00:22 -08:00
Nikolay Kim
70ea43b3c0 fix drain support for actor; make pattern more reusable 2018-01-02 23:43:17 -08:00
Nikolay Kim
3a59344ffb update h2 lib 2018-01-02 19:37:33 -08:00
Nikolay Kim
f0fdcc9936 handle application prefix for handlers; use handler for StaticFiles 2018-01-02 15:23:31 -08:00
Nikolay Kim
77ba1de305 flush encoder 2018-01-02 14:53:51 -08:00
Nikolay Kim
b49eadf7e5 fix content length serialization #33 2018-01-02 13:39:32 -08:00
Nikolay Kim
9040f588af allow to handle entire sub path 2018-01-02 13:09:02 -08:00
Nikolay Kim
cc38b30f7b refactor http actor usage 2017-12-31 17:26:32 -08:00
Nikolay Kim
967d3244d7 fix http/2 support 2017-12-31 13:22:11 -08:00
Nikolay Kim
6ea894547d better application handling, fix url_for method for routes with prefix 2017-12-29 14:04:13 -08:00
Nikolay Kim
491d43aa8c update tests 2017-12-29 11:49:36 -08:00
Nikolay Kim
1baead993a call poll_io recursevely aftre drain completion 2017-12-29 11:45:56 -08:00
Nikolay Kim
3d3e4dae9a refactor IntoHttpHandler trait 2017-12-29 11:33:04 -08:00
Nikolay Kim
1d195a2cf2 make Pipeline private 2017-12-29 09:16:50 -08:00
Nikolay Kim
d87fafb563 fix and refactor middleware runner 2017-12-29 01:01:31 -08:00
Nikolay Kim
308df19865 update readme 2017-12-28 16:27:08 -08:00
Nikolay Kim
538fea8027 add graceful shutdown system 2017-12-28 16:25:47 -08:00
Nikolay Kim
3f4898a6d1 add StopWorker message 2017-12-28 13:07:29 -08:00
Nikolay Kim
6a2bb9a473 split worker code to separate module 2017-12-28 12:38:37 -08:00
Nikolay Kim
783e19c1bf fix RequestSession impl for HttpRequest 2017-12-28 11:43:45 -08:00
Nikolay Kim
d80a0c9f94 add support for unix signals 2017-12-28 11:36:20 -08:00
Alban Minassian
27b0dfd761 set sessio name 2017-12-28 13:02:46 +01:00
Nikolay Kim
093d0bae40 Param ctor is private 2017-12-27 19:19:28 -08:00
Nikolay Kim
8941557da6 add parameter container iterator 2017-12-27 19:09:36 -08:00
Nikolay Kim
6bb893deab use Params object for query 2017-12-27 19:02:29 -08:00
Nikolay Kim
19e1c1b75b use Cow for Params type 2017-12-27 18:41:09 -08:00
Nikolay Kim
556de72932 add server spawn method 2017-12-27 17:49:10 -08:00
Nikolay Kim
4d741b4de5
Fix typos 2017-12-27 13:26:31 -08:00
Nikolay Kim
0589f2ee49 add server management commands 2017-12-27 12:58:32 -08:00
Nikolay Kim
da8aa8b988 use mio for accept loop 2017-12-27 11:22:27 -08:00
Nikolay Kim
183bcd38f8 modify unused_addr method; update websockt guide section 2017-12-26 20:52:21 -08:00
Nikolay Kim
3abd0db6b1 restore server start test 2017-12-26 20:07:31 -08:00
Nikolay Kim
29adc20581 rename module 2017-12-26 19:59:41 -08:00
Nikolay Kim
743235b8fd add unit test helper 2017-12-26 19:48:02 -08:00
Nikolay Kim
d3b7d2d6b3 allow to use application factory for test server 2017-12-26 16:47:55 -08:00
Nikolay Kim
f6510161b5 add simple TestServer for integrational tests cases 2017-12-26 16:35:00 -08:00
Nikolay Kim
e3b0f02794 fix type for disable feartures 2017-12-26 15:17:20 -08:00
Nikolay Kim
9521de5746 HttpServer::addrs() return all bound socket addresses 2017-12-26 14:45:38 -08:00
Nikolay Kim
dd3a2aa68a add HttpServer::server_hostname method 2017-12-26 14:36:03 -08:00
Nikolay Kim
cce9c68a10 add doc string 2017-12-26 12:46:27 -08:00
Nikolay Kim
cf8c2ca95e refactor Handler trait, use mut self 2017-12-26 09:00:45 -08:00
Nikolay Kim
ffb5742b71 fix tests 2017-12-25 19:42:55 -08:00
Nikolay Kim
5b65987f6a write response optimizations 2017-12-25 13:40:06 -08:00
Nikolay Kim
98b0e023f3 optimize payload detection 2017-12-25 07:31:12 -08:00
Nikolay Kim
f1e82ebc1e better connect handling 2017-12-24 16:15:40 -08:00
Nikolay Kim
ddd9c24bb2 optimize payload type detection 2017-12-24 14:29:19 -08:00
Nikolay Kim
9f9c75d832 simplify drain feature 2017-12-24 11:58:09 -08:00
Nikolay Kim
eaab28cd3b proper fix for compression 2017-12-21 12:57:59 -08:00
Nikolay Kim
c35d294611 fix compression 2017-12-21 12:54:18 -08:00
Nikolay Kim
18f3841783 update test 2017-12-20 23:36:52 -08:00
Nikolay Kim
bca1dd4f9e update doc strings 2017-12-20 23:19:21 -08:00
Nikolay Kim
0a68811dce cleanup more examples 2017-12-20 21:06:04 -08:00
Nikolay Kim
406d2c41e9 add doc string 2017-12-20 20:56:17 -08:00
Nikolay Kim
63ddc07ccb added JsonBody future 2017-12-20 20:30:54 -08:00
Nikolay Kim
33b2be3281 move json responder to separate module 2017-12-20 17:51:28 -08:00
Nikolay Kim
c36ad06332 more general Responder implementaiton for response future 2017-12-20 15:26:28 -08:00
Nikolay Kim
79f047f5be remove box from predicates 2017-12-20 13:23:50 -08:00
Nikolay Kim
813b56ebe5 make async handler future more generic 2017-12-20 12:51:39 -08:00
Nikolay Kim
7fc7d6e17a update guide 2017-12-19 22:36:06 -08:00
Nikolay Kim
626999bcc9 update doc strings 2017-12-19 16:09:19 -08:00
Nikolay Kim
64d867d9a1 update session guide section 2017-12-19 15:44:25 -08:00
Nikolay Kim
1596f4db73 refactor url encoded body parsing 2017-12-19 14:03:01 -08:00
Nikolay Kim
fa2a3bc55e make method private 2017-12-19 13:11:19 -08:00
Nikolay Kim
db7bd962cb fix some doc strings 2017-12-19 11:46:11 -08:00
Nikolay Kim
2bad99b645 better query() method impl; update doc strings 2017-12-19 11:34:51 -08:00
Nikolay Kim
e3f9345420 multipart field is stream of bytes 2017-12-19 09:55:49 -08:00
Nikolay Kim
790793f8a1 refactor multipart stream creation 2017-12-19 09:51:28 -08:00
Nikolay Kim
13cbfc877d simplify server start method 2017-12-19 09:08:36 -08:00
Nikolay Kim
4f6145e5c7 fix typos 2017-12-19 00:29:25 -08:00
Nikolay Kim
f3b853f224 refactor payload 2017-12-19 00:18:57 -08:00
Nikolay Kim
0cab873066 make payload sender public 2017-12-18 21:58:38 -08:00
Nikolay Kim
2124730e0a guide update 2017-12-18 18:56:58 -08:00
Nikolay Kim
9ed4159c0c update examples 2017-12-18 13:06:41 -08:00
Nikolay Kim
27d92f3a23 refactor server bind and start process 2017-12-17 12:35:04 -08:00
Nikolay Kim
b1f33e29ec simplify content-length calculation 2017-12-16 07:29:15 -08:00
Nikolay Kim
ed8bd3d6a3 h1 cleanups 2017-12-15 22:49:48 -08:00
Nikolay Kim
1daf50095a cleanup response 2017-12-15 20:00:12 -08:00
Nikolay Kim
a8b2f1b821 update tests 2017-12-15 18:49:11 -08:00
Nikolay Kim
1ddcce7b76 hide httpresponse box 2017-12-15 16:24:15 -08:00
Nikolay Kim
c3d5e4301a cleanup h1 parse 2017-12-15 13:10:12 -08:00
Nikolay Kim
4913e7d3c2 cleanup 2017-12-14 22:22:27 -08:00
Nikolay Kim
106f43e874 better SharedBytes usage for h2 2017-12-14 20:48:31 -08:00
Nikolay Kim
2b0994e448 update tests 2017-12-14 20:29:49 -08:00
Nikolay Kim
c37565cc4a various server optimizations 2017-12-14 19:34:31 -08:00
Nikolay Kim
b61c2a0cf0 handle keep-alive setting more efficient 2017-12-14 11:20:45 -08:00
Nikolay Kim
c98d320f8c rename FromRequest trait to Responder 2017-12-14 09:43:42 -08:00
Nikolay Kim
355f54efe2 update api docs 2017-12-13 23:35:21 -08:00
Nikolay Kim
8c1487f7f2 update tests 2017-12-13 23:09:35 -08:00
Nikolay Kim
4529efa948 rename module 2017-12-13 22:54:52 -08:00
Nikolay Kim
9d0a64ac98 remove unused file 2017-12-13 22:43:16 -08:00
Nikolay Kim
b7cde3f4a9 update guide 2017-12-13 22:36:28 -08:00
Nikolay Kim
408ddf0be1 add ssl guide ref 2017-12-13 21:56:30 -08:00
Nikolay Kim
c2751efa87 refactor keep-alive; update guide 2017-12-13 21:38:47 -08:00
Nikolay Kim
96f598f2c4 various optimizations 2017-12-13 16:44:35 -08:00
Nikolay Kim
81f8da03ae refactor http workers 2017-12-13 12:47:07 -08:00
Nikolay Kim
6b61041aec move tests 2017-12-13 11:16:26 -08:00
Nikolay Kim
d4187f682b various cleanups 2017-12-13 11:10:03 -08:00
Nikolay Kim
55204c829c update tests 2017-12-13 08:00:25 -08:00
Nikolay Kim
2e83c5924d cleanup and optimize some code 2017-12-12 21:32:58 -08:00
Nikolay Kim
ab6efd2421 handle http connections in different threads 2017-12-12 17:21:00 -08:00
Nikolay Kim
55818028cb state does not need to be Send 2017-12-12 08:51:16 -08:00
Nikolay Kim
e9aa67b75d http server accepts factory of HttpHandlers 2017-12-12 07:40:36 -08:00
Nikolay Kim
007b7ce62f unify route not found handling 2017-12-11 16:26:51 -08:00
Nikolay Kim
0f75d066f2 simplify Application creation; update url dispatch guide section 2017-12-11 14:16:29 -08:00
Nikolay Kim
0388a464ba tests for NormalizePath 2017-12-09 13:25:06 -08:00
Nikolay Kim
71bbe2a5dd update doc string for NormalizePath 2017-12-09 11:55:55 -08:00
Nikolay Kim
7addd2800d add NormalizePath handler 2017-12-09 11:39:13 -08:00
Nikolay Kim
273de2260d refactor pipeline 2017-12-09 05:54:04 -08:00
Nikolay Kim
b98ab2eebe use trait instead of pipeline 2017-12-09 04:33:40 -08:00
Nikolay Kim
4a40b026a4 more error wrappers 2017-12-08 15:52:46 -08:00
Nikolay Kim
a44f71d8c2 make ErrorBadRequest type useful 2017-12-08 15:25:37 -08:00
Nikolay Kim
9043e7286d tests for default predicates 2017-12-08 12:51:44 -08:00
Nikolay Kim
3e91b06241 fix static files 2017-12-08 12:29:28 -08:00
Nikolay Kim
774bfc0a86 use server settings for scheme and host values 2017-12-08 09:48:53 -08:00
Nikolay Kim
1293619096 set server settings to HttpHandler 2017-12-08 09:24:05 -08:00
Nikolay Kim
2192d14eff added ServerSettings 2017-12-07 22:54:44 -08:00
Nikolay Kim
b71ddf7b4c pass local addr to channel; use bitflags 2017-12-07 21:52:46 -08:00
Nikolay Kim
d595dd850e load cookies automatically 2017-12-07 18:00:20 -08:00
Nikolay Kim
0abb3863dc simplify api 2017-12-07 17:38:18 -08:00
Nikolay Kim
dff7618f35 rearrange exports 2017-12-07 16:40:29 -08:00
Nikolay Kim
968f5d39d6 added external resources; refactor route recognizer 2017-12-07 16:22:26 -08:00
Nikolay Kim
2a0d5db41a more tests 2017-12-06 18:39:13 -08:00
Nikolay Kim
4b03d03404 rearrange exports 2017-12-06 17:06:40 -08:00
Nikolay Kim
9ea0781aba fix test 2017-12-06 16:58:49 -08:00
Nikolay Kim
63502fa833 test for Router::has_route 2017-12-06 16:40:23 -08:00
Nikolay Kim
a18bd5dac0 add doc ref 2017-12-06 16:34:54 -08:00
Nikolay Kim
0dd27bd224 added HttpRequest::url_for 2017-12-06 16:26:27 -08:00
Nikolay Kim
8d52e2bbd9 tests for default resource 2017-12-06 13:02:53 -08:00
Nikolay Kim
c63f058647 simplify application creation 2017-12-06 11:00:39 -08:00
Nikolay Kim
87c7441f7d remove Applicaiton::route, resource is enough 2017-12-06 08:03:08 -08:00
Nikolay Kim
04ded5ba68 hide pkcs 2017-12-06 07:49:01 -08:00
Nikolay Kim
903b391e0a move ConnectionInfo to dev 2017-12-06 07:47:42 -08:00
Nikolay Kim
20af8822fd cleanup 2017-12-05 21:53:00 -08:00
Nikolay Kim
d7e65b6212 add ConnectionInfo tests 2017-12-05 21:41:30 -08:00
Nikolay Kim
c3de32c3b3 added ConnectionInfo 2017-12-05 17:09:15 -08:00
Nikolay Kim
d8b880e167 work on resource_path api 2017-12-05 13:31:06 -08:00
Nikolay Kim
86d7290f9e update tests 2017-12-05 11:43:41 -08:00
Nikolay Kim
a83d9b24ae extrat elements of path pattern 2017-12-05 11:31:35 -08:00
Nikolay Kim
3c9b6ea619 update guide 2017-12-04 20:38:38 -08:00
Nikolay Kim
fd6b243cd6 update examples 2017-12-04 16:32:31 -08:00
Nikolay Kim
f4e9fc7b6a rename async to a 2017-12-04 16:09:22 -08:00
Nikolay Kim
e332c1242f use Route for Applicaiton handlers 2017-12-04 14:53:40 -08:00
Nikolay Kim
f5d6179a34 renamed Route::handler to Route::f, added Route::h to register Handler 2017-12-04 14:07:53 -08:00
Nikolay Kim
a163e75318 drop tail path pattern 2017-12-04 13:34:55 -08:00
Nikolay Kim
3bf3738e65 introduce route predicates 2017-12-04 13:32:05 -08:00
Nikolay Kim
57fd35ffc1 added default headers middleware 2017-12-03 20:47:15 -08:00
Nikolay Kim
d35be02587 cleanup 2017-12-03 20:09:46 -08:00
Nikolay Kim
319e9bbd05 added Json response support 2017-12-03 18:51:52 -08:00
Nikolay Kim
5decff9154 added fs tests 2017-12-03 18:15:09 -08:00
Nikolay Kim
69f0c098e3 check show_index 2017-12-03 16:58:31 -08:00
Nikolay Kim
5abc46034a refactor static files 2017-12-03 16:57:25 -08:00
Nikolay Kim
7c6faaa8e0 add Item and Error to FromRequest trait 2017-12-03 14:22:04 -08:00
Nikolay Kim
6bc7d60f52 more default impls for FromRequest 2017-12-02 17:14:55 -08:00
Nikolay Kim
fb3185de94 rename module 2017-12-02 16:47:02 -08:00
Nikolay Kim
61744b68a1 introduce custom FromRequest traint for conversion into Reply 2017-12-02 16:37:21 -08:00
Nikolay Kim
187948ddd1 error response for io::Error 2017-12-02 14:58:22 -08:00
Nikolay Kim
29a26b3236 code cleanup 2017-12-02 12:14:16 -08:00
Nikolay Kim
0fc01c48d1 return bad request for param parse error 2017-12-02 11:03:41 -08:00
Nikolay Kim
ebfd3ac275 tests for PathBuf::from_param 2017-12-02 10:43:14 -08:00
Nikolay Kim
d8f27e95a6 added FromParam trait for path segment conversions, FramParam impl for PathBuf 2017-12-02 10:18:54 -08:00
Nikolay Kim
c3a0a4457a add appl builder async method; add async handler section 2017-12-01 21:58:19 -08:00
Nikolay Kim
f0c346f18c handler info 2017-12-01 21:29:22 -08:00
Nikolay Kim
186726fbad tests for Completed state 2017-12-01 19:57:34 -08:00
Nikolay Kim
97bed17fd2 test for completed pipeline state 2017-12-01 16:10:01 -08:00
Nikolay Kim
47645626c4 refactor pipeline 2017-12-01 15:45:15 -08:00
Nikolay Kim
9a1ba527c0 recognizer tests 2017-11-30 19:34:33 -08:00
Nikolay Kim
3fcd5f6935 use http::Uri for uri parsing 2017-11-30 19:01:25 -08:00
Nikolay Kim
7135c0163b simlify code 2017-11-30 18:27:27 -08:00
Nikolay Kim
f53f35f364 added tail pattern 2017-11-30 15:48:09 -08:00
Nikolay Kim
07cc017320 make Task private 2017-11-30 15:13:56 -08:00
Nikolay Kim
271a292ea5 no need to store disconnected state on task 2017-11-30 14:44:58 -08:00
Nikolay Kim
6e138bf373 refactor streaming responses 2017-11-30 14:42:20 -08:00
Nikolay Kim
a0bca2d4cf fix typo 2017-11-30 07:42:02 -08:00
Nikolay Kim
6c4fdf604b do not set content encoding header for upgraded connection 2017-11-29 19:40:27 -08:00
Nikolay Kim
e4f8551cba do not com press upgrade connection 2017-11-29 19:36:55 -08:00
Nikolay Kim
559b1c50a3 do not encode payload less that 1024 bytes 2017-11-29 19:18:37 -08:00
Nikolay Kim
d2eae3d5b3 simplify Handler trait 2017-11-29 15:10:45 -08:00
Nikolay Kim
991dd107b1 update ws doc 2017-11-29 14:12:27 -08:00
Nikolay Kim
acc2fff655 export and simplify HttpHandler trait 2017-11-29 13:53:52 -08:00
Nikolay Kim
427566b90d export Handler 2017-11-29 13:41:51 -08:00
Nikolay Kim
16ceb741b8 refactor RouteHandler trait 2017-11-29 13:26:55 -08:00
Nikolay Kim
6f833798c7 refactor http actor handling 2017-11-29 10:31:24 -08:00
Nikolay Kim
6177d86d97 refactor handler rtype handling 2017-11-29 09:17:00 -08:00
Nikolay Kim
e9bfab8012 add deref for payload item 2017-11-28 19:51:39 -08:00
Nikolay Kim
afeecea05f refactor reply handling 2017-11-28 19:49:17 -08:00
Nikolay Kim
987b275c3f add response test 2017-11-28 14:29:22 -08:00
Nikolay Kim
932e751240 add status code helper method for http response 2017-11-28 14:23:42 -08:00
Nikolay Kim
706e2a07de add helper converters into response 2017-11-28 13:52:53 -08:00
Nikolay Kim
b55d69b4c2 better handler result handling 2017-11-28 12:42:53 -08:00
Nikolay Kim
0bd8725426 make resource handler result more generic 2017-11-28 12:28:51 -08:00
Nikolay Kim
599f3c26e0 start working on guide 2017-11-27 16:41:37 -08:00
Nikolay Kim
b5a4f6f855 hellper method for json body 2017-11-27 10:39:47 -08:00
Nikolay Kim
170d3163f3 better export naming 2017-11-26 22:53:28 -08:00
Nikolay Kim
0519056199 consistent naming 2017-11-26 22:31:29 -08:00
Nikolay Kim
45433f71e5 impl Default trait for HttpRequest 2017-11-26 22:20:28 -08:00
Nikolay Kim
b62b303fdb remove unneeded directives 2017-11-26 22:11:51 -08:00
Nikolay Kim
8e80fed2af added urlencoded errors 2017-11-26 22:00:25 -08:00
Nikolay Kim
fdafb0c848 simplify middleware api; fix examples 2017-11-26 21:47:33 -08:00
Nikolay Kim
5a3b6638a7 move state to request object 2017-11-26 21:18:38 -08:00
Nikolay Kim
8e0a7f44d4 pass request by value 2017-11-26 20:34:20 -08:00
Nikolay Kim
eb7f48a1c6 include payload into request 2017-11-26 19:00:57 -08:00
Nikolay Kim
32483735ba cookie session implementation 2017-11-26 17:34:11 -08:00
Nikolay Kim
53ce186294 cleanup pipeline 2017-11-25 12:05:27 -08:00
Nikolay Kim
37c1e78c7a added helper Task::error method 2017-11-25 10:52:43 -08:00
Nikolay Kim
45ecb87eab allow middlware error result 2017-11-25 10:24:45 -08:00
Nikolay Kim
54bbc98343 cookie session prototype 2017-11-25 09:52:32 -08:00
Nikolay Kim
f4972150cc better middleware error handling 2017-11-25 09:40:57 -08:00
Nikolay Kim
1fc64bc83d better pipeline error handling 2017-11-25 09:28:25 -08:00
Nikolay Kim
64ade803f9 store error for error response 2017-11-25 09:03:44 -08:00
Nikolay Kim
940bc08aba remove unused imports 2017-11-24 22:19:06 -08:00
Nikolay Kim
7569036dd4 refactor request pipeline 2017-11-24 22:15:52 -08:00
Nikolay Kim
59b8214685 better nightly detection 2017-11-24 10:28:43 -08:00
Nikolay Kim
f33c489154 added default ErrorResponse for std::error::Error 2017-11-24 10:03:13 -08:00
Nikolay Kim
5529ea0428 better logger format test 2017-11-23 16:53:02 -08:00
Nikolay Kim
39a20fb95d use env_logger for logger tests 2017-11-23 15:48:59 -08:00
Nikolay Kim
155a636487 more logger tests 2017-11-23 15:37:11 -08:00
Nikolay Kim
e571587a8c refactor logger middleware 2017-11-23 15:17:16 -08:00
Nikolay Kim
5945035fc3 better method name 2017-11-19 18:55:37 -10:00
Nikolay Kim
766e243c63 more Body tests 2017-11-19 18:32:37 -10:00
Nikolay Kim
83862dfbb4 update payload tests 2017-11-19 18:26:30 -10:00
Nikolay Kim
c44e4ad100 expect error tests 2017-11-19 18:02:31 -10:00
Nikolay Kim
1a0e87ac3c add tests for errors 2017-11-19 17:58:47 -10:00
Nikolay Kim
72edd75eab add custom ExceptError 2017-11-19 17:51:14 -10:00
Nikolay Kim
78d8d21196 cleanup error 2017-11-19 17:26:31 -10:00
Nikolay Kim
a87784ba15 use Result intead of HandlerResult 2017-11-18 06:50:07 -10:00
Nikolay Kim
c800bf55f5 update tests 2017-11-15 20:28:02 -10:00
Nikolay Kim
0143e18fe9 fix extern crate 2017-11-15 20:09:37 -10:00
Nikolay Kim
de71ad7de4 refactor error handling 2017-11-15 20:06:28 -10:00
Nikolay Kim
c565965865 rename BinaryBody 2017-11-10 13:42:32 -08:00
Nikolay Kim
f2520d2d79 update logger doc 2017-11-10 13:34:16 -08:00
Nikolay Kim
be3a1ab770 use remote addr in logger if available 2017-11-10 13:26:12 -08:00
Nikolay Kim
f369d9af0e make remote addr available to http request 2017-11-10 13:08:15 -08:00
Nikolay Kim
265628750c refactor logger middleware 2017-11-10 12:29:54 -08:00
Nikolay Kim
40c1d3b711 refactor middlewares 2017-11-09 22:08:54 -08:00
Nikolay Kim
51cd08ef57 store cookies load state 2017-11-08 21:01:56 -08:00
Nikolay Kim
e9fe2ba740 use bytes::Writer 2017-11-08 20:08:16 -08:00
Nikolay Kim
7565ed8e06 use higher pripority for br 2017-11-08 19:42:13 -08:00
Nikolay Kim
02fb424659 add custom Debug impl for HttpResponse 2017-11-08 19:31:25 -08:00
Nikolay Kim
e558414867 add response content encoding 2017-11-08 16:44:46 -08:00
Nikolay Kim
2eb3ad0de3 better name 2017-11-07 16:08:10 -08:00
Nikolay Kim
6974213036 use new brotli2 version 2017-11-07 15:59:37 -08:00
Nikolay Kim
a65fd695e1 refactor content encoding 2017-11-06 16:23:58 -08:00
Nikolay Kim
994d0afd80 allow to set/change responses content encoding 2017-11-06 14:56:38 -08:00
Nikolay Kim
2379bcbf39 added content-encoding support to h2 2017-11-06 09:35:52 -08:00
Nikolay Kim
bddd8e9c2e better deflate decoding 2017-11-06 09:24:19 -08:00
Nikolay Kim
c2978a6eea add content encoding decompression 2017-11-06 01:27:46 -08:00
Nikolay Kim
3f649b8e07 fix name 2017-11-04 14:07:15 -07:00
Nikolay Kim
f23974cfb5 update readme 2017-11-04 13:49:05 -07:00
Nikolay Kim
53868a88fa add keep-alive for h2 connection 2017-11-04 13:24:57 -07:00
Nikolay Kim
d7d3d663e9 refactor server impl and add support for alpn http2 negotiation 2017-11-04 12:33:14 -07:00
Nikolay Kim
32cefb8455 implement h2 writer 2017-11-04 09:07:44 -07:00
Nikolay Kim
4add742aba refactor task impl, extract stream writer to separate struct 2017-11-03 13:48:00 -07:00
Nikolay Kim
f010672885 rename modules 2017-11-03 13:48:00 -07:00
Nikolay Kim
c14e6c9008 make possible to use async handler 2017-11-03 13:35:34 -07:00
Nikolay Kim
ec3b139273 Allow to start tls server with HttpServer::serve_tls 2017-11-01 16:34:58 -07:00
Nikolay Kim
58de9dcf56 added new cancel_future_on_stop 2017-10-30 14:49:20 -07:00
Nikolay Kim
e3c058c96e convert from ref string into body 2017-10-29 22:50:21 -07:00
Nikolay Kim
4e216701c0 better handler function ergonimics 2017-10-29 21:39:59 -07:00
Nikolay Kim
8aa20c6261 disable print 2017-10-29 20:54:52 -07:00
Nikolay Kim
122fcd6881 stop http actor on write_eof 2017-10-29 20:51:06 -07:00
Nikolay Kim
dec4140733 added WsWriter::close 2017-10-29 19:49:59 -07:00
Nikolay Kim
8ab04b39df update tests; clippy warnings 2017-10-29 15:04:44 -07:00
Nikolay Kim
6b2248ecdf do not add error response if current response is in process 2017-10-29 14:51:30 -07:00
Nikolay Kim
a1b7d5995e conditional response build 2017-10-29 14:51:02 -07:00
Nikolay Kim
ce34eab832 better ws handshake error responses 2017-10-29 14:50:26 -07:00
Nikolay Kim
af1e0bac08 add HttpContext::drain() 2017-10-29 06:05:31 -07:00
Nikolay Kim
5cd25cc8b1 fix query splitting 2017-10-29 06:03:51 -07:00
Nikolay Kim
b2670c94f4 added HttpRequest::content_type(), query() method returns HashMap 2017-10-29 06:03:21 -07:00
Nikolay Kim
d93244aa4f Do not use as it can not parse some valid paths 2017-10-27 22:19:00 -07:00
Nikolay Kim
76ffc60971 better path recognision 2017-10-27 19:26:53 -07:00
Nikolay Kim
fb0270e27d refactor Payload stream 2017-10-26 23:14:33 -07:00
Nikolay Kim
86583049fa Fix disconnection handling 2017-10-25 16:25:26 -07:00
Nikolay Kim
da79981d90 update actix 2017-10-24 20:24:14 -07:00
Nikolay Kim
5e54a80064 body tests 2017-10-24 00:09:52 -07:00
Nikolay Kim
ccb3f61d70 added response's helper method finish 2017-10-23 23:52:20 -07:00
Nikolay Kim
b9c11b56f8 added shared string body 2017-10-23 23:49:27 -07:00
Nikolay Kim
1aac83ac96 more body conversion impls 2017-10-23 23:44:03 -07:00
Nikolay Kim
4ee2a60d88 reuse BinaryBody for Frame::Payload 2017-10-23 23:39:01 -07:00
Nikolay Kim
c435f16170 refactory response body 2017-10-23 23:25:32 -07:00
Nikolay Kim
779b480663 more simplification for RouteRecognizer 2017-10-23 22:02:42 -07:00
Nikolay Kim
d9b89ccdac simplify RouteRecognizer reuse 2017-10-23 19:28:23 -07:00
Nikolay Kim
efada51f12 add exclude pattern for tests 2017-10-23 14:26:01 -07:00
Nikolay Kim
4d93766a0f payload error tests 2017-10-23 14:08:11 -07:00
Nikolay Kim
1cdfea39f0 wsframe tests 2017-10-23 13:31:22 -07:00
Nikolay Kim
f4180e78fe response tests 2017-10-22 22:54:11 -07:00
Nikolay Kim
e8936fe081 update multipart tests 2017-10-22 22:23:38 -07:00
Nikolay Kim
3adddc591d multipart tests 2017-10-22 21:40:41 -07:00
Nikolay Kim
5f90d0bcd6 unread_data tests 2017-10-22 20:19:20 -07:00
Nikolay Kim
d49e61591f fix payload readuntil 2017-10-22 20:07:18 -07:00
Nikolay Kim
32a9d9f683 payload tests 2017-10-22 19:58:50 -07:00
Nikolay Kim
33d0c39af6 tests 2017-10-22 18:32:54 -07:00
Nikolay Kim
5699af9795 more tests 2017-10-22 17:33:24 -07:00
Nikolay Kim
26989f5591 server tests 2017-10-22 12:48:43 -07:00
Nikolay Kim
71f7606baf more tests 2017-10-22 09:45:53 -07:00
Nikolay Kim
6ad048d445 multipart boundary extraction 2017-10-22 09:30:05 -07:00
Nikolay Kim
f85925a652 refactor error handling 2017-10-22 09:13:29 -07:00
Nikolay Kim
d555fcabfc update tests 2017-10-22 08:14:23 -07:00
Nikolay Kim
afe9459ce1 pass request by ref; added middleware support 2017-10-21 22:59:59 -07:00
Nikolay Kim
7364e088be basic example 2017-10-21 19:35:50 -07:00
Nikolay Kim
6a33b65f02 refactor server router 2017-10-21 18:54:24 -07:00
Nikolay Kim
0d6e42e748 fix ws doc string 2017-10-21 15:40:16 -07:00
Nikolay Kim
4560ca17b2 update actix; update examples 2017-10-21 15:21:16 -07:00
Nikolay Kim
0bfe07b371 process inactive tasks 2017-10-20 23:12:36 -07:00
Nikolay Kim
71dc9edf8e add simple websocket example 2017-10-20 21:08:38 -07:00
Nikolay Kim
56c91adce2 add websocket example 2017-10-20 17:16:17 -07:00
Nikolay Kim
1db4200621 drop skeptic for now 2017-10-19 16:41:21 -07:00
Nikolay Kim
24804250a8 update multipart impl 2017-10-19 16:22:21 -07:00
Nikolay Kim
aaef550bc5 multipart implementation 2017-10-18 23:43:50 -07:00
Nikolay Kim
264380bf33 add multipart and urlencoded bodies support 2017-10-17 16:46:57 -07:00
Nikolay Kim
fb92d5552d update actix 2017-10-17 14:44:00 -07:00
Nikolay Kim
92b81899dd update doc strings 2017-10-16 20:13:47 -07:00
Nikolay Kim
774de4b44a doc string 2017-10-16 19:40:11 -07:00
Nikolay Kim
f59f68eded new router recognizer 2017-10-16 19:21:24 -07:00
Nikolay Kim
35107f64e7 make HttpServer generic over incoming stream 2017-10-16 13:13:32 -07:00
Nikolay Kim
2e96a79969 doc strings 2017-10-16 10:43:35 -07:00
Nikolay Kim
ff6779a38e use ParseError for HttpRequest::chunked() 2017-10-16 10:31:31 -07:00
Nikolay Kim
95fa70d19e rename params to match_info 2017-10-16 10:20:16 -07:00
Nikolay Kim
88a81155bd added HttpRequest::query 2017-10-16 09:43:10 -07:00
Nikolay Kim
ba1a73443e added StaticFiles basic impl 2017-10-16 01:19:23 -07:00
Nikolay Kim
fa6bc35dbd update doc strings 2017-10-15 15:59:26 -07:00
Nikolay Kim
f1d6c61c5c add expect/continue support 2017-10-15 15:52:52 -07:00
Nikolay Kim
94c8aa6a54 do not use actix prelude 2017-10-15 15:10:35 -07:00
Nikolay Kim
955e50313d simplify server method 2017-10-15 14:53:03 -07:00
Nikolay Kim
5901f0f9f5 Application, router, resource builders 2017-10-15 14:17:41 -07:00
Nikolay Kim
5480cb5d49 rename httpmessage to httpresponse 2017-10-15 09:33:17 -07:00
Nikolay Kim
b79187a425 more tests 2017-10-14 23:14:26 -07:00
Nikolay Kim
41f1e6cdc9 split http request; add HttpRequest::range() 2017-10-14 22:52:38 -07:00
Nikolay Kim
edac148f7c added Httprequest::cookie() method 2017-10-14 11:02:25 -07:00
Nikolay Kim
f0531793b4 add cookies support for response 2017-10-14 10:40:58 -07:00
Nikolay Kim
5c9f813d28 more tests 2017-10-14 10:01:53 -07:00
Nikolay Kim
95987daa72 rename to actix-web 2017-10-14 07:59:35 -07:00
Nikolay Kim
8c42b8ae86 more tests 2017-10-14 00:28:49 -07:00
Nikolay Kim
58c40e9610 reader tests 2017-10-14 00:11:12 -07:00
Nikolay Kim
02f2d0dfa2 disable try_trait in main 2017-10-13 18:58:22 -07:00
Nikolay Kim
178d2e846d do not use try_trait in main 2017-10-13 18:54:02 -07:00
Nikolay Kim
3516f02e4f keep-alive support 2017-10-13 16:33:23 -07:00
Nikolay Kim
0447c66de1 simplify Frame::Message; impl Try for Reply 2017-10-13 14:43:17 -07:00
Nikolay Kim
c0e73c7275 provide wait method 2017-10-11 19:20:05 -07:00
Nikolay Kim
8b1fdeb8c9 response version is optional 2017-10-10 17:14:30 -07:00
Nikolay Kim
0e6a67fc26 refactor response generation 2017-10-10 16:03:32 -07:00
Nikolay Kim
78e6149d9f fix connection upgrade 2017-10-10 12:39:24 -07:00
Nikolay Kim
9653a1fa98 export Body 2017-10-09 23:39:41 -07:00
Nikolay Kim
be7bda65ef clippy warnings 2017-10-09 23:10:15 -07:00
Nikolay Kim
676347d7f6 drop hyper 2017-10-09 23:07:32 -07:00
Nikolay Kim
994a9e907e use ActorItemsCell 2017-10-09 10:44:11 -07:00
Nikolay Kim
6d2f02ee5e doc strings 2017-10-08 20:55:44 -07:00
Nikolay Kim
e2dc775e21 refactor payload 2017-10-08 20:16:48 -07:00
Nikolay Kim
e398694bdb drop unused code 2017-10-08 17:47:41 -07:00
Nikolay Kim
63b78b6461 better naming 2017-10-08 14:56:51 -07:00
Nikolay Kim
c12669a435 update actix 2017-10-08 00:14:52 -07:00
Nikolay Kim
4102b9e1c5 update docs 2017-10-07 23:59:57 -07:00
Nikolay Kim
a021a06743 update ws docs 2017-10-07 22:41:02 -07:00
Nikolay Kim
f2d20514fa websocket support 2017-10-07 21:48:00 -07:00
Nikolay Kim
9b7f2395e5 better naming 2017-10-07 00:31:40 -07:00
Nikolay Kim
127cc270da better naming 2017-10-07 00:22:09 -07:00
Nikolay Kim
ce4aea46c3 better naming 2017-10-06 23:36:36 -07:00
Nikolay Kim
a505be9321 docs 2017-10-06 23:14:13 -07:00
Nikolay Kim
0b5f0c4f22 initial implementation 2017-10-06 21:51:27 -07:00
Nikolay Kim
5b6f5d8ce3 prep work 2017-09-30 09:10:03 -07:00