1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-11-26 19:41:12 +00:00
Commit graph

1387 commits

Author SHA1 Message Date
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