Struct actix_web::dev::HttpResponseBuilder
source · pub struct HttpResponseBuilder { /* private fields */ }
Expand description
An HTTP response builder
This type can be used to construct an instance of HttpResponse
through a
builder-like pattern.
Implementations
sourceimpl HttpResponseBuilder
impl HttpResponseBuilder
sourcepub fn status(&mut self, status: StatusCode) -> &mut Self
pub fn status(&mut self, status: StatusCode) -> &mut Self
Set HTTP status code of this response.
sourcepub fn version(&mut self, version: Version) -> &mut Self
pub fn version(&mut self, version: Version) -> &mut Self
Set HTTP version of this response.
By default response’s http version depends on request’s version.
sourcepub fn header<K, V>(&mut self, key: K, value: V) -> &mut Selfwhere
HeaderName: HttpTryFrom<K>,
V: IntoHeaderValue,
pub fn header<K, V>(&mut self, key: K, value: V) -> &mut Selfwhere
HeaderName: HttpTryFrom<K>,
V: IntoHeaderValue,
Set a header.
use actix_web::{http, HttpRequest, HttpResponse};
fn index(req: HttpRequest) -> HttpResponse {
HttpResponse::Ok()
.header("X-TEST", "value")
.header(http::header::CONTENT_TYPE, "application/json")
.finish()
}
fn main() {}
sourcepub fn reason(&mut self, reason: &'static str) -> &mut Self
pub fn reason(&mut self, reason: &'static str) -> &mut Self
Set the custom reason for the response.
sourcepub fn content_encoding(&mut self, enc: ContentEncoding) -> &mut Self
pub fn content_encoding(&mut self, enc: ContentEncoding) -> &mut Self
Set content encoding.
By default ContentEncoding::Auto
is used, which automatically
negotiates content encoding based on request’s Accept-Encoding
headers. To enforce specific encoding, use specific
ContentEncoding` value.
sourcepub fn force_close(&mut self) -> &mut Self
pub fn force_close(&mut self) -> &mut Self
Force close connection, even if it is marked as keep-alive
sourcepub fn no_chunking(&mut self) -> &mut Self
pub fn no_chunking(&mut self) -> &mut Self
Force disable chunked encoding
sourcepub fn content_type<V>(&mut self, value: V) -> &mut Selfwhere
HeaderValue: HttpTryFrom<V>,
pub fn content_type<V>(&mut self, value: V) -> &mut Selfwhere
HeaderValue: HttpTryFrom<V>,
Set response content type
sourcepub fn content_length(&mut self, len: u64) -> &mut Self
pub fn content_length(&mut self, len: u64) -> &mut Self
Set content length
Set a cookie
use actix_web::{http, HttpRequest, HttpResponse, Result};
fn index(req: HttpRequest) -> HttpResponse {
HttpResponse::Ok()
.cookie(
http::Cookie::build("name", "value")
.domain("www.rust-lang.org")
.path("/")
.secure(true)
.http_only(true)
.finish(),
)
.finish()
}
Remove cookie
use actix_web::{http, HttpRequest, HttpResponse, Result};
fn index(req: &HttpRequest) -> HttpResponse {
let mut builder = HttpResponse::Ok();
if let Some(ref cookie) = req.cookie("name") {
builder.del_cookie(cookie);
}
builder.finish()
}
sourcepub fn if_true<F>(&mut self, value: bool, f: F) -> &mut Selfwhere
F: FnOnce(&mut HttpResponseBuilder),
pub fn if_true<F>(&mut self, value: bool, f: F) -> &mut Selfwhere
F: FnOnce(&mut HttpResponseBuilder),
This method calls provided closure with builder reference if value is true.
sourcepub fn if_some<T, F>(&mut self, value: Option<T>, f: F) -> &mut Selfwhere
F: FnOnce(T, &mut HttpResponseBuilder),
pub fn if_some<T, F>(&mut self, value: Option<T>, f: F) -> &mut Selfwhere
F: FnOnce(T, &mut HttpResponseBuilder),
This method calls provided closure with builder reference if value is Some.
sourcepub fn write_buffer_capacity(&mut self, cap: usize) -> &mut Self
pub fn write_buffer_capacity(&mut self, cap: usize) -> &mut Self
Set write buffer capacity
This parameter makes sense only for streaming response or actor. If write buffer reaches specified capacity, stream or actor get paused.
Default write buffer capacity is 64kb
sourcepub fn body<B: Into<Body>>(&mut self, body: B) -> HttpResponse
pub fn body<B: Into<Body>>(&mut self, body: B) -> HttpResponse
Set a body and generate HttpResponse
.
HttpResponseBuilder
can not be used after this call.
sourcepub fn streaming<S, E>(&mut self, stream: S) -> HttpResponsewhere
S: Stream<Item = Bytes, Error = E> + 'static,
E: Into<Error>,
pub fn streaming<S, E>(&mut self, stream: S) -> HttpResponsewhere
S: Stream<Item = Bytes, Error = E> + 'static,
E: Into<Error>,
Set a streaming body and generate HttpResponse
.
HttpResponseBuilder
can not be used after this call.
sourcepub fn json<T: Serialize>(&mut self, value: T) -> HttpResponse
pub fn json<T: Serialize>(&mut self, value: T) -> HttpResponse
Set a json body and generate HttpResponse
HttpResponseBuilder
can not be used after this call.
sourcepub fn json2<T: Serialize>(&mut self, value: &T) -> HttpResponse
pub fn json2<T: Serialize>(&mut self, value: &T) -> HttpResponse
Set a json body and generate HttpResponse
HttpResponseBuilder
can not be used after this call.
sourcepub fn finish(&mut self) -> HttpResponse
pub fn finish(&mut self) -> HttpResponse
Set an empty body and generate HttpResponse
HttpResponseBuilder
can not be used after this call.
sourcepub fn take(&mut self) -> HttpResponseBuilder
pub fn take(&mut self) -> HttpResponseBuilder
This method construct new HttpResponseBuilder
Trait Implementations
sourceimpl<'a> From<&'a ClientResponse> for HttpResponseBuilder
impl<'a> From<&'a ClientResponse> for HttpResponseBuilder
Create HttpResponseBuilder
from ClientResponse
It is useful for proxy response. This implementation copies all responses’s headers and status.
sourcefn from(resp: &'a ClientResponse) -> HttpResponseBuilder
fn from(resp: &'a ClientResponse) -> HttpResponseBuilder
sourceimpl<'a, S> From<&'a HttpRequest<S>> for HttpResponseBuilder
impl<'a, S> From<&'a HttpRequest<S>> for HttpResponseBuilder
sourcefn from(req: &'a HttpRequest<S>) -> HttpResponseBuilder
fn from(req: &'a HttpRequest<S>) -> HttpResponseBuilder
sourceimpl From<HttpResponseBuilder> for HttpResponse
impl From<HttpResponseBuilder> for HttpResponse
sourcefn from(builder: HttpResponseBuilder) -> Self
fn from(builder: HttpResponseBuilder) -> Self
sourceimpl Responder for HttpResponseBuilder
impl Responder for HttpResponseBuilder
type Item = HttpResponse
type Item = HttpResponse
sourcefn respond_to<S>(self, _: &HttpRequest<S>) -> Result<HttpResponse, Error>
fn respond_to<S>(self, _: &HttpRequest<S>) -> Result<HttpResponse, Error>
AsyncResult
or Error
.