Struct actix_web_lab::sse::Data
source · pub struct Data { /* private fields */ }
Expand description
Server-sent events data message containing a data
field and optional id
and event
fields.
Since it implements Into<SseMessage>
, this can be passed directly to send
or try_send
.
§Examples
use std::convert::Infallible;
use actix_web::body;
use actix_web_lab::sse;
use futures_util::stream;
use serde::Serialize;
#[derive(serde::Serialize)]
struct Foo {
bar: u32,
}
let sse = sse::Sse::from_stream(stream::iter([
Ok::<_, Infallible>(sse::Event::Data(sse::Data::new("foo"))),
Ok::<_, Infallible>(sse::Event::Data(
sse::Data::new_json(Foo { bar: 42 }).unwrap(),
)),
]));
assert_eq!(
body::to_bytes(sse).await.unwrap(),
"data: foo\n\ndata: {\"bar\":42}\n\n",
);
Implementations§
source§impl Data
impl Data
sourcepub fn new(data: impl Into<ByteString>) -> Self
pub fn new(data: impl Into<ByteString>) -> Self
Constructs a new SSE data message with just the data
field.
§Examples
use actix_web_lab::sse;
let event = sse::Event::Data(sse::Data::new("foo"));
sourcepub fn new_json(data: impl Serialize) -> Result<Self, Error>
pub fn new_json(data: impl Serialize) -> Result<Self, Error>
Constructs a new SSE data message the data
field set to data
serialized as JSON.
§Examples
use actix_web_lab::sse;
#[derive(serde::Serialize)]
struct Foo {
bar: u32,
}
let event = sse::Event::Data(sse::Data::new_json(Foo { bar: 42 }).unwrap());
sourcepub fn set_data(&mut self, data: impl Into<ByteString>)
pub fn set_data(&mut self, data: impl Into<ByteString>)
Sets data
field.
sourcepub fn id(self, id: impl Into<ByteString>) -> Self
pub fn id(self, id: impl Into<ByteString>) -> Self
Sets id
field, returning a new data message.
sourcepub fn set_id(&mut self, id: impl Into<ByteString>)
pub fn set_id(&mut self, id: impl Into<ByteString>)
Sets id
field.
sourcepub fn event(self, event: impl Into<ByteString>) -> Self
pub fn event(self, event: impl Into<ByteString>) -> Self
Sets event
name field, returning a new data message.
sourcepub fn set_event(&mut self, event: impl Into<ByteString>)
pub fn set_event(&mut self, event: impl Into<ByteString>)
Sets event
name field.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Data
impl RefUnwindSafe for Data
impl Send for Data
impl Sync for Data
impl Unpin for Data
impl UnwindSafe for Data
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more