Struct MultipartParser

Source
pub struct MultipartParser<S, E>
where S: Stream<Item = Result<Bytes, E>>, E: Into<Box<dyn StdError + Send + Sync + 'static>>,
{ /* private fields */ }
Expand description

A low-level parser which MultipartStream uses.

Returns either headers of a field or a byte chunk, alternating between the two types

Unless there is an issue with using MultipartStream you don’t normally want to use this struct

Implementations§

Source§

impl<S, E> MultipartParser<S, E>
where S: Stream<Item = Result<Bytes, E>>, E: Into<Box<dyn StdError + Send + Sync + 'static>>,

Source

pub fn new<I: Into<Bytes>>(boundary: I, stream: S) -> Self

Construct a raw parser from a boundary/stream.

Trait Implementations§

Source§

impl<S, E> Stream for MultipartParser<S, E>
where S: Stream<Item = Result<Bytes, E>>, E: Into<Box<dyn StdError + Send + Sync + 'static>>,

Source§

type Item = Result<ParseOutput, MultipartError>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
Source§

impl<'__pin, S, E> Unpin for MultipartParser<S, E>
where PinnedFieldsOf<__Origin<'__pin, S, E>>: Unpin, S: Stream<Item = Result<Bytes, E>>, E: Into<Box<dyn StdError + Send + Sync + 'static>>,

Auto Trait Implementations§

§

impl<S, E> !Freeze for MultipartParser<S, E>

§

impl<S, E> RefUnwindSafe for MultipartParser<S, E>
where S: RefUnwindSafe,

§

impl<S, E> Send for MultipartParser<S, E>
where S: Send,

§

impl<S, E> Sync for MultipartParser<S, E>
where S: Sync,

§

impl<S, E> UnwindSafe for MultipartParser<S, E>
where S: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V