Struct dyer::component::response::ResponseBuilder [−][src]
pub struct ResponseBuilder {
pub inner: InnerResponse,
pub meta: MetaResponse,
}
Expand description
An Wrapper of http::response::Builder
An HTTP response builder
///
/// This type can be used to construct an instance of Response
through a
/// builder-like pattern.
Fields
inner: InnerResponse
Inner parts
meta: MetaResponse
The meta-response’s extensions
Implementations
Creates a new default instance of ResponseBuilder
to construct either a
Head
or a Response
.
Examples
let response = response::ResponseBuilder::new()
.status(200)
.body(Body::empty())
.unwrap();
pub fn status<T>(self, status: T) -> ResponseBuilder where
StatusCode: TryFrom<T>,
<StatusCode as TryFrom<T>>::Error: Into<Error>,
pub fn status<T>(self, status: T) -> ResponseBuilder where
StatusCode: TryFrom<T>,
<StatusCode as TryFrom<T>>::Error: Into<Error>,
Set the HTTP status for this response.
This function will configure the HTTP status code of the Response
that
will be returned from ResponseBuilder::build
.
By default this is 200
.
Examples
let response = Response::builder()
.status(200)
.body(Body::empty())
.unwrap();
Set the HTTP version for this response.
This function will configure the HTTP version of the Response
that
will be returned from ResponseBuilder::build
.
By default this is HTTP/1.1
Examples
let response = Response::builder()
.version(Version::HTTP_2)
.body(Body::empty())
.unwrap();
pub fn header<K, V>(self, key: K, value: V) -> ResponseBuilder where
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
pub fn header<K, V>(self, key: K, value: V) -> ResponseBuilder where
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
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 = Response::builder()
.header("Content-Type", "text/html")
.header("X-Custom-Foo", "bar")
.header("content-length", 0)
.body(Body::empty())
.unwrap();
Get header on this response builder.
When builder has error returns None.
Example
let res = Response::builder()
.header("Accept", "text/html")
.header("X-Custom-Foo", "bar");
let headers = res.headers_ref().unwrap();
assert_eq!( headers["Accept"], "text/html" );
assert_eq!( headers["X-Custom-Foo"], "bar" );
Get header on this response builder. when builder has error returns None
Example
let mut res = Response::builder();
{
let headers = res.headers_mut().unwrap();
headers.insert("Accept", HeaderValue::from_static("text/html"));
headers.insert("X-Custom-Foo", HeaderValue::from_static("bar"));
}
let headers = res.headers_ref().unwrap();
assert_eq!( headers["Accept"], "text/html" );
assert_eq!( headers["X-Custom-Foo"], "bar" );
Adds an extension to this builder
Examples
let response = Response::builder()
.extension("My Extension")
.body(Body::empty())
.unwrap();
assert_eq!(response.extensions().get::<&'static str>(),
Some(&"My Extension"));
Get a reference to the extensions for this response builder.
If the builder has an error, this returns None
.
Example
let res = Response::builder().extension(5u32);
let extensions = res.extensions_ref().unwrap();
assert_eq!(extensions.get::<u32>(), &5u32);
Get a mutable reference to the extensions for this response builder.
If the builder has an error, this returns None
.
Example
let res = Response::builder().extension(5u32);
let mut extensions = res.extensions_mut().unwrap();
assert_eq!(extensions.get::<u32>(), Some(&5u32));
extensions.insert(3u32);
assert_eq!(extensions.get::<u32>(), Some(&3u32));
Adds an extension to this builder
Examples
let response = Response::builder()
.exts(1i32)
.body(Body::empty())
.unwrap();
Get a mutable reference to the extensions for this response builder.
If the builder has an error, this returns None
.
Example
let res = Response::builder().extension(5u32);
let mut exts = res.exts_mut().unwrap();
assert_eq!(exts.get::<u32>(), Some(&5u32));
exts.insert(3u32);
assert_eq!(exts.get::<u32>(), Some(&3u32));
Get a reference to the extensions for the meta data of response builder.
Example
let res = Response::builder().extension(5u32);
let exts = res.exts_ref().unwrap();
assert_eq!(exts.get::<u32>(), &5u32);
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl !RefUnwindSafe for ResponseBuilder
impl Send for ResponseBuilder
impl Sync for ResponseBuilder
impl Unpin for ResponseBuilder
impl !UnwindSafe for ResponseBuilder
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more