Commit Graph

1694 Commits

Author SHA1 Message Date
Douman 9aab382ea8 Allow user to provide addr to custom resolver
We basically swaps Addr with Recipient to enable user to use custom resolver
2018-11-23 15:36:12 +03:00
Douman 389cb13cd6 Export PathConfig and QueryConfig
Closes #597
2018-11-20 23:06:38 +03:00
Huston Bokinsky 6a93178479 Complete error helper functions. 2018-11-20 08:07:46 +03:00
Nikolay Kim cd9901c928 prepare release 2018-11-14 16:24:01 -08:00
Nikolay Kim 1ef0eed0bd do not stop on keep-alive timer if sink is not completly flushed 2018-11-08 20:46:13 -08:00
Nikolay Kim 61b1030882 Fix websockets connection drop if request contains content-length header #567 2018-11-08 20:35:47 -08:00
Nikolay Kim 7065c540e1 set nodelay on socket #560 2018-11-08 16:29:43 -08:00
Nikolay Kim aed3933ae8 Merge branch 'master' of github.com:actix/actix-web 2018-11-08 16:15:45 -08:00
Nikolay Kim 5b7740dee3 hide ChunkedReadFile 2018-11-08 16:12:16 -08:00
imaperson 1a0bf32ec7 Fix unnecessary owned string and change htmlescape in favor of askama_escape (#584) 2018-11-08 16:08:06 -08:00
Nikolay Kim 2677d325a7 fix keep-alive timer reset 2018-11-07 21:09:33 -08:00
Julian Tescher 8e354021d4 Add SameSite option to identity middleware cookie (#581) 2018-11-07 23:24:06 +03:00
Stanislav Tkach 3b536ee96c Use old clippy attributes syntax (#562) 2018-11-01 11:14:48 +03:00
Douman 5f91f5eda6
Correct IoStream::set_keepalive for UDS (#564)
Enable uds feature in tests
2018-10-26 10:59:06 +03:00
François 42d5d48e71 add a way to configure error treatment for Query and Path extractors (#550)
* add a way to configure error treatment for Query extractor

* allow error handler to be customized for Path extractor
2018-10-20 06:43:43 +03:00
Douman 960274ada8
Refactoring of server output to not exclude HTTP_10 (#552) 2018-10-19 07:52:10 +03:00
ivan-ochc f383f618b5 Fix typo in error message (#554) 2018-10-18 21:27:31 +03:00
Nikolay Kim dd948f836e HttpServer not sending streamed request body on HTTP/2 requests #544 2018-10-14 08:08:12 -07:00
jeizsm 32145cf6c3 fix after update tokio-rustls (#542) 2018-10-11 11:05:07 +03:00
Nikolay Kim f45038bbfe remove unused code 2018-10-09 13:23:37 -07:00
Nikolay Kim c63838bb71 fix 204 support for http/2 2018-10-09 13:12:49 -07:00
Nikolay Kim 65e9201b4d Fixed panic during graceful shutdown 2018-10-09 11:35:57 -07:00
Nikolay Kim c3ad516f56 disable shutdown atm 2018-10-09 09:45:24 -07:00
Nikolay Kim 4e7fac08b9 do not override content-length header 2018-10-08 15:30:59 -07:00
Nikolay Kim 07f6ca4b71 Merge branch 'master' of github.com:actix/actix-web 2018-10-08 13:06:49 -07:00
Nikolay Kim 03d988b898 refactor date rendering 2018-10-08 10:16:19 -07:00
Nikolay Kim cfad5bf1f3 enable slow request timeout for h2 dispatcher 2018-10-08 07:47:42 -07:00
lzx 7ae5a43877 httpresponse.rs doc fix (#534) 2018-10-06 08:16:12 +03:00
Nikolay Kim 401ea574c0 make AcceptorTimeout::new public 2018-10-02 19:31:30 -07:00
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
Damjan Georgievski 56b924e155 remove the timestamp from the default logger middleware
env_logger and other logging systems will (or should) already add their
own timestamp.
2018-07-21 15:15:28 +02:00
Nikolay Kim 4862227df9 fix not implemented panic #410 2018-07-21 05:58:08 -07:00
Nikolay Kim 040d9d2755 Merge branch 'master' of github.com:actix/actix-web 2018-07-20 12:43:44 -07:00
Nikolay Kim 2043bb5ece do not reallocate waiters 2018-07-20 10:20:41 -07:00
Douman a751df2589
Initial config for static files (#405) 2018-07-20 07:49:25 +03:00
Douman f6e35a04f0
Just a bit of sanity check for short paths (#409) 2018-07-20 07:48:57 +03:00
Tobias Bieniek 0925a7691a ws/context: Increase `write()` visibility to public (#402)
This type is introduced to avoid confusion between the `.binary()` and `.write_raw()` methods on WebSocket contexts
2018-07-19 20:04:13 +03:00
Douman 2988a84e5f
Expose leaked private ContentDisposition (#406) 2018-07-19 20:03:45 +03:00
Nikolay Kim 6b10e1eff6 rename PayloadHelper 2018-07-18 10:01:28 +06:00
Nikolay Kim 85672d1379 fix client connector wait queue 2018-07-18 01:23:56 +06:00
Nikolay Kim 373f2e5028 add release stat 2018-07-17 17:38:16 +06:00
Nikolay Kim f9f259e718 Merge branch 'master' of github.com:actix/actix-web 2018-07-17 17:23:23 +06:00
Nikolay Kim d43902ee7c proper handling for client connection release 2018-07-17 17:23:03 +06:00
Douman 29a275b0f5
Session should write percent encoded cookies and add cookie middleware test (#393)
* Should write percent encoded cookies to HTTP response

* Add cookie middleware test
2018-07-17 08:38:18 +03:00
Nikolay Kim 1af5aa3a3e calculate client request timeout 2018-07-17 02:30:21 +06:00
Nikolay Kim bccd7c7671 add wait queue size stat to client connector 2018-07-17 01:57:57 +06:00
Nikolay Kim 2a8c2fb55e export Payload 2018-07-16 12:14:24 +06:00
Nikolay Kim 2dd57a48d6 checks nested scopes in has_resource() 2018-07-16 11:33:29 +06:00
Nikolay Kim 22385505a3 clippy warnings and fmt 2018-07-16 11:17:45 +06:00
Nikolay Kim 5888f01317 use has_prefixed_route for NormalizePath helper 2018-07-16 11:13:41 +06:00
Nikolay Kim b7a3fce17b simplify has_prefixed_route() 2018-07-16 11:10:51 +06:00
Nikolay Kim bce05e4fcb
Merge pull request #381 from OtaK/fix/has_route_prefixes
Add prefix aware RouteInfo::has_prefixed_route()
2018-07-16 10:58:50 +06:00
Nikolay Kim 3373847a14 allocate buffer for request payload extractors 2018-07-16 00:40:22 +06:00
Mathieu Amiot 8f64508887 Added RouteInfo::has_prefixed_route() method for route matching with prefix awareness 2018-07-15 19:37:20 +02:00
Nikolay Kim 2214492792 use assert and restore test case 2018-07-15 18:53:02 +06:00
Nikolay Kim 42d3e86941 calculate prefix dynamicly 2018-07-15 16:25:56 +06:00
Nikolay Kim b759dddf5a simplify application prefix impl 2018-07-15 16:25:56 +06:00
Nikolay Kim 9570c1cccd rename RouteInfo 2018-07-15 16:25:56 +06:00
Nikolay Kim da915972c0 refactor router 2018-07-15 16:25:56 +06:00
Tobias Bieniek 9012cf43fe
error: Fix documentation typo 2018-07-14 00:05:07 +02:00
Douman 7d753eeb8c
Private serde fork (#390)
* Fork serde_urlencoded

* Apply enum PR https://github.com/nox/serde_urlencoded/pull/30

* Add test to verify enum in query

* Docs are updated to show example of how to use enum.
2018-07-13 09:59:09 +03:00
Nikolay Kim 35911b832a Merge branch 'master' of github.com:actix/actix-web 2018-07-12 23:59:10 +06:00
Nikolay Kim b8b90d9ec9 rename ResourceHandler to Resource 2018-07-12 15:30:01 +06:00
Nikolay Kim db005af1af clippy warnings 2018-07-12 10:41:49 +06:00
Nikolay Kim 8e462c5944 use write instead format 2018-07-12 10:35:09 +06:00
kingoflolz d9988f3ab6
fix missing content length
fix missing content length when no compression is used
2018-07-11 21:21:32 +10:00
Nikolay Kim 696152f763
Merge pull request #377 from Diggsey/apply-mask
Refactor `apply_mask` implementation, removing dead code paths and re…
2018-07-11 13:36:08 +06:00
Nikolay Kim 28b36c650a fix h2 compatibility 2018-07-11 13:25:07 +06:00
Nikolay Kim b22132d3d6
Merge branch 'master' into apply-mask 2018-07-11 13:15:35 +06:00
Nikolay Kim 9aef34e768 remove & to &mut transmute #385 2018-07-11 12:56:35 +06:00
Diggory Blake 87824a9cf6 Refactor `apply_mask` implementation, removing dead code paths and reducing scope of unsafety 2018-07-08 13:56:43 +01:00
Douman 82920e1ac1
Do not override user settings on signals and stop handling (#375) 2018-07-08 09:01:44 +03:00
Nikolay Kim 110605f50b stop actor context on error #311 2018-07-08 09:41:55 +06:00
Diggory Blake 85012f947a Remove reimplementation of `LazyCell` 2018-07-06 22:28:08 +01:00
Nikolay Kim 5b7aed101a remove unsafe 2018-07-06 13:54:43 +06:00
Nikolay Kim 1c3b32169e remove stream from WebsocketsContext::with_factory 2018-07-06 12:11:40 +06:00
Nikolay Kim cfa470db50 close conneciton for head requests 2018-07-06 09:21:24 +06:00
Nikolay Kim a5f7a67b4d clippy warnings 2018-07-06 08:24:44 +06:00
Nikolay Kim 185e710dc8 do not drop content-encoding header in case of identity #363 2018-07-06 08:24:36 +06:00
Nikolay Kim 9070d59ea8 do not read head payload 2018-07-06 08:11:36 +06:00
Nikolay Kim 2a25caf2c5 Merge branch 'master' of github.com:actix/actix-web 2018-07-06 07:49:50 +06:00
Nikolay Kim 7d96b92aa3 add check for usize cast 2018-07-06 07:46:47 +06:00
Douman 67e4cad281
Introduce method to set header if it is missing only (#364)
Also let default headers use it.

Closes #320
2018-07-05 19:27:18 +03:00
Tessa Bradbury 080f232a0f Use StaticFile default handler when file is inaccessible (#357)
* Use Staticfile default handler on all error paths

* Return an error from StaticFiles::new() if directory doesn't exist
2018-07-05 12:34:13 +03:00
Nikolay Kim 8058d15624 clippy warnings 2018-07-05 13:16:16 +06:00
Nikolay Kim 05a43a855e remove unsafe 2018-07-05 13:00:46 +06:00
Nikolay Kim 80339147b9 call disconnect on write error 2018-07-05 12:50:54 +06:00
Nikolay Kim 6af2f5d642 re-enable start_incoming support 2018-07-05 12:14:10 +06:00
Nikolay Kim d5606625a2 remove public Clone for Request 2018-07-04 22:57:40 +06:00
Nikolay Kim 5d79114239 optimize Request handling 2018-07-04 22:52:49 +06:00
Nikolay Kim f559f23e1c Merge branch 'master' of github.com:actix/actix-web 2018-07-04 21:02:40 +06:00
Nikolay Kim 6fd686ef98 cleanup warnings 2018-07-04 21:01:27 +06:00
Nikolay Kim 4c5a63965e use new actix context api 2018-07-04 17:04:23 +06:00
Gorm Casper 09aabc7b3b plain/text -> text/plain in comment (#362) 2018-07-04 11:17:44 +03:00
Nikolay Kim fec6047ddc refactor HttpRequest mutability 2018-07-02 23:35:32 +06:00
Nikolay Kim 445ea043dd remove unsafes 2018-07-02 23:32:29 +06:00
Gowee 0be5448597 Properly escape special characters in fs/directory_listing. (#355) 2018-06-30 15:01:48 +03:00
ousado 0f27389e72 set length of vector to max_bytes (closes #345) (#346) 2018-06-26 08:09:12 +03:00
Douman a9425a866b Fix duplicate tail of StaticFiles with index_file
Map from 0.6 to master
2018-06-25 19:59:55 +03:00
Nikolay Kim 800c404c72 explicit response release 2018-06-25 10:10:02 +06:00
Nikolay Kim 32212bad1f simplify http response pool 2018-06-25 09:08:28 +06:00
Nikolay Kim d1b73e30e0 update comments 2018-06-24 22:27:30 +06:00
Nikolay Kim c0cdc39ba9 do not store cookies on client response 2018-06-24 22:21:04 +06:00
Nikolay Kim 8e8a68f90b add empty output stream 2018-06-24 22:05:44 +06:00
Nikolay Kim 989cd61236 handle empty te 2018-06-24 10:59:01 +06:00
Nikolay Kim 33260c7b35 split encoding module 2018-06-24 10:42:20 +06:00
Nikolay Kim 40ca9ba9c5 simplify write buffer 2018-06-24 10:30:58 +06:00
Nikolay Kim 45682c04a8 refactor content encoder 2018-06-24 08:54:01 +06:00
Nikolay Kim 348491b18c fix alpn connector 2018-06-23 17:59:45 +06:00
Nikolay Kim 3d2226aa9e Merge branch 'master' of github.com:actix/actix-web 2018-06-23 12:40:45 +06:00
Nikolay Kim cf38183dcb refactor client connector waiters maintenance 2018-06-23 12:40:21 +06:00
Nikolay Kim e3dc6f0ca8 refactor h1decoder 2018-06-23 12:28:55 +06:00
Armin Ronacher a5369aed8b
Changes a leaked box into an Rc<String> and makes resource() return an Option (#343) 2018-06-23 08:16:52 +02:00
Nikolay Kim ff0ab733e4 remove unsafe from mask 2018-06-23 11:51:02 +06:00
Nikolay Kim d1318a35a0 remove unnecessary unsafes 2018-06-23 10:29:23 +06:00
Nikolay Kim 756227896b update set_date impl 2018-06-23 10:13:09 +06:00
Nikolay Kim 4fadff63f4 Use Box::leak for dynamic param names 2018-06-23 09:57:03 +06:00
Armin Ronacher 7bc7b4839b
Switch from fnv to a identity hasher in extensions (#342) 2018-06-22 11:32:32 +02:00
Armin Ronacher dda6ee95df
Changes the router to use atoms internally (#341) 2018-06-22 09:33:32 +02:00
Nikolay Kim 765c38e7b9 remove libc dependency 2018-06-22 11:47:33 +06:00
Nikolay Kim 6c44575923 transmute names once 2018-06-22 11:44:38 +06:00
Nikolay Kim fc7238baee refactor read_from_io 2018-06-22 11:30:40 +06:00
Nikolay Kim edd22bb279 refactor read_from_io 2018-06-22 09:01:20 +06:00
Nikolay Kim 17c033030b Revert "remove unnecessary use of unsafe in read_from_io"
This reverts commit da237611cb.
2018-06-22 08:55:19 +06:00
Nikolay Kim 3afdf3fa7e
Merge pull request #335 from gnzlbg/fix_unsafe
remove unnecessary use of unsafe in read_from_io
2018-06-22 07:23:14 +06:00
Nikolay Kim 50fbef88fc cleanup srver pipeline 2018-06-21 23:51:25 +06:00
Nikolay Kim c9069e9a3c remove unneeded UnsafeCell 2018-06-21 23:21:28 +06:00
Nikolay Kim 65ca563579 use read only self for Middleware 2018-06-21 23:06:23 +06:00
Nikolay Kim 3de9284592 Handler::handle uses &self instead of mutabble reference 2018-06-21 17:07:54 +06:00
Nikolay Kim 5a9992736f
Merge pull request #339 from joshleeb/propogate-scope-default-resource
Propagate scope default resource
2018-06-21 15:40:02 +06:00
Josh Leeb-du Toit c5e8c1b710 Propagate default resources to underlying scopes 2018-06-21 18:17:27 +10:00
Nikolay Kim b5594ae2a5
Fix doc api example 2018-06-21 14:11:00 +06:00
Nikolay Kim 58d1f4a4aa switch to actix master 2018-06-21 13:34:36 +06:00
Nikolay Kim b7d813eeba update tests 2018-06-21 12:04:00 +06:00
Nikolay Kim 8e160ebda7 clippy warning 2018-06-21 11:49:36 +06:00
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