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>
impl<T> JsonStream<T>
Sourcepub fn new(
value: impl Stream<Item = Result<T, ServerFnError>> + Send + 'static,
) -> JsonStream<T>
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>
impl<T, CustErr> JsonStream<T, CustErr>
Sourcepub fn into_inner(
self,
) -> impl Stream<Item = Result<T, ServerFnError<CustErr>>> + Send
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>
impl<T, CustErr> Debug for JsonStream<T, CustErr>
Source§impl<S, T, CustErr> From<S> for JsonStream<T, CustErr>
impl<S, T, CustErr> From<S> for JsonStream<T, CustErr>
Source§fn from(value: S) -> JsonStream<T, CustErr>
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>
impl<CustErr, T, Response> FromRes<StreamingJson, Response, CustErr> for JsonStream<T>
Source§async fn from_res(
res: Response,
) -> Result<JsonStream<T>, ServerFnError<CustErr>>
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>
impl<CustErr, T, Response> IntoRes<StreamingJson, Response, CustErr> for JsonStream<T, CustErr>
Source§async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
Source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.