satex_layer/remove_header/
mod.rs

1#![doc = include_str!("../../docs/remove_request_header.md")]
2#![doc = include_str!("../../docs/remove_response_header.md")]
3
4mod remove_request_header;
5mod remove_response_header;
6
7use http::{HeaderName, Request, Response};
8pub use remove_request_header::{
9    MakeRemoveRequestHeaderRouteLayer, RemoveRequestHeader, RemoveRequestHeaderLayer,
10};
11pub use remove_response_header::{
12    MakeRemoveResponseHeaderRouteLayer, RemoveResponseHeader, RemoveResponseHeaderLayer,
13    ResponseFuture,
14};
15
16pub trait Removable {
17    fn remove(&mut self, name: &HeaderName);
18}
19
20impl<ResBody> Removable for Response<ResBody> {
21    fn remove(&mut self, name: &HeaderName) {
22        let headers = self.headers_mut();
23        if headers.contains_key(name) {
24            headers.remove(name);
25        }
26    }
27}
28
29impl<ReqBody> Removable for Request<ReqBody> {
30    fn remove(&mut self, name: &HeaderName) {
31        let headers = self.headers_mut();
32        if headers.contains_key(name) {
33            headers.remove(name);
34        }
35    }
36}