From: Ian Jackson Date: Sun, 8 Aug 2021 14:43:11 +0000 (+0100) Subject: refactor body limit, for reuse in server, return body so far X-Git-Tag: hippotat/1.0.0~213 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=d3ed8a8d1aae7edbe88d4e99163ac75e4c4a208b;p=hippotat.git refactor body limit, for reuse in server, return body so far Signed-off-by: Ian Jackson --- diff --git a/src/utils.rs b/src/utils.rs index b84d2f2..0890cd5 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -19,7 +19,7 @@ impl Result where AE: From { #[derive(Error,Debug)] pub enum ReadLimitedError { #[error("maximum size {limit} exceeded")] - Truncated { limit: usize }, + Truncated { sofar: Box<[u8]>, limit: usize }, #[error("HTTP error {0}")] Hyper(#[from] hyper::Error), @@ -36,7 +36,7 @@ where S: futures::Stream> let b = item?; accum.extend(b); if accum.len() > limit { - throw!(ReadLimitedError::Truncated { limit }) + throw!(ReadLimitedError::Truncated { limit, sofar: accum.into() }) } } accum.into()