[−][src]Trait http_serve::Entity
A reusable, read-only, byte-rangeable HTTP entity for GET and HEAD serving. Must return exactly the same data on every call.
Associated Types
type Error: 'static + Send + Sync
type Data: 'static + Send + Sync + Buf + From<Vec<u8>> + From<&'static [u8]>
The type of a data chunk.
Commonly bytes::Bytes but may be something more exotic.
Required methods
fn len(&self) -> u64
Returns the length of the entity's body in bytes.
fn get_range(
&self,
range: Range<u64>
) -> Box<dyn Stream<Item = Result<Self::Data, Self::Error>> + Send + Sync>
&self,
range: Range<u64>
) -> Box<dyn Stream<Item = Result<Self::Data, Self::Error>> + Send + Sync>
Gets the body bytes indicated by range.
fn add_headers(&self, _: &mut HeaderMap)
Adds entity headers such as Content-Type to the supplied Headers object.
In particular, these headers are the "other representation header fields" described by RFC
7233 section 4.1; they should exclude
Content-Range, Date, Cache-Control, ETag, Expires, Content-Location, and Vary.
This function will be called only when that section says that headers such as
Content-Type should be included in the response.
fn etag(&self) -> Option<HeaderValue>
Returns an etag for this entity, if available. Implementations are encouraged to provide a strong etag. RFC 7232 section 2.1 notes that only strong etags are usable for sub-range retrieval.
fn last_modified(&self) -> Option<SystemTime>
Returns the last modified time of this entity, if available.
Note that serve may serve an earlier Last-Modified: date than the one returned here if
this time is in the future, as required by RFC 7232 section
2.2.1.
Provided methods
Loading content...Implementors
impl<D, E> Entity for ChunkedReadFile<D, E> where
D: 'static + Send + Sync + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Sync + Into<Box<dyn StdError + Send + Sync>> + From<Box<dyn StdError + Send + Sync>>, [src]
D: 'static + Send + Sync + Buf + From<Vec<u8>> + From<&'static [u8]>,
E: 'static + Send + Sync + Into<Box<dyn StdError + Send + Sync>> + From<Box<dyn StdError + Send + Sync>>,
type Data = D
type Error = E
fn len(&self) -> u64[src]
fn get_range(
&self,
range: Range<u64>
) -> Box<dyn Stream<Item = Result<Self::Data, Self::Error>> + Send + Sync>[src]
&self,
range: Range<u64>
) -> Box<dyn Stream<Item = Result<Self::Data, Self::Error>> + Send + Sync>