Commit Graph

435 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
Nikolay Kim cd9901c928 prepare release 2018-11-14 16:24:01 -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 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
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
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 ec8aef6b43 update dep versions 2018-10-10 08:36:16 -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 93b1c5fd46 update deps 2018-10-08 21:58:37 -07:00
Nikolay Kim d7379bd10b update server ssl tests; upgrade rustls 2018-10-02 13:41:33 -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 16945a554a add client shutdown timeout 2018-10-01 20:04:16 -07:00
Nikolay Kim 52195bbf16 update version 2018-09-27 18:17:58 -07: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 764103566d update changes 2018-09-17 10:48:37 -07:00
Nikolay Kim 03e318f446 update changes 2018-09-15 17:10:53 -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 70a3f317d3 fix failing requests to test server #508 2018-09-11 11:24:05 -07:00
Robert G. Jakabosky 04608b2ea6 Update changes. 2018-09-12 00:27:15 +08:00
Nikolay Kim cdb57b840e prepare release 2018-09-07 20:47:54 -07: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
Nikolay Kim 42f3773bec update changes 2018-09-05 09:03:58 -07:00
Nikolay Kim 4ca9fd2ad1 remove debug print 2018-09-03 22:09:12 -07: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 968c81e267 Handling scoped paths without leading slashes #460 2018-09-02 08:14:54 -07:00
Nikolay Kim f2f05e7715 allow to register handlers on scope level #465 2018-09-02 07:47:19 -07:00
Nikolay Kim 2d51831899 handle socket read disconnect 2018-08-31 17:24:13 -07:00
Armin Ronacher 797b52ecbf
Update CHANGES.md 2018-08-29 20:58:23 +02:00
Nikolay Kim 48ef18ffa9 update changes 2018-08-23 12:54:59 -07:00
Nikolay Kim cf54be2f17 hide new server api 2018-08-23 09:39:11 -07: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 9f5641c85b
Add mention of reworked Content-Disposition 2018-08-13 17:37:00 +03:00
Nikolay Kim 2e8d67e2ae upgrade native-tls package 2018-08-09 13:08:59 -07:00
Nikolay Kim 30769e3072 fix http/2 error handling 2018-08-07 20:48:25 -07:00
Nikolay Kim 85acc3f8df deprecate HttpServer::no_http2(), update changes 2018-08-07 12:49:40 -07:00
Nikolay Kim 5bd82d4f03 update changes 2018-08-07 12:00:51 -07:00
Douman 9c80d3aa77
Write non-80 port in HOST of client's request (#451) 2018-08-07 10:01:29 +03:00
Nikolay Kim 85e7548088 fix adding multiple response headers for http/2 #446 2018-08-04 08:56:33 -07:00
Nikolay Kim f3f1e04853 refactor ssl support 2018-08-03 16:09:46 -07:00
Nikolay Kim 036cf5e867 update changes 2018-08-03 08:20:59 -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
Nikolay Kim 8c89c90c50 add accept backpressure #250 2018-08-02 23:17:10 -07:00
Nikolay Kim a5f80a25ff update changes 2018-08-01 10:51:47 -07:00
jrconlin dca4c110dd
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-08-01 09:30:27 -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 4c4d0d2745 update changes 2018-07-30 10:23:28 -07:00
Nikolay Kim b4ed564e5d update changes 2018-07-26 09:11:50 -07: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
Nikolay Kim d6abd2fe22 allow to handle empty path for application with prefix 2018-07-24 14:51:48 -07:00
Nikolay Kim b79a9aaec7 fix changelog 2018-07-24 14:18:04 -07:00
Nikolay Kim d3b12d885e
Merge branch 'master' into master 2018-07-24 14:07:03 -07:00
Akos Vandra b48a2d4d7b add changes to CHANGES.md 2018-07-24 22:25:48 +02:00
Denis Kolodin b367f07d56 Add http_only flag to CookieSessionBackend 2018-07-23 12:49:59 +03:00
Damjan Georgievski 6a75a3d683 document the change in the default logger 2018-07-21 16:01:42 +02:00
Nikolay Kim 4862227df9 fix not implemented panic #410 2018-07-21 05:58:08 -07:00
Nikolay Kim 8cb510293d update changes 2018-07-20 14:10:41 -07:00
Douman a751df2589
Initial config for static files (#405) 2018-07-20 07:49:25 +03:00
Douman a7ca5fa5d8
Add few missing entries to changelog 2018-07-17 11:10:04 +03:00
Nikolay Kim 2dd57a48d6 checks nested scopes in has_resource() 2018-07-16 11:33:29 +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 f38a370b94 update changes 2018-07-11 13:34:40 +06:00
Nikolay Kim 62ba01fc15 update changes 2018-07-06 15:00:14 +06: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 d7762297da update actix dependency 2018-07-05 12:02:32 +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 0338767264 Update CHANGES for default scope propagation 2018-06-21 19:37:34 +10:00
Nikolay Kim dbd093075d
Merge pull request #338 from tbroadley/fix-typos
Fix typos
2018-06-21 10:13:30 +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
Thomas Broadley bd8cbfff35 docs: fix typos 2018-06-20 21:05:26 -04: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 f3a73d7dde update changelog 2018-06-17 03:24:08 +06:00
Dursun Akkurt cb77f7e688 Add `HttpMessage::readlines()` 2018-06-14 00:19:48 +03:00
Dursun Akkurt 0a080d9fb4 add test for form extractor 2018-06-13 01:33:28 +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 9cc7651c22 add change to CHANGES.md 2018-06-12 20:32:16 +03:00
axon-q d8e1fd102d add cookie methods to HttpResponse 2018-06-12 13:56:53 +00:00
axon-q fee203b402 update changelog 2018-06-09 14:02:05 +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 ce40ab307b update changes 2018-06-07 20:09:08 -07:00
axon-q e970846167 update changelog 2018-06-07 17:59:35 +00:00
Nikolay Kim 6467d34a32 update release date 2018-06-05 09:45:07 -07:00
Nikolay Kim e5f7e4e481 update changelog 2018-06-05 08:55:28 -07:00
Nikolay Kim 960a8c425d update changelog 2018-06-05 07:40:11 -07:00
Nikolay Kim 5004821cda
Merge branch 'master' into user-agent 2018-06-04 14:04:45 -07:00
Nikolay Kim ae7a0e993d update changelog 2018-06-04 13:43:52 -07:00
François Mockers b07c50860a update changelog 2018-06-04 22:34:07 +02:00
Nikolay Kim 698f0a1849 update changelog 2018-06-02 15:00:11 -07:00
Nikolay Kim 593a66324f update changelog 2018-06-02 11:45:37 -07:00
Nikolay Kim cede817915 update changelog 2018-06-02 09:15:44 -07:00
Josh Leeb-du Toit 9c9eb62031 Update Middleware trait to use `&mut self` 2018-06-02 16:47:18 +10:00
Nikolay Kim 009ee4b3db update changelog 2018-06-01 10:55:54 -07:00
Nikolay Kim f48702042b min rustc version 2018-05-24 21:09:20 -07:00
Nikolay Kim 690169db89 migrate to tokio 2018-05-24 21:03:16 -07:00
Nikolay Kim bf63be3bcd bump version 2018-05-24 09:24:04 -07:00
Nikolay Kim 556646aaec update changelog 2018-05-24 07:56:51 -07:00
Nikolay Kim 68eb2f26c9 Allow to use path without traling slashes for scope registration #241 2018-05-23 13:21:29 -07:00
Nikolay Kim eb5dbd43ae update changelog 2018-05-23 10:37:17 -07:00
Nikolay Kim 2159158c30 Fix streaming response with body compression 2018-05-21 20:50:10 -07:00
Nikolay Kim 76d790425f bump version 2018-05-21 19:07:56 -07:00
Nikolay Kim 90968d4333 Drop connection if request's payload is not fulle consumed #236 2018-05-21 18:54:17 -07:00
Nikolay Kim 14d1b8e2b6 prepare release 2018-05-20 21:09:54 -07:00
Nikolay Kim 285c73e95e Re-use tcp listener on pause/resume 2018-05-20 20:47:20 -07:00
Nikolay Kim 082ff46041 Fix scope resource path extractor #234 2018-05-20 17:04:23 -07:00
Nikolay Kim 537b420d35 Fix compilation with --no-default-features 2018-05-17 18:33:48 -07:00
Nikolay Kim 564cc15c04 update changes 2018-05-17 12:20:04 -07:00
Nikolay Kim b4252f8fd1 implement extractor for Session 2018-05-16 21:02:51 -07:00
Nikolay Kim fe2b50a9ef update changelog 2018-05-16 11:02:50 -07:00
Nikolay Kim b393ddf879 fix panic during middleware execution #226 2018-05-16 11:00:29 -07:00
Nikolay Kim 03e758cee4 bump version 2018-05-15 19:08:34 -07:00
Nikolay Kim 953a0d4e4a add test case for #222 2018-05-15 09:29:59 -07:00
Nikolay Kim 9306631d6e Fix segfault in ServerSettings::get_response_builder() 2018-05-11 21:19:48 -07:00
Nikolay Kim 095ad328ee prepare release 2018-05-10 15:45:06 -07:00
Nikolay Kim 92f993e054 Fix client request timeout handling 2018-05-10 09:37:38 -07:00
Nikolay Kim 76f021a6e3 add tests for ErrorXXX helpers 2018-05-10 09:13:26 -07:00
Nikolay Kim 18575ee1ee Add Router::with_async() method for async handler registration 2018-05-09 16:27:31 -07:00
Nikolay Kim be12d5e6fc make WsWriter trait optional 2018-05-09 05:48:06 -07:00
Nikolay Kim c26c5fd9a4 prep release 2018-05-08 18:34:36 -07:00
Nikolay Kim 54c33a7aff Allow to exclude certain endpoints from logging #211 2018-05-08 16:30:34 -07:00
Nikolay Kim 47d80382b2 Fix http/2 payload streaming #215 2018-05-08 15:44:50 -07:00
Niklas Fiekas 6f75b0e95e let Path::from_request() fail with ErrorNotFound 2018-05-08 22:59:46 +02:00
Nikolay Kim b3cc43bb9b Fix connector's default keep-alive and lifetime settings #212 2018-05-08 13:41:04 -07:00
Nikolay Kim 72908d974c test for Scope::route(); prep release 2018-05-07 15:19:03 -07:00
Nikolay Kim 32a2866449 Allow to override files listing renderer for #203 2018-05-02 15:53:07 -07:00
Nikolay Kim 35a4078434 update changelog 2018-05-02 13:43:51 -07:00
Nikolay Kim 70d0c5c700 update changes 2018-04-30 19:56:17 -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 d98d723f97 bump rustc version requirements 2018-04-29 08:24:19 -07:00
Nikolay Kim c5b9bed478 update changes 2018-04-26 08:01:08 -07:00
Nikolay Kim fa9edf2180 prep release 2018-04-24 12:34:10 -07:00
Nikolay Kim 2477afcf30 Allow to use rust backend for flate2 crate #199 2018-04-24 09:29:15 -07:00
Nikolay Kim 2adf8a3a48 add changelog entry 2018-04-21 07:56:11 -07:00
Nikolay Kim 2c8d987241 Use Display formatting for InternalError Display implementation #188 2018-04-19 07:55:09 -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 a9a54ac4c6 prep release 2018-04-18 10:45:59 -07:00
Nikolay Kim a826d113ee add custom request path quoter #182 2018-04-17 12:55:13 -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 634c5723a0 update changelog 2018-04-13 19:19:30 -07:00
Nikolay Kim 22c776f46e Fix StaticFiles does not support percent encoded paths #177 2018-04-13 10:13:12 -07:00
Nikolay Kim c5b18c6d30 prepare release 2018-04-12 16:03:22 -07:00
Nikolay Kim 2ca0ea70c4 use one default cpu pool for StaticFiles #174 2018-04-12 15:50:20 -07:00
Nikolay Kim 83168731fc update user guide content compression section 2018-04-12 09:54:35 -07:00
Nikolay Kim 35e68723df use older mdbook 2018-04-11 19:05:14 -07:00
Nikolay Kim 839d67ac6a migration to 0.5 2018-04-11 16:46:21 -07:00
Nikolay Kim 81ac905c7b fix prefix and static file serving #168 2018-04-10 10:16:00 -07:00
Alex Whitney 9b152acc32 add signed and private cookies 2018-04-09 17:59:28 +01:00
Nikolay Kim 2a269f1111 update changes 2018-04-02 22:08:04 -07:00
Nikolay Kim cbf4c61eb5 add urlencoded body extractor 2018-04-02 14:00:18 -07:00
Nikolay Kim 83bf852192 Fix logger request duration calculation 2018-04-02 11:09:24 -07:00
Nikolay Kim 17c27ef42d HttpRequest::resource() returns current matched resource 2018-04-01 17:37:22 -07:00
Nikolay Kim 23cfa649f4 update tests 2018-03-31 10:21:54 -07:00
Nikolay Kim 16c212f853 add extractors info to guide 2018-03-31 09:18:25 -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 7d6deab9fb drop request's extract_xxx methods 2018-03-29 09:26:01 -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 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 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 2d75ced4ed fix client connection pooling 2018-03-21 11:51:08 -07:00
Nikolay Kim ce6d237cc1 prepare 0.4.10 release 2018-03-20 15:53:39 -07:00
Nikolay Kim c4f4cadb43 Fix http/2 date header generation 2018-03-20 11:40:05 -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 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
Nikolay Kim 84bf282c17 add basic client connection pooling 2018-03-16 12:04:01 -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 0f064db31d Move brotli encoding to a feature 2018-03-13 17:21:22 -07:00