From d3ed8a8d1aae7edbe88d4e99163ac75e4c4a208b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 8 Aug 2021 15:43:11 +0100 Subject: [PATCH] refactor body limit, for reuse in server, return body so far Signed-off-by: Ian Jackson --- src/utils.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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() -- 2.30.2