Fix Json extractor to be 32kB by default

While technically the default limit for `JsonBody` is indeed 256kB when
called through `JsonBody::new`, in practice the limit is always set to
32kB for every context where `JsonBody` is used (via `JsonConfig`).
This is also consistent with the documentation of the
`JsonError::Overflow`, which mentions a default maximum of `32kB`.

This commit changes the default to also be `32kB` instead of `256kB`.
This commit is contained in:
Janis Goldschmidt 2021-02-18 13:03:10 +01:00
parent 1838d9cd0f
commit 05011930bb
No known key found for this signature in database
GPG Key ID: CDCB5673C752F45B
2 changed files with 5 additions and 2 deletions

View File

@ -3,8 +3,11 @@
## Unreleased - 2021-xx-xx
### Changed
* Feature `cookies` is now optional and enabled by default. [#1981]
* `JsonBody::new` returns a default limit of 32kB to be consistent with `JsonConfig` and the
default behaviour of the `web::Json<T>` extractor. [#2010]
[#1981]: https://github.com/actix/actix-web/pull/1981
[#2010]: https://github.com/actix/actix-web/pull/2010
## 4.0.0-beta.3 - 2021-02-10

View File

@ -345,7 +345,7 @@ where
let payload = payload.take();
JsonBody::Body {
limit: 262_144,
limit: 32_768,
length,
payload,
buf: BytesMut::with_capacity(8192),
@ -353,7 +353,7 @@ where
}
}
/// Set maximum accepted payload size. The default limit is 256kB.
/// Set maximum accepted payload size. The default limit is 32kB.
pub fn limit(self, limit: usize) -> Self {
match self {
JsonBody::Body {