From e7dc02a0c86c9f0b5d25dff5d20fe53cdbe671cb Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 4 Mar 2025 23:39:04 +0100 Subject: improve headers module (breaking change) --- src/modules/headers.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/modules/headers.rs') diff --git a/src/modules/headers.rs b/src/modules/headers.rs index 52686eb..bdfbdc4 100644 --- a/src/modules/headers.rs +++ b/src/modules/headers.rs @@ -13,8 +13,9 @@ pub struct HeadersKind; #[derive(Deserialize)] pub struct Headers { - headers: HeaderMapWrap, - inner: DynNode, + request: HeaderMapWrap, + response: HeaderMapWrap, + next: DynNode, } impl NodeKind for HeadersKind { @@ -30,13 +31,17 @@ impl Node for Headers { fn handle<'a>( &'a self, context: &'a mut NodeContext, - request: NodeRequest, + mut request: NodeRequest, ) -> Pin> + Send + Sync + 'a>> { Box::pin(async move { - let mut resp = self.inner.handle(context, request).await?; - resp.headers_mut() - .extend(self.headers.0.clone().into_iter()); - Ok(resp) + request + .headers_mut() + .extend(self.request.0.clone().into_iter()); + let mut response = self.next.handle(context, request).await?; + response + .headers_mut() + .extend(self.response.0.clone().into_iter()); + Ok(response) }) } } -- cgit v1.2.3-70-g09d2