satex_layer/remove_header/
mod.rs1#![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}