ResponseExt

Trait ResponseExt 

Source
pub trait ResponseExt: Sealed + Sized {
Show 18 methods // Required methods fn content_length(&self) -> Option<u64>; fn content_type(&self) -> Option<Mime>; fn header<K, T>(&self, key: K) -> Option<T> where K: AsHeaderName, T: FromStr; fn ok(&self) -> bool; fn download<T>( path: T, name: Option<&str>, ) -> impl Future<Output = Result<Self>> + Send where T: AsRef<Path> + Send; // Provided methods fn empty() -> Response { ... } fn with<B>(body: B, content_type: &str) -> Response where B: Into<Body> { ... } fn text<B>(body: B) -> Response where B: Into<Full<Bytes>> { ... } fn html<B>(body: B) -> Response where B: Into<Full<Bytes>> { ... } fn json<T>(body: T) -> Result<Response, PayloadError> where T: Serialize { ... } fn stream<S, D, E>(stream: S) -> Response where S: Stream<Item = Result<D, E>> + Send + 'static, D: Into<Bytes> + 'static, E: Into<BoxError> + 'static { ... } fn attachment(value: &str) -> Response { ... } fn location<T>(location: T) -> Response where T: AsRef<str> { ... } fn redirect<T>(url: T) -> Response where T: AsRef<str> { ... } fn redirect_with_status<T>(url: T, status: StatusCode) -> Response where T: AsRef<str> { ... } fn see_other<T>(url: T) -> Response where T: AsRef<str> { ... } fn temporary<T>(url: T) -> Response where T: AsRef<str> { ... } fn permanent<T>(url: T) -> Response where T: AsRef<str> { ... }
}
Expand description

The Response Extension.

Required Methods§

Source

fn content_length(&self) -> Option<u64>

Get the size of this response’s body.

Source

fn content_type(&self) -> Option<Mime>

Get the media type of this response.

Source

fn header<K, T>(&self, key: K) -> Option<T>
where K: AsHeaderName, T: FromStr,

Get a header with the key.

Source

fn ok(&self) -> bool

The response was successful (status in the range 200-299) or not.

Source

fn download<T>( path: T, name: Option<&str>, ) -> impl Future<Output = Result<Self>> + Send
where T: AsRef<Path> + Send,

Available on crate feature fs only.

Downloads transfers the file from path as an attachment.

Provided Methods§

Source

fn empty() -> Response

Creates a response with an empty body.

Source

fn with<B>(body: B, content_type: &str) -> Response
where B: Into<Body>,

The response with the specified Content-Type.

Source

fn text<B>(body: B) -> Response
where B: Into<Full<Bytes>>,

The response with text/plain; charset=utf-8 media type.

Source

fn html<B>(body: B) -> Response
where B: Into<Full<Bytes>>,

The response with text/html; charset=utf-8 media type.

Source

fn json<T>(body: T) -> Result<Response, PayloadError>
where T: Serialize,

Available on crate feature json only.

The response with application/javascript; charset=utf-8 media type.

§Errors

Throws an error if serialization fails.

Source

fn stream<S, D, E>(stream: S) -> Response
where S: Stream<Item = Result<D, E>> + Send + 'static, D: Into<Bytes> + 'static, E: Into<BoxError> + 'static,

Responds to a stream.

Source

fn attachment(value: &str) -> Response

The Content-Disposition header indicates if the content is expected to be displayed inline in the browser, that is, as a Web page or as part of a Web page, or as an attachment, that is downloaded and saved locally.

Source

fn location<T>(location: T) -> Response
where T: AsRef<str>,

The Content-Location header indicates an alternate location for the returned data.

Source

fn redirect<T>(url: T) -> Response
where T: AsRef<str>,

The response redirects to the specified URL.

Source

fn redirect_with_status<T>(url: T, status: StatusCode) -> Response
where T: AsRef<str>,

The response redirects to the specified URL and the status code.

Source

fn see_other<T>(url: T) -> Response
where T: AsRef<str>,

The response redirects to the 303.

Source

fn temporary<T>(url: T) -> Response
where T: AsRef<str>,

The response redirects to the 307.

Source

fn permanent<T>(url: T) -> Response
where T: AsRef<str>,

The response redirects to the 308.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§