dioxus_static_site_generation::prelude::server_fn::codec

Struct JsonStream

Source
pub struct JsonStream<T, CustErr = NoCustomError>(/* private fields */);
Expand description

A stream of typed data encoded as JSON.

A server function can return this type if its output encoding is StreamingJson.

§Browser Support for Streaming Input

Browser fetch requests do not currently support full request duplexing, which means that that they do begin handling responses until the full request has been sent. This means that if you use a streaming input encoding, the input stream needs to end before the output will begin.

Streaming requests are only allowed over HTTP2 or HTTP3.

Implementations§

Source§

impl<T> JsonStream<T>

Source

pub fn new( value: impl Stream<Item = Result<T, ServerFnError>> + Send + 'static, ) -> JsonStream<T>

Creates a new ByteStream from the given stream.

Source§

impl<T, CustErr> JsonStream<T, CustErr>

Source

pub fn into_inner( self, ) -> impl Stream<Item = Result<T, ServerFnError<CustErr>>> + Send

Consumes the wrapper, returning a stream of text.

Trait Implementations§

Source§

impl<T, CustErr> Debug for JsonStream<T, CustErr>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<S, T, CustErr> From<S> for JsonStream<T, CustErr>
where T: 'static, CustErr: 'static, S: Stream<Item = T> + Send + 'static,

Source§

fn from(value: S) -> JsonStream<T, CustErr>

Converts to this type from the input type.
Source§

impl<CustErr, T, Response> FromRes<StreamingJson, Response, CustErr> for JsonStream<T>
where Response: ClientRes<CustErr> + Send, T: DeserializeOwned,

Source§

async fn from_res( res: Response, ) -> Result<JsonStream<T>, ServerFnError<CustErr>>

Attempts to deserialize the outputs from a response.
Source§

impl<CustErr, T, Response> IntoRes<StreamingJson, Response, CustErr> for JsonStream<T, CustErr>
where Response: Res<CustErr>, CustErr: 'static, T: Serialize + 'static,

Source§

async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>

Attempts to serialize the output into an HTTP response.

Auto Trait Implementations§

§

impl<T, CustErr> Freeze for JsonStream<T, CustErr>

§

impl<T, CustErr = NoCustomError> !RefUnwindSafe for JsonStream<T, CustErr>

§

impl<T, CustErr> Send for JsonStream<T, CustErr>

§

impl<T, CustErr = NoCustomError> !Sync for JsonStream<T, CustErr>

§

impl<T, CustErr> Unpin for JsonStream<T, CustErr>

§

impl<T, CustErr = NoCustomError> !UnwindSafe for JsonStream<T, CustErr>

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> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more