[][src]Struct saphir::SyncResponse

pub struct SyncResponse { /* fields omitted */ }

A Structure which represent a fully mutable http response

Methods

impl SyncResponse[src]

pub fn new() -> Self[src]

pub fn status<T>(&mut self, status: T) -> &mut SyncResponse where
    StatusCode: HttpTryFrom<T>, 
[src]

Set the HTTP status for this response.

This function will configure the HTTP status code of the Response that will be returned from Builder::build.

By default this is 200.

Examples


let response = SyncResponse::new()
    .status(200)
    .build_response()
    .unwrap();

pub fn version(&mut self, version: Version) -> &mut SyncResponse[src]

Set the HTTP version for this response.

This function will configure the HTTP version of the Response that will be returned from Builder::build.

By default this is HTTP/1.1

Examples


let response = SyncResponse::new()
    .version(Version::HTTP_2)
    .build_response()
    .unwrap();

pub fn header<K, V>(&mut self, key: K, value: V) -> &mut SyncResponse where
    HeaderName: HttpTryFrom<K>,
    HeaderValue: HttpTryFrom<V>, 
[src]

Appends a header to this response builder.

This function will append the provided key/value as a header to the internal HeaderMap being constructed. Essentially this is equivalent to calling HeaderMap::append.

Examples


let response = SyncResponse::new()
    .header("Content-Type", "text/html")
    .header("X-Custom-Foo", "bar")
    .build_response()
    .unwrap();

pub fn parsed_header(&mut self, headers: Headers) -> &mut SyncResponse[src]

A convinient function to constuct the response headers from a Headers struct

pub fn extension<T>(&mut self, extension: T) -> &mut SyncResponse where
    T: Any + Send + Sync + 'static, 
[src]

Adds an extension to this builder

Examples


let response = SyncResponse::new()
    .extension("My Extension")
    .build_response()
    .unwrap();

assert_eq!(response.extensions().get::<&'static str>(),
           Some(&"My Extension"));

pub fn body<B: 'static + ToBody>(&mut self, body: B) -> &mut SyncResponse[src]

Adds a body to a response

Examples


let response = SyncResponse::new()
    .body(b"this is a payload")
    .build_response()
    .unwrap();

pub fn build_response(self) -> Result<Response<Body>, Error>[src]

Auto Trait Implementations

impl !Send for SyncResponse

impl !Sync for SyncResponse

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Erased for T