Struct poem::middleware::SetHeader
source · [−]pub struct SetHeader { /* private fields */ }
Expand description
Middleware for override/append headers to response.
Example
use poem::{
get, handler,
http::{HeaderValue, StatusCode},
middleware::SetHeader,
test::TestClient,
Endpoint, EndpointExt, Request, Route,
};
#[handler]
fn index() -> &'static str {
"hello"
}
let app = Route::new().at("/", get(index)).with(
SetHeader::new()
.appending("MyHeader1", "a")
.appending("MyHeader1", "b")
.overriding("MyHeader2", "a")
.overriding("MyHeader2", "b"),
);
let resp = TestClient::new(app).get("/").send().await;
resp.assert_status_is_ok();
resp.assert_header_all("MyHeader1", ["a", "b"]);
resp.assert_header_all("MyHeader2", ["b"]);
Implementations
sourceimpl SetHeader
impl SetHeader
sourcepub fn overriding<K, V>(self, key: K, value: V) -> Selfwhere
K: TryInto<HeaderName>,
V: TryInto<HeaderValue>,
pub fn overriding<K, V>(self, key: K, value: V) -> Selfwhere
K: TryInto<HeaderName>,
V: TryInto<HeaderValue>,
Inserts a header to response.
If a previous value exists for the same header, it is removed and replaced with the new header value.
sourcepub fn appending<K, V>(self, key: K, value: V) -> Selfwhere
K: TryInto<HeaderName>,
V: TryInto<HeaderValue>,
pub fn appending<K, V>(self, key: K, value: V) -> Selfwhere
K: TryInto<HeaderName>,
V: TryInto<HeaderValue>,
Appends a header to response.
If previous values exist, the header will have multiple values.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for SetHeader
impl Send for SetHeader
impl Sync for SetHeader
impl Unpin for SetHeader
impl UnwindSafe for SetHeader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more