1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-27 17:52:56 +01:00
Commit Graph

583 Commits

Author SHA1 Message Date
Rob Ede
b2d6b6a70c
prepare web release 4.0.0-beta.6 2021-04-17 15:28:13 +01:00
Rob Ede
981c54432c
remove json and url encoded form support from -http (#2148) 2021-04-12 10:30:28 +01:00
Rob Ede
44c55dd036
remove cookie support from -http (#2065) 2021-04-09 18:07:10 +01:00
Rob Ede
546e7c5da4
prepare web release 4.0.0-beta.5 2021-04-02 09:37:51 +01:00
Rob Ede
c54a0713de
migrate integration testing to new crate (#2112) 2021-04-02 08:26:59 +01:00
Ibraheem Ahmed
50dc13f280
move typed headers and implement FromRequest (#2094)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-04-01 16:42:18 +01:00
Michał Pokrywka
a807d33600
added TestServer::client_headers (#2097)
Co-authored-by: fakeshadow <24548779@qq.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-04-01 06:40:10 +01:00
fakeshadow
746d983849
handle header error with CustomResponder (#2093) 2021-03-20 05:18:06 +00:00
Ilya Averyanov
22dcc31193
Fix logger middleware properly escape %% (#2067) 2021-03-11 14:12:42 +00:00
Rob Ede
909ef0344b
document client mod removal
closes #2064
2021-03-11 00:43:03 +00:00
Rob Ede
4b46351d36
prepare actix-web release 4.0.0-beta.4 2021-03-09 23:31:44 +00:00
Baran Demirbaş
ebaf25d55a
Fix typos in CHANGES.md (#2025)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-02-24 16:19:40 +00:00
Richard Janis Goldschmidt
3b93c62e23
Fix Json extractor to be 32kB by default (#2010) 2021-02-18 15:20:20 +00:00
Rob Ede
3279070f9f
optional cookies features (#1981) 2021-02-13 15:08:43 +00:00
Rob Ede
bd26083f33
prepare codegen 0.5.0-beta.1 release 2021-02-10 12:45:46 +00:00
Rob Ede
a290e58982
prepare beta 2 release set (#1975) 2021-02-10 12:10:03 +00:00
fakeshadow
dddb623a11
add services register for tuple and vec of services (#1933) 2021-02-07 23:47:51 +00:00
fakeshadow
41bc04b1c4
Use immutable reference of service state. Update awc dns resolver. (#1905) 2021-02-07 01:00:40 +00:00
fakeshadow
20cf0094e5
fix master branch build. change web::block output type. (#1957) 2021-02-06 16:23:59 +00:00
Rob Ede
da69bb4d12
implement App::data as App::app_data(Data::new(T))) (#1906) 2021-01-15 23:37:33 +00:00
Rob Ede
b1dd8d28bc
response header rework (#1869) 2021-01-15 02:11:10 +00:00
fakeshadow
57398c6df1
Refactor/service request (#1893) 2021-01-11 01:29:16 +00:00
fakeshadow
fe392abeb4
remove actix-threadpool.use actix_rt::task::spawn_blocking (#1878) 2021-01-09 16:04:19 +00:00
Rob Ede
6575ee93f2
big clean up and docs improvmenet of types mod (#1894) 2021-01-09 13:17:19 +00:00
fakeshadow
d40ae8c8ca
use sync method on Responder trait (#1891) 2021-01-08 22:17:19 +00:00
Rob Ede
c09186a2c0
prepare v4 beta releases (#1881) 2021-01-07 20:02:08 +00:00
Rob Ede
68117543ea
major cleanup of middleware module (#1875)
* major cleanup of middleware module

* update changelog
2021-01-05 09:51:58 +00:00
fakeshadow
4f5971d79e
add Compat middleware (#1865) 2021-01-05 00:22:57 +00:00
fakeshadow
32de9f8840
Tokio 1.0 (#1813)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-03 23:47:04 +00:00
Rob Ede
a1b00b2cd0
change unreleased year 2021-01-02 00:12:18 +00:00
Rob Ede
2a2a20c3e7
bump msrv to 1.46 (#1858) 2020-12-28 00:44:15 +00:00
Ibraheem Ahmed
cbda928a33
Rename factory to handler (#1852) 2020-12-26 21:46:19 +00:00
Logan Magee
4dccd092f3
Bump rand from 0.7.x to 0.8.x (#1845) 2020-12-22 23:45:31 +00:00
Petar Dambovaliev
b75a9b7a20
add error to message in test helper func (#1812) 2020-12-05 04:57:56 +09:00
Rob Ede
24d525d978
prepare web 3.3.2 release 2020-12-01 22:22:46 +00:00
Joshua Parkin
1f70ef155d
Fix match_pattern() returning None for scope with resource of empty path (#1798)
* fix match_pattern function not returning pattern where scope has resource of path ""

* remove print in test

* make comparison on existing else if block

* add fix to changelog
2020-12-01 13:39:41 +00:00
Maciej Hirsz
7981e0068a
Remove a panic in normalize middleware (#1762)
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-12-01 10:22:15 +09:00
Rob Ede
ea8bf36104
update web and awc changelogs 2020-11-29 16:35:35 +00:00
Rob Ede
e72b787ba7
prepare actix-web and actix-http-test releases 2020-11-25 00:53:48 +00:00
Rob Ede
4100c50c70
add either extractor (#1788) 2020-11-20 18:02:41 +00:00
Yuki Okushi
4bfd5c2781
Upgrade serde_urlencoded to 0.7 (#1773) 2020-11-06 01:36:15 +09:00
Rob Ede
42f51eb962
prepare web release 3.2.0 2020-10-30 03:15:22 +00:00
Rob Ede
9963a5ef54
expose on_connect v2 (#1754)
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
2020-10-30 02:03:26 +00:00
Joshua Parkin
4519db36b2
register fns for custom request-derived logging units (#1749)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-29 18:38:49 +00:00
Augusto César Dias
7030bf5fe8
Adding app_data to ServiceConfig (#1758)
Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Augusto <augusto@flowciety.de>
2020-10-26 17:02:45 +00:00
ghizzo01
20078fe603
Bump pin-project to 1.0 (#1733) 2020-10-25 19:41:44 +09:00
Daniel Egger
41e7cec72f
Re-export bytes::Buf and bytes::BufMut as well (#1750)
Co-authored-by: Daniel Egger <daniel.egger@axiros.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-24 20:31:23 +01:00
Rob Ede
d45a1aa6b6
Add web::ReqData<T> extractor (#1748)
Co-authored-by: Jonas Platte <jonas@lumeo.com>
2020-10-24 18:49:50 +01:00
cquintana-verbio
98243db9f1
Print unconfigured Data<T> type when attempting extraction (#1743)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-20 17:35:34 +01:00
Matt Gathu
cfd5b381f1
Implement Logger middleware regex exclude pattern (#1723)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-19 07:18:16 +01:00
Rob Ede
aa11231ee5
prepare web release 3.1.0 (#1716) 2020-09-30 11:07:35 +01:00
PeterUlb
b5812b15f0
Remove Sized Bound for web::Data (#1712) 2020-09-29 22:44:12 +01:00
Matt Gathu
b4e02fe29a
Fix cyclic references in ResourceMap (#1708) 2020-09-25 17:42:49 +01:00
LIU An (劉安)
60e7e52276
Add TrailingSlash::MergeOnly behavior (#1695)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-09-25 12:50:59 +01:00
Rob Ede
d707704556
prepare web release 3.0.2 (#1681) 2020-09-15 13:14:14 +01:00
Rob Ede
7f8073233a
fix trimming to inaccessible root path (#1678) 2020-09-15 11:32:31 +01:00
Rob Ede
f861508789
prepare web release 3.0.1 (#1676) 2020-09-13 03:24:44 +01:00
Damian Lesiuk
a4546f02d2
make TrailingSlash enum accessible (#1673)
Co-authored-by: Damian Lesiuk <lesiuk@sabre.com>
2020-09-13 00:55:39 +01:00
Rob Ede
64a2c13cdf
the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
Rob Ede
2f6e9738c4
prepare multipart and actors releases (#1663) 2020-09-10 12:54:27 +01:00
Rob Ede
9d0534999d
bump connect and tls versions (#1655) 2020-09-09 09:20:54 +01:00
Rob Ede
4e321595bc
extract more config types from Data<T> as well (#1641) 2020-09-02 22:12:07 +01:00
Rob Ede
8497b5f490
integrate with updated actix-{codec, utils} (#1634) 2020-08-24 10:13:35 +01:00
LJ
75d86a6beb
Configurable trailing slash behaviour for NormalizePath (#1639)
Co-authored-by: ljoonal <ljoona@ljoonal.xyz>
2020-08-19 12:21:52 +01:00
Yuki Okushi
5802eb797f
awc,web: Bump up to next beta releases (#1638) 2020-08-18 01:08:40 +09:00
Yuki Okushi
ff2ca0f420
Update rustls to 0.18 (#1637) 2020-08-18 00:28:39 +09:00
Yuki Okushi
59ad1738e9
web: Bump up to 3.0.0-beta.2 (#1636) 2020-08-17 11:32:38 +01:00
William Myers
5aad8e24c7
Re-export all error types from awc (#1621) 2020-08-14 01:24:35 +01:00
Rob Ede
187646b2f9
match HttpRequest app_data behavior in ServiceRequest (#1618) 2020-08-09 15:51:38 +01:00
Rob Ede
0ec335a39c
bump MSRV to 1.42 (#1616) 2020-07-21 16:40:30 +09:00
Jonas Platte
f8d5ad6b53
Make web::Path a tuple struct with a public inner value (#1594)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-07-21 00:54:26 +01:00
Rob Ede
43c362779d
also try extracting payload config as Data<T> (#1610) 2020-07-20 17:40:58 +01:00
Rob Ede
971ba3eee1
fix continous growth of app data in pooled requests (#1609)
fixes #1606
fixes #1607
2020-07-18 16:17:00 +01:00
Rob Ede
ad7c6d2633
prepare actix-web v3.0.0-beta.1 release (#1600) 2020-07-15 00:44:44 +01:00
Yuki Okushi
deab634247
actix-http: Update sha-1 to 0.9 (#1586) 2020-07-03 01:08:24 +01:00
Takashi Idobe
23c8191cca
add method to extract matched resource name (#1577)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-06-27 16:22:16 +01:00
Rob Ede
fa28175a74
add method to extract matched resource pattern (#1566) 2020-06-23 00:58:20 +01:00
Rob Ede
eb0eda69c6
migrate cookie handling to cookie crate (#1558) 2020-06-19 14:34:14 +01:00
Rob Ede
dc74db1f2f
re-export actix_rt::main macro (#1559) 2020-06-18 15:45:30 +01:00
Fabianstelmach
9af07d66ae
Fix NormalizePath trailing slash behavior (#1548) 2020-06-17 10:54:20 +01:00
Andrew
e72ee28232
Enforce HW_BUFFER_SIZE inside h1::dispatcher (#1550) 2020-06-17 08:58:23 +01:00
Yuki Okushi
5d39110470
web: Bump up to 3.0.0-alpha.3 2020-05-21 17:31:22 +09:00
Yuki Okushi
9a7f93610a
web: Replace net2 crate with socket2 2020-05-19 09:34:37 +09:00
Sven Allers
201090d7a2
Provide impl<T> From<Arc<T>> for Data<T> (#1509) 2020-05-16 00:27:03 +01:00
pando85
4fc99d4a6f
Fix audit issue logging by default peer address (#1485)
* Fix audit issue logging by default peer address

By default log format include remote address that is taken from headers.
This is very easy to replace making log untrusted.

Changing default log format value `%a` to peer address we are getting
this trusted data always. Also, remote address option is maintianed and
relegated to `%{r}a` value.

Related  kanidm/kanidm#191.

* Rename peer/remote to remote_addr/realip_remote_addr

Change names to avoid naming confusions. I choose this accord to Nginx
variables and
[ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html).

Add more specific documentation about security concerns of using Real IP
in logger.

* Rename security advertise header in doc

* Add fix audit issue logging by default peer adress to changelog

Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-05-15 09:07:27 +09:00
Rob Ede
996f1d7eae
bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
Rob Ede
879cad9422
allow parent data containers to be accessed from child scopes 2020-05-09 00:31:26 +01:00
Yuki Okushi
b6b3481c6f
web: Bump up to 3.0.0-alpha.2 2020-05-08 06:46:13 +09:00
Rob Ede
45e2e40140
set data container on default service calls
closes #1450
2020-04-14 02:33:19 +01:00
Tore Pettersen
0ad02ee0e0
Add convenience functions for testing (#1401)
* Add convenience functions for testing

* Fix remarks from PR and add tests

* Add unpin to read_json_body

* Update changelog
2020-04-06 04:12:44 +09:00
Stephen Eckels
aaff68bf05
Change NormalizePath to append trailing slash (#1433)
* Change NormalizePath to append trailing slash

* add tests

* Update CHANGES.md

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-04-05 03:26:40 +09:00
Otavio Salvador
146ae4da18 Implement std::error::Error for our custom errors
For allowing a more ergonomic use and better integration on the
ecosystem, this adds the `std::error::Error` `impl` for our custom
errors.

We intent to drop this hand made code once `derive_more` finishes the
addition of the Error derive support[1]. Until that is available, we
need to live with that.

1. https://github.com/JelteF/derive_more/issues/92

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-18 00:22:18 -03:00
Yuki Okushi
0152cedc5d
Update changelog 2020-03-12 03:24:15 +09:00
Yuki Okushi
9d661dc4f3 Update changelog 2020-03-04 15:20:14 +09:00
Yuki Okushi
b213c07799
Merge branch 'master' into feat/helper-function-for-trace-method 2020-02-25 12:36:20 +09:00
Matt Gathu
d143c44130
Update the ChangeLog 2020-02-23 09:33:28 +01:00
Yuki Okushi
1b77963aac actix-web: update time to 0.2.7 2020-02-23 07:08:22 +09:00
kevinpoitra
e634e64847 Upgrade time to 0.2.5 (#1254)
* Use `OffsetDateTime` instead of `PrimitiveDateTime`

* Parse time strings with `PrimitiveDateTime::parse` instead of `OffsetDateTime::parse`

* Remove unused `time` dependency from actix-multipart

* Fix a few errors with time related tests from the `time` upgrade

* Implement logic to convert a RFC 850 two-digit year into a full length year, and organize time parsing related functions

* Upgrade `time` to 0.2.2

* Correctly parse C's asctime time format using time 0.2's new format patterns

* Update CHANGES.md

* Use `time` without any of its deprecated functions

* Enforce a UTC time offset when converting an `OffsetDateTime` into a Header value

* Use the more readable version of `Duration::seconds(0)`, `Duration::zero()`

* Remove unneeded conversion of time::Duration to std::time::Duration

* Use `OffsetDateTime::as_seconds_f64` instead of manually calculating the amount of seconds from nanoseconds

* Replace a few additional instances of `Duration::seconds(0)` with `Duration::zero()`

* Truncate any nanoseconds from a supplied `Duration` within `Cookie::set_max_age` to ensure two Cookies with the same amount whole seconds equate to one another

* Fix the actix-http:🍪:do_not_panic_on_large_max_ages test

* Convert `Cookie::max_age` and `Cookie::expires` examples to `time` 0.2

Mainly minor  changes. Type inference can be used alongside the new
`time::parse` method, such that the type doesn't need to be specified.
This will be useful if a refactoring takes place that changes the type.
There are also new macros, which are used where possible.

One change that is not immediately obvious, in `HttpDate`, there was an
unnecessary conditional. As the time crate allows for negative durations
(and can perform arithmetic with such), the if/else can be removed
entirely.

Time v0.2.3 also has some bug fixes, which is why I am not using a more
general v0.2 in Cargo.toml.

v0.2.3 has been yanked, as it was backwards imcompatible. This version
reverts the breaking change, while still supporting rustc back to
1.34.0.

* Add missing `time::offset` macro import

* Fix type confusion when using `time::parse` followed by `using_offset`

* Update `time` to 0.2.5

* Update CHANGES.md

Co-authored-by: Jacob Pratt <the.z.cuber@gmail.com>
2020-01-28 20:44:22 +09:00
Kai Ren
cdba30d45f Skip empty chucks for BodyStream and SizedStream (#1308)
* Skip empty chucks for BodyStream and SizedStream when streaming response (#1267)

* Fix tests to fail on previous implementation

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-28 18:28:09 +09:00
linkmauve
abb462ef85 Replace sha1 dependency with sha-1 (#1258)
* Replace sha1 dependency with sha-1

This other crate is being maintained, and it offers better performances
when using the `asm` feature (especially [on
AArch64](https://github.com/RustCrypto/hashes/pull/97)).

* Update CHANGES.md with the sha-1 migration

* Add a test for hash_key()
2020-01-11 02:34:31 +09:00