1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-18 14:16:47 +00:00
Commit graph

274 commits

Author SHA1 Message Date
Nikolay Kim
03248028a9 update actix-service 2019-03-05 10:08:08 -08:00
Nikolay Kim
b6fe1dacf2 update middleware impl 2019-03-04 21:42:51 -08:00
Nikolay Kim
bd4124587a provide block_on function for testing purpose 2019-03-04 13:25:35 -08:00
Nikolay Kim
d5c54a1867 update extractor tests 2019-03-02 22:03:45 -08:00
Nikolay Kim
352e7b7a75 update tests for defaultheaders middleware 2019-03-02 21:35:31 -08:00
Nikolay Kim
75fbb97480 update new transform trait 2019-03-02 13:57:00 -08:00
Nikolay Kim
cc20fee628 add request chain services 2019-03-02 11:53:05 -08:00
Nikolay Kim
2d7293aaf8 copy actix-web2 2019-03-01 22:51:32 -08:00
BlueC0re
bfdf762062 Only return a single Origin value (#644)
Only return a single origin if matched.
2018-12-24 21:16:07 +03:00
Douman
46db09428c Prepare release 0.7.16 2018-12-11 21:04:05 +03:00
Douman
0745a1a9f8 Remove usage of upcoming keyword async
AsyncResult::async is replaced with AsyncResult::future
2018-12-05 18:23:04 +03: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
Nikolay Kim
127af92541 clippy warnings 2018-10-01 21:16:56 -07:00
Nikolay Kim
9f1417af30 refactor http service builder 2018-09-27 18:33:29 -07:00
Douman
1b298142e3
Correct composing of multiple origins in cors (#518) 2018-09-21 08:45:22 +03:00
Nikolay Kim
002bb24b26 unhide SessionBackend and SessionImpl traits and cleanup warnings 2018-09-07 20:46:43 -07:00
Nikolay Kim
1716380f08 clippy fmt 2018-08-23 09:48:01 -07: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
d3b12d885e
Merge branch 'master' into master 2018-07-24 14:07:03 -07: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
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
da915972c0 refactor router 2018-07-15 16:25:56 +06:00
Nikolay Kim
b8b90d9ec9 rename ResourceHandler to Resource 2018-07-12 15:30:01 +06:00
Nikolay Kim
6fd686ef98 cleanup warnings 2018-07-04 21:01:27 +06:00
Nikolay Kim
fec6047ddc refactor HttpRequest mutability 2018-07-02 23:35:32 +06:00
Nikolay Kim
4fadff63f4 Use Box::leak for dynamic param names 2018-06-23 09:57:03 +06:00
Nikolay Kim
765c38e7b9 remove libc dependency 2018-06-22 11:47:33 +06:00
Nikolay Kim
65ca563579 use read only self for Middleware 2018-06-21 23:06:23 +06:00
Nikolay Kim
0f2aac1a27 remove unneed Send and Sync 2018-06-17 08:32:22 +06:00
Nikolay Kim
8261cf437d update actix api 2018-06-13 23:37:19 -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
984791187a Middleware::response is not invoked if error result was returned by another Middleware::start #255 2018-06-04 13:42:47 -07:00
Matthijs Brobbel
268c5d9238
Fix typo 2018-06-03 20:28:08 +02: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
Josh Leeb-du Toit
9c9eb62031 Update Middleware trait to use &mut self 2018-06-02 16:47:18 +10:00
Nikolay Kim
c8930b7b6b fix rustfmt formatting 2018-06-01 10:27:23 -07:00
Nikolay Kim
3f5a39a5b7 cargo fmt 2018-06-01 09:37:14 -07:00
Nikolay Kim
154cd3c5de better actix mod re-exports 2018-06-01 09:36:16 -07:00
Douman
80965d7a9a
Re-export actix dependency. Closes #260 (#264)
- Re-export actix's prelude into actix namespace
- Removing implicit dependency on root's actix module
2018-05-31 20:43:14 +03:00
Nikolay Kim
ecd05662c0 use new actix system api 2018-05-29 10:31:37 -07:00
Bruno Bigras
4dcecd907b Add same-site to CookieSessionBackend
closes #247
2018-05-25 19:18:16 -04:00
Nikolay Kim
45e9aaa462 rustfmt 0.7 2018-05-17 12:20:20 -07:00
Nikolay Kim
8de1f60347 add session extractor doc api 2018-05-16 21:05:59 -07:00
Nikolay Kim
b4252f8fd1 implement extractor for Session 2018-05-16 21:02:51 -07:00
Nikolay Kim
54c33a7aff Allow to exclude certain endpoints from logging #211 2018-05-08 16:30:34 -07:00
Alexander Andreev
cd11293c1f spelling check 2018-05-06 19:07:30 +03:00
Nikolay Kim
58079b5bbe add session test 2018-05-02 19:11:44 -07:00
Nikolay Kim
32a2866449 Allow to override files listing renderer for #203 2018-05-02 15:53:07 -07:00
Nikolay Kim
9b6343d54b refactor session impl 2018-05-01 09:40:23 -07:00
Nikolay Kim
d9a4fadaae make HttpRequest::extensions() readonly 2018-05-01 09:05:50 -07:00
Nikolay Kim
eefbe19651 remove deprecated types and methods 2018-04-29 21:05:10 -07:00
Nikolay Kim
c72d1381a6 clippy warnings 2018-04-29 09:09:08 -07:00
Nikolay Kim
de49796fd1 clippy warnings; fmt 2018-04-28 22:55:47 -07: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
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
113f5ad1a8 add rustfmt config 2018-04-13 16:02:01 -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
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
7be4b1f399 clippy warns 2018-04-04 20:24:09 -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
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
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
9e751de707 re-arrange modules and exports 2018-03-30 17:31:18 -07:00
Nikolay Kim
2f60a4b89d add handler with exatractor 2018-03-26 23:10:31 -07: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
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
kindiana
04d0abb3c7 make session an optional feature 2018-03-07 15:38:58 +08:00
Niklas Fiekas
10f57dac31 add csrf filter middleware 2018-03-02 20:13:43 +01:00
Nikolay Kim
206c4e581a rename httpcodes 2018-03-01 19:12:59 -08:00
Alex Whitney
313396d9b5 fix session mut borrow lifetime 2018-02-28 19:35:26 +00: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
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
fd56e5dc82 do not use regset for route recognition 2018-02-21 14:31:22 -08:00
Nikolay Kim
187644e178 update logger doc string 2018-02-20 12:53:51 -08:00
Nikolay Kim
edd114f6e4 allow to set default content encoding on application level 2018-02-18 22:23:17 -08:00
Alexander Andreev
a565e71018 spelling check 2018-01-31 20:28:53 +03:00
Nikolay Kim
71d534dadb CORS middleware: allowed_headers is defaulting to None #50 2018-01-20 16:36:57 -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
bc6bb9984f user guide spelling 2018-01-13 11:17:48 -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
d152860fa7 add Cors::register method 2018-01-11 11:14:18 -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
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
91230afc44 fix time calculations 2018-01-04 09:32:33 -08:00
Nikolay Kim
cc38b30f7b refactor http actor usage 2017-12-31 17:26:32 -08:00
Nikolay Kim
d87fafb563 fix and refactor middleware runner 2017-12-29 01:01:31 -08:00
Nikolay Kim
783e19c1bf fix RequestSession impl for HttpRequest 2017-12-28 11:43:45 -08:00
Alban Minassian
27b0dfd761 set sessio name 2017-12-28 13:02:46 +01:00
Nikolay Kim
29adc20581 rename module 2017-12-26 19:59:41 -08:00