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§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