Struct rouille::ResponseBody
source · pub struct ResponseBody { /* private fields */ }
Expand description
An opaque type that represents the body of a response.
You can’t access the inside of this struct, but you can build one by using one of the provided constructors.
Example
use rouille::ResponseBody;
let body = ResponseBody::from_string("hello world");
Implementations§
source§impl ResponseBody
impl ResponseBody
sourcepub fn empty() -> ResponseBody
pub fn empty() -> ResponseBody
Builds a ResponseBody
that doesn’t return any data.
Example
use rouille::ResponseBody;
let body = ResponseBody::empty();
sourcepub fn from_reader<R>(data: R) -> ResponseBodywhere
R: Read + Send + 'static,
pub fn from_reader<R>(data: R) -> ResponseBodywhere R: Read + Send + 'static,
Builds a new ResponseBody
that will read the data from a Read
.
Note that this is suboptimal compared to other constructors because the length isn’t known in advance.
Example
use std::io;
use std::io::Read;
use rouille::ResponseBody;
let body = ResponseBody::from_reader(io::stdin().take(128));
sourcepub fn from_reader_and_size<R>(data: R, size: usize) -> ResponseBodywhere
R: Read + Send + 'static,
pub fn from_reader_and_size<R>(data: R, size: usize) -> ResponseBodywhere R: Read + Send + 'static,
Builds a new ResponseBody
that will read the data from a Read
.
The caller must provide the content length. It is unspecified what will happen if the content length does not match the actual length of the data returned from the reader.
Example
use std::io;
use std::io::Read;
use rouille::ResponseBody;
let body = ResponseBody::from_reader_and_size(io::stdin().take(128), 128);
sourcepub fn from_data<D>(data: D) -> ResponseBodywhere
D: Into<Vec<u8>>,
pub fn from_data<D>(data: D) -> ResponseBodywhere D: Into<Vec<u8>>,
Builds a new ResponseBody
that returns the given data.
Example
use rouille::ResponseBody;
let body = ResponseBody::from_data(vec![12u8, 97, 34]);
sourcepub fn from_file(file: File) -> ResponseBody
pub fn from_file(file: File) -> ResponseBody
Builds a new ResponseBody
that returns the content of the given file.
Example
use std::fs::File;
use rouille::ResponseBody;
let file = File::open("page.html").unwrap();
let body = ResponseBody::from_file(file);
sourcepub fn from_string<S>(data: S) -> ResponseBodywhere
S: Into<String>,
pub fn from_string<S>(data: S) -> ResponseBodywhere S: Into<String>,
Builds a new ResponseBody
that returns an UTF-8 string.
Example
use rouille::ResponseBody;
let body = ResponseBody::from_string("hello world");