Commit Graph

1415 Commits

Author SHA1 Message Date
Nikolay Kim bbcd618304 export AcceptorTimeout 2018-10-02 19:12:08 -07:00
Nikolay Kim 1f68ce8541 fix tests 2018-10-02 19:05:58 -07:00
Nikolay Kim 2710f70e39 add H1 transport 2018-10-02 17:30:29 -07:00
Nikolay Kim ae5c4dfb78 refactor http channels list; rename WorkerSettings 2018-10-02 15:25:32 -07:00
Nikolay Kim b59712c439 add ssl handshake timeout tests 2018-10-02 11:32:43 -07:00
Nikolay Kim 724668910b fix ssh handshake timeout 2018-10-02 11:18:59 -07:00
Nikolay Kim 61c7534e03 fix stream flushing 2018-10-02 10:43:23 -07:00
Douman f8b176de9e
Fix no_http2 flag in HttpServer (#526) 2018-10-02 20:09:31 +03:00
Danil Berestov c8505bb53f content-length bug fix (#525)
* content-length bug fix

* changes.md is updated

* typo
2018-10-02 09:15:48 -07:00
Nikolay Kim f3ce6574e4 fix client timer and add slow request tests 2018-10-02 00:19:28 -07:00
Nikolay Kim f007860a16 cleanup warnings 2018-10-01 22:48:11 -07:00
Nikolay Kim fdfadb52e1 fix doc test for State 2018-10-01 22:29:30 -07:00
Nikolay Kim c674ea9126 add StreamConfiguration service 2018-10-01 22:23:02 -07:00
Nikolay Kim 127af92541 clippy warnings 2018-10-01 21:16:56 -07:00
Nikolay Kim e4686f6c8d set socket linger to 0 on timeout 2018-10-01 20:53:22 -07:00
Nikolay Kim 16945a554a add client shutdown timeout 2018-10-01 20:04:16 -07:00
Nikolay Kim 91af3ca148 simplify h1 dispatcher 2018-10-01 19:18:24 -07:00
Nikolay Kim 2217a152cb expose app error by http service 2018-10-01 15:19:49 -07:00
Nikolay Kim c1e0b4f322 expose internal http server types and allow to create custom http pipelines 2018-10-01 14:43:06 -07:00
Nikolay Kim 5966ee6192 add HttpServer::register() function, allows to register services in actix net server 2018-09-28 16:03:53 -07:00
Nikolay Kim 4aac3d6a92 refactor keep-alive timer 2018-09-28 15:04:59 -07:00
Nikolay Kim e95babf8d3 log acctor init errors 2018-09-28 12:37:20 -07:00
Nikolay Kim f2d42e5e77 refactor acceptor error handling 2018-09-28 11:50:47 -07:00
Nikolay Kim 0f1c80ccc6 deprecate start_incoming 2018-09-28 08:45:49 -07:00
Nikolay Kim 4b59ae2476 fix ssl config for client connector 2018-09-27 22:15:38 -07:00
Nikolay Kim d0fc9d7b99 simplify listen_ and bind_ methods 2018-09-27 21:55:44 -07:00
Nikolay Kim 1ff86e5ac4 restore rust-tls support 2018-09-27 21:24:21 -07:00
Nikolay Kim ecfda64f6d add native-tls support 2018-09-27 20:40:34 -07:00
Nikolay Kim 0bca21ec6d fix ssl tests 2018-09-27 19:57:40 -07:00
Nikolay Kim 3173c9fa83 diesable client timeout for tcp stream acceptor 2018-09-27 19:34:07 -07:00
Nikolay Kim 85445ea809 rename and simplify ServiceFactory trait 2018-09-27 18:33:29 -07:00
Nikolay Kim d57579d700 refactor acceptor pipeline add client timeout 2018-09-27 18:33:29 -07:00
Nikolay Kim b6a1cfa6ad update openssl support 2018-09-27 18:33:29 -07:00
Nikolay Kim 9f1417af30 refactor http service builder 2018-09-27 18:33:29 -07:00
Nikolay Kim 0aa0f326f7 fix changes from master 2018-09-27 18:33:29 -07:00
Nikolay Kim dbb4fab4f7 separate mod for HttpHandler; add HttpHandler impl for Vec<H> 2018-09-27 18:33:29 -07:00
Nikolay Kim 6f3e70a92a simplify application factory 2018-09-27 18:33:29 -07:00
Nikolay Kim a63d3f9a7a cleanup ServerFactory trait 2018-09-27 18:33:29 -07:00
Nikolay Kim a3cfc24232 refactor acceptor service 2018-09-27 18:33:29 -07:00
Nikolay Kim 6a61138bf8 enable ssl feature 2018-09-27 18:33:29 -07:00
Nikolay Kim c9a52e3197 refactor date generatioin 2018-09-27 18:33:29 -07:00
Nikolay Kim 1907102685 switch to actix-net server 2018-09-27 18:33:29 -07:00
sapir 59deb4b40d Try to separate HTTP/1 read & write disconnect handling, to fix #511. (#514) 2018-09-27 18:15:02 -07:00
Ashley 782eeb5ded Reduced unsafe converage (#520) 2018-09-26 11:56:34 +03:00
Douman 1b298142e3
Correct composing of multiple origins in cors (#518) 2018-09-21 08:45:22 +03:00
Douman 0dc96658f2
Send response to inform client of error (#515) 2018-09-21 07:24:10 +03:00
Nikolay Kim f40153fca4 fix node::insert() method, missing next element 2018-09-17 11:39:03 -07:00
Nikolay Kim bfb2f2e9e1 fix node.remove(), update next node pointer 2018-09-17 10:25:45 -07:00
Nikolay Kim 599e6b3385 refactor channel node remove operation 2018-09-17 05:29:07 -07:00
Nikolay Kim 7449884ce3 fix wrong error message for path deserialize for i32 #510 2018-09-15 17:09:07 -07:00
Nikolay Kim 9d1eefc38f use 5 seconds keep-alive timer by default 2018-09-15 09:57:54 -07:00
Nikolay Kim d65c72b44d use server keep-alive timer as slow request timer 2018-09-15 09:55:38 -07:00
Nikolay Kim c3f8b5cf22 clippy warnings 2018-09-11 11:25:32 -07:00
Nikolay Kim 70a3f317d3 fix failing requests to test server #508 2018-09-11 11:24:05 -07:00
Robert G. Jakabosky 70b45659e2 Make Node's `traverse` method take a closure instead of calling `shutdown` on each HttpChannel. 2018-09-12 00:27:15 +08:00
Robert G. Jakabosky e0ae6b10cd Fix bug with HttpChannel linked list. 2018-09-12 00:27:15 +08:00
Maciej Piechotka 003b05b095 Don't ignore errors in std::fmt::Debug implementations (#506) 2018-09-11 14:57:55 +03:00
Nikolay Kim 002bb24b26 unhide SessionBackend and SessionImpl traits and cleanup warnings 2018-09-07 20:46:43 -07:00
Maciej Piechotka 4251b0bc10 Refactor resource route parsing to allow repetition in the regexes 2018-09-06 08:51:55 +02:00
Jan Michael Auer 86fdbb47a5 Fix system_exit in HttpServer (#501) 2018-09-05 10:41:23 +02:00
Nikolay Kim f0f67072ae Read client response until eof if connection header set to close #464 2018-09-03 21:35:59 -07:00
Nikolay Kim 24d1228943 simplify handler path processing 2018-09-03 11:28:47 -07:00
Nikolay Kim b7a73e0a4f fix Scope::handler doc test 2018-09-02 08:51:26 -07:00
Nikolay Kim 968c81e267 Handling scoped paths without leading slashes #460 2018-09-02 08:14:54 -07:00
Nikolay Kim d5957a8466 Merge branch 'master' of https://github.com/actix/actix-web 2018-09-02 07:47:45 -07:00
Nikolay Kim f2f05e7715 allow to register handlers on scope level #465 2018-09-02 07:47:19 -07:00
Markus Unterwaditzer 3439f55288 doc: Add example for using custom nativetls connector (#497) 2018-09-01 18:13:52 +03:00
Robert Gabriel Jakabosky 0425e2776f Fix Issue #490 (#498)
* Add failing testcase for HTTP 404 response with no reason text.

* Include canonical reason test for HTTP error responses.

* Don't send a reason for unknown status codes.
2018-09-01 12:00:32 +03:00
Nikolay Kim 6464f96f8b Merge branch 'master' of https://github.com/actix/actix-web 2018-08-31 18:56:53 -07:00
Nikolay Kim a2b170fec9 fmt 2018-08-31 18:56:21 -07:00
Nikolay Kim 0b42cae082 update tests 2018-08-31 18:54:19 -07:00
Nikolay Kim c313c003a4
Fix typo 2018-08-31 17:45:29 -07:00
Nikolay Kim 2d51831899 handle socket read disconnect 2018-08-31 17:24:13 -07:00
Robert G. Jakabosky 66881d7dd1 If buffer is empty, read more data before calling parser. 2018-09-01 02:25:05 +08:00
Robert G. Jakabosky a42a8a2321 Add some comments to clarify logic. 2018-09-01 02:15:36 +08:00
Robert G. Jakabosky 2341656173 Simplify buffer reading logic. Remove duplicate code. 2018-09-01 01:41:38 +08:00
Robert Gabriel Jakabosky af6caa92c8
Merge branch 'master' into master 2018-09-01 00:17:34 +08:00
Robert G. Jakabosky 3ccbce6bc8 Fix issue with 'Connection: close' in ClientRequest 2018-09-01 00:08:53 +08:00
Markus Unterwaditzer 4bab50c861 Add ability to pass a custom TlsConnector (#491) 2018-08-29 20:53:31 +02:00
Robert G. Jakabosky 8393d09a0f Fix tests. 2018-08-27 00:31:31 +08:00
Robert G. Jakabosky c3ae9997fc Fix bug with http1 client disconnects. 2018-08-26 22:21:05 +08:00
0x1793d1 471a3e9806 Fix server startup log message 2018-08-24 23:21:32 +02:00
Nikolay Kim 9ef7a9c182 hide AcceptorService 2018-08-23 11:30:49 -07:00
Nikolay Kim 3dafe6c251 hide token and server flags 2018-08-23 11:30:07 -07:00
Nikolay Kim 8dfc34e785 fix tokio-tls IoStream impl 2018-08-23 10:27:32 -07:00
Nikolay Kim 810995ade0 fix tokio-tls dependency #480 2018-08-23 10:10:13 -07:00
Nikolay Kim 1716380f08 clippy fmt 2018-08-23 09:48:01 -07:00
Nikolay Kim e9c139bdea clippy warnings 2018-08-23 09:47:32 -07:00
Nikolay Kim cf54be2f17 hide new server api 2018-08-23 09:39:11 -07:00
Nikolay Kim 89f414477c
Merge branch 'master' into master 2018-08-23 09:34:34 -07:00
Douman 986f19af86
Revert back to serde_urlencoded dependecy (#479) 2018-08-21 22:23:17 +03:00
Franz Gregor e680541e10 Made extensions constructor public 2018-08-18 19:32:28 +02:00
Kornel bdc9a8bb07 Optionally support tokio-uds's UnixStream as IoStream (#472) 2018-08-17 19:04:15 +03:00
Nikolay Kim eb1e9a785f allow to use fn with multiple arguments with .with()/.with_async() 2018-08-16 20:29:06 -07:00
Douman 248bd388ca
Improve HTTP server docs (#470) 2018-08-16 16:11:15 +03:00
Gowee d9c7cd96a6 Rework Content-Disposition parsing totally (#461) 2018-08-13 17:34:05 +03:00
Nikolay Kim bf7779a9a3 add TestRequest::run_async_result helper method 2018-08-09 18:58:14 -07:00
Nikolay Kim cc3fbd27e0 better ergonomics 2018-08-09 17:25:23 -07:00
Nikolay Kim 26629aafa5 explicit use 2018-08-09 13:41:13 -07:00
Nikolay Kim 2ab7dbadce better ergonomics for Server::service() method 2018-08-09 13:38:10 -07:00
Nikolay Kim 2e8d67e2ae upgrade native-tls package 2018-08-09 13:08:59 -07:00
Nikolay Kim 43b6828ab5 Merge branch 'master' of https://github.com/actix/actix-web 2018-08-09 11:52:45 -07:00
Nikolay Kim e4ce6dfbdf refactor workers management 2018-08-09 11:52:32 -07:00
Douman 5713d93158
Merge branch 'master' into master 2018-08-09 08:13:22 +03:00
Nikolay Kim cfe4829a56 add TestRequest::execute() helper method 2018-08-08 16:13:45 -07:00
Nikolay Kim b69774db61 fix attr name 2018-08-08 14:23:16 -07:00
Nikolay Kim 542782f28a add HttpRequest::drop_state() 2018-08-08 13:57:13 -07:00
David McNeil 7c8dc4c201 Add json2 tests 2018-08-08 12:17:19 -06:00
David McNeil 7a11c2eac1 Add json2 HttpResponseBuilder method 2018-08-08 11:11:15 -06:00
Nikolay Kim 8eb9eb4247 flush io on complete 2018-08-08 09:12:32 -07:00
Nikolay Kim 992f7a11b3 remove debug println 2018-08-07 22:40:09 -07:00
Nikolay Kim 30769e3072 fix http/2 error handling 2018-08-07 20:48:25 -07:00
Nikolay Kim 57f991280c fix protocol order for rustls acceptor 2018-08-07 13:53:24 -07:00
Nikolay Kim 85acc3f8df deprecate HttpServer::no_http2(), update changes 2018-08-07 12:49:40 -07:00
Nikolay Kim 58a079bd10 include content-length to error response 2018-08-07 11:56:39 -07:00
Douman 86a5afb5ca Reserve enough space for ServerError task to write status line 2018-08-07 17:34:24 +03:00
Douman 9c80d3aa77
Write non-80 port in HOST of client's request (#451) 2018-08-07 10:01:29 +03:00
Erik Desjardins 954f1a0b0f impl FromRequest for () (#449) 2018-08-06 10:44:08 +03:00
Douman 900fd5a98e Correct settings headers for HTTP2
Add test to verify number of Set-Cookies
2018-08-04 18:05:41 +03:00
Nikolay Kim 84b27db218 fix no_http2 flag 2018-08-03 19:40:43 -07:00
Nikolay Kim ac9180ac46 simplify channel impl 2018-08-03 19:32:46 -07:00
Nikolay Kim e34b5c08ba allow to pass extra information from acceptor to application level 2018-08-03 19:24:53 -07:00
Nikolay Kim f3f1e04853 refactor ssl support 2018-08-03 16:09:46 -07:00
Jan Michael Auer e61ef7dee4 Use zlib instead of deflate for content encoding (#442) 2018-08-03 14:56:26 +02:00
Mathieu Amiot 9a10d8aa7a Fixed headers' formating for CORS Middleware Access-Control-Expose-Headers header value to HTTP/1.1 & HTTP/2 spec-compliant format (#436) 2018-08-03 15:03:11 +03:00
Mathieu Amiot f8e5d7c6c1 Fixed broken build on wrong variable usage (#440) 2018-08-03 14:11:51 +03:00
Nikolay Kim 8c89c90c50 add accept backpressure #250 2018-08-02 23:17:10 -07:00
Nikolay Kim 0da3fdcb09 do not use Arc for rustls config 2018-08-01 10:59:00 -07:00
jrconlin 115f59dd14
Merge branch 'master' of https://github.com/actix/actix-web into feat/432 2018-08-01 09:59:36 -07:00
Nikolay Kim 972b008a6e remove unsafe error transmute, upgrade failure to 0.1.2 #434 2018-08-01 09:42:12 -07:00
Nikolay Kim 58230b15b9 use one thread for accept loop; refactor rust-tls support 2018-07-31 19:51:26 -07:00
jrconlin aa1e75f071
feature: allow TestServer to open a websocket on any URL
* added `TestServer::ws_at(uri_str)`
* modified `TestServer::ws()` to call `self.ws_at("/")` to preserve
behavior

Closes #432
2018-07-31 16:21:18 -07:00
Nikolay Kim 2071ea0532 HttpRequest::url_for is not working with scopes #429 2018-07-31 15:40:52 -07:00
Nikolay Kim 3bd43090fb use new gzdecoder, fixes gz streaming #228 2018-07-31 09:06:05 -07:00
Nikolay Kim 4dba531bf9 do not override HOST header for client request #428 2018-07-31 08:51:24 -07:00
Nikolay Kim 2072c933ba handle error during request creation 2018-07-30 15:04:52 -07:00
Nikolay Kim 7bc0ace52d move server accept impl to seprate module 2018-07-30 13:42:42 -07:00
Marat Safin 196da6d570 add rustls 2018-07-30 08:21:12 +03:00
Nikolay Kim 80fbc2e9ec Fix stream draining for http/2 connections #290 2018-07-25 15:38:02 -07:00
Nikolay Kim f58065082e fix missing content-encoding header for h2 connections #421 2018-07-25 10:30:55 -07:00
Douman 6048817ba7 Correct flate feature names in documentation 2018-07-25 20:22:18 +03:00
Nikolay Kim b878613e10 fix warning 2018-07-24 15:49:46 -07:00
Nikolay Kim 85b275bb2b fix warnings 2018-07-24 15:09:30 -07:00
Nikolay Kim d6abd2fe22 allow to handle empty path for application with prefix 2018-07-24 14:51:48 -07:00
Nikolay Kim d3b12d885e
Merge branch 'master' into master 2018-07-24 14:07:03 -07:00
Akos Vandra 35b754a3ab pr fixes 2018-07-24 09:42:46 +02:00
Akos Vandra 1079c5c562 Add FromRequest<S> implementation for Result<T> and Option<T> where T:FromRequest<S> 2018-07-24 09:42:46 +02:00
Akos Vandra f4bb7efa89 add partialeq, eq, partialord and ord dervie to Path, Form and Query 2018-07-24 09:42:46 +02:00
Akos Vandra 0099091e96 remove unnecessary use 2018-07-24 09:42:46 +02:00
Denis Kolodin b367f07d56 Add http_only flag to CookieSessionBackend 2018-07-23 12:49:59 +03:00