Struct AppendHeaders

struct AppendHeaders<I>(631)

Append headers to a response.

Returning something like [("content-type", "foo=bar")] from a handler will override any existing content-type headers. If instead you want to append headers, use AppendHeaders:

use axum::{
    response::{AppendHeaders, IntoResponse},
    http::header::SET_COOKIE,
};

async fn handler() -> impl IntoResponse {
    // something that sets the `set-cookie` header
    let set_some_cookies = /* ... */
    # axum::http::HeaderMap::new();

    (
        set_some_cookies,
        // append two `set-cookie` headers to the response
        // without overriding the ones added by `set_some_cookies`
        AppendHeaders([
            (SET_COOKIE, "foo=bar"),
            (SET_COOKIE, "baz=qux"),
        ])
    )
}

Implementations

impl<I> Freeze for AppendHeaders<I>

impl<I> RefUnwindSafe for AppendHeaders<I>

impl<I> Send for AppendHeaders<I>

impl<I> Sync for AppendHeaders<I>

impl<I> Unpin for AppendHeaders<I>

impl<I> UnsafeUnpin for AppendHeaders<I>

impl<I> UnwindSafe for AppendHeaders<I>

impl<I, K, V> IntoResponse for AppendHeaders<I>

fn into_response(self: Self) -> Response

impl<I, K, V> IntoResponseParts for AppendHeaders<I>

fn into_response_parts(self: Self, res: ResponseParts) -> Result<ResponseParts, <Self as >::Error>

impl<I: $crate::clone::Clone> Clone for AppendHeaders<I>

fn clone(self: &Self) -> AppendHeaders<I>

impl<I: $crate::fmt::Debug> Debug for AppendHeaders<I>

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl<I: $crate::marker::Copy> Copy for AppendHeaders<I>

impl<T> Any for AppendHeaders<I>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for AppendHeaders<I>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for AppendHeaders<I>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for AppendHeaders<I>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for AppendHeaders<I>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> FromRef for AppendHeaders<I>

fn from_ref(input: &T) -> T

impl<T> Instrument for AppendHeaders<I>

impl<T> ToOwned for AppendHeaders<I>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T> WithSubscriber for AppendHeaders<I>

impl<T, U> Into for AppendHeaders<I>

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for AppendHeaders<I>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for AppendHeaders<I>

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>