Struct hyper_staticfile::ResponseBuilder
source · pub struct ResponseBuilder<'a> {
pub path: &'a str,
pub query: Option<&'a str>,
pub file_response_builder: FileResponseBuilder,
}
Expand description
Utility to build the default response for a resolve
result.
This struct allows direct access to its fields, but these fields are typically initialized by the accessors, using the builder pattern. The fields are basically a bunch of settings that determine the response details.
Fields§
§path: &'a str
The request path.
query: Option<&'a str>
The request query string.
file_response_builder: FileResponseBuilder
Inner file response builder.
Implementations§
source§impl<'a> ResponseBuilder<'a>
impl<'a> ResponseBuilder<'a>
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new builder with a default configuration.
Examples found in repository?
src/service.rs (line 77)
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
pub async fn serve<B>(
self,
request: Request<B>,
) -> Result<Response<Body<<O::File as IntoFileAccess>::Output>>, IoError> {
let Self {
resolver,
cache_headers,
} = self;
resolver.resolve_request(&request).await.map(|result| {
ResponseBuilder::new()
.request(&request)
.cache_headers(cache_headers)
.build(result)
.expect("unable to build response")
})
}
sourcepub fn request<B>(&mut self, req: &'a Request<B>) -> &mut Self
pub fn request<B>(&mut self, req: &'a Request<B>) -> &mut Self
Apply parameters based on a request.
Examples found in repository?
src/service.rs (line 78)
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
pub async fn serve<B>(
self,
request: Request<B>,
) -> Result<Response<Body<<O::File as IntoFileAccess>::Output>>, IoError> {
let Self {
resolver,
cache_headers,
} = self;
resolver.resolve_request(&request).await.map(|result| {
ResponseBuilder::new()
.request(&request)
.cache_headers(cache_headers)
.build(result)
.expect("unable to build response")
})
}
sourcepub fn request_parts(
&mut self,
method: &Method,
uri: &'a Uri,
headers: &'a HeaderMap
) -> &mut Self
pub fn request_parts(
&mut self,
method: &Method,
uri: &'a Uri,
headers: &'a HeaderMap
) -> &mut Self
Apply parameters based on request parts.
sourcepub fn request_uri(&mut self, uri: &'a Uri) -> &mut Self
pub fn request_uri(&mut self, uri: &'a Uri) -> &mut Self
Apply parameters based on a request URI.
sourcepub fn cache_headers(&mut self, value: Option<u32>) -> &mut Self
pub fn cache_headers(&mut self, value: Option<u32>) -> &mut Self
Add cache headers to responses for the given lifespan.
Examples found in repository?
src/service.rs (line 79)
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
pub async fn serve<B>(
self,
request: Request<B>,
) -> Result<Response<Body<<O::File as IntoFileAccess>::Output>>, IoError> {
let Self {
resolver,
cache_headers,
} = self;
resolver.resolve_request(&request).await.map(|result| {
ResponseBuilder::new()
.request(&request)
.cache_headers(cache_headers)
.build(result)
.expect("unable to build response")
})
}
sourcepub fn build<F: IntoFileAccess>(
&self,
result: ResolveResult<F>
) -> Result<Response<Body<F::Output>>>
pub fn build<F: IntoFileAccess>(
&self,
result: ResolveResult<F>
) -> Result<Response<Body<F::Output>>>
Build a response for the given request and resolve
result.
This function may error if it response could not be constructed, but this should be a seldom occurrence.
Examples found in repository?
src/service.rs (line 80)
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
pub async fn serve<B>(
self,
request: Request<B>,
) -> Result<Response<Body<<O::File as IntoFileAccess>::Output>>, IoError> {
let Self {
resolver,
cache_headers,
} = self;
resolver.resolve_request(&request).await.map(|result| {
ResponseBuilder::new()
.request(&request)
.cache_headers(cache_headers)
.build(result)
.expect("unable to build response")
})
}
Trait Implementations§
source§impl<'a> Clone for ResponseBuilder<'a>
impl<'a> Clone for ResponseBuilder<'a>
source§fn clone(&self) -> ResponseBuilder<'a>
fn clone(&self) -> ResponseBuilder<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Debug for ResponseBuilder<'a>
impl<'a> Debug for ResponseBuilder<'a>
source§impl<'a> Default for ResponseBuilder<'a>
impl<'a> Default for ResponseBuilder<'a>
source§fn default() -> ResponseBuilder<'a>
fn default() -> ResponseBuilder<'a>
Returns the “default value” for a type. Read more