[−][src]Struct cloudevents::Event
Data structure that represents a CloudEvent.
It provides methods to get the attributes through AttributesReader
and write them through AttributesWriter.
It also provides methods to read and write the event data.
You can build events using super::EventBuilder
use cloudevents::*; use std::convert::TryInto; // Create an event using the Default trait let mut e = Event::default(); e.set_data( "application/json", serde_json::json!({"hello": "world"}) ); // Print the event id println!("Event id: {}", e.id()); // Get the event data let data: Option<Data> = e.data().cloned(); match data { Some(d) => println!("{}", d), None => println!("No event data") }
Implementations
impl Event[src]
pub fn iter(&self) -> impl Iterator<Item = (&str, AttributeValue<'_>)>[src]
Returns an Iterator for all the available CloudEvents Context attributes and extensions.
Same as chaining Event::iter_attributes() and Event::iter_extensions()
pub fn iter_attributes(
&self
) -> impl Iterator<Item = (&str, AttributeValue<'_>)>[src]
&self
) -> impl Iterator<Item = (&str, AttributeValue<'_>)>
Returns an Iterator for all the available CloudEvents Context attributes, excluding extensions.
This iterator does not contain the data field.
pub fn iter_extensions(&self) -> impl Iterator<Item = (&str, &ExtensionValue)>[src]
Get all the extensions
pub fn data(&self) -> Option<&Data>[src]
Get data from this Event
pub fn take_data(&mut self) -> (Option<String>, Option<Url>, Option<Data>)[src]
Take (datacontenttype, dataschema, data) from this event, leaving these fields empty
use cloudevents::Event; use serde_json::json; use std::convert::Into; let mut e = Event::default(); e.set_data("application/json", json!({})); let (datacontenttype, dataschema, data) = e.take_data();
pub fn set_data(
&mut self,
datacontenttype: impl Into<String>,
data: impl Into<Data>
) -> (Option<String>, Option<Data>)[src]
&mut self,
datacontenttype: impl Into<String>,
data: impl Into<Data>
) -> (Option<String>, Option<Data>)
Set data into this Event with the specified datacontenttype.
Returns the previous value of datacontenttype and data.
use cloudevents::Event; use serde_json::json; use std::convert::Into; let mut e = Event::default(); let (old_datacontenttype, old_data) = e.set_data("application/json", json!({}));
pub fn set_data_unchecked(&mut self, data: impl Into<Data>) -> Option<Data>[src]
Set data into this Event, without checking if there is a datacontenttype.
Returns the previous value of data.
use cloudevents::Event; use serde_json::json; use std::convert::Into; let mut e = Event::default(); let old_data = e.set_data_unchecked(json!({}));
pub fn extension(&self, extension_name: &str) -> Option<&ExtensionValue>[src]
Get the extension named extension_name
pub fn set_extension<'name, 'event: 'name>(
&'event mut self,
extension_name: &'name str,
extension_value: impl Into<ExtensionValue>
)[src]
&'event mut self,
extension_name: &'name str,
extension_value: impl Into<ExtensionValue>
)
Set the extension named extension_name with extension_value
pub fn remove_extension<'name, 'event: 'name>(
&'event mut self,
extension_name: &'name str
) -> Option<ExtensionValue>[src]
&'event mut self,
extension_name: &'name str
) -> Option<ExtensionValue>
Remove the extension named extension_name
Trait Implementations
impl AttributesReader for Event[src]
fn id(&self) -> &str[src]
fn source(&self) -> &Url[src]
fn specversion(&self) -> SpecVersion[src]
fn ty(&self) -> &str[src]
fn datacontenttype(&self) -> Option<&str>[src]
fn dataschema(&self) -> Option<&Url>[src]
fn subject(&self) -> Option<&str>[src]
fn time(&self) -> Option<&DateTime<Utc>>[src]
impl AttributesWriter for Event[src]
fn set_id(&mut self, id: impl Into<String>) -> String[src]
fn set_source(&mut self, source: impl Into<Url>) -> Url[src]
fn set_type(&mut self, ty: impl Into<String>) -> String[src]
fn set_subject(&mut self, subject: Option<impl Into<String>>) -> Option<String>[src]
fn set_time(
&mut self,
time: Option<impl Into<DateTime<Utc>>>
) -> Option<DateTime<Utc>>[src]
&mut self,
time: Option<impl Into<DateTime<Utc>>>
) -> Option<DateTime<Utc>>
fn set_datacontenttype(
&mut self,
datacontenttype: Option<impl Into<String>>
) -> Option<String>[src]
&mut self,
datacontenttype: Option<impl Into<String>>
) -> Option<String>
fn set_dataschema(&mut self, dataschema: Option<impl Into<Url>>) -> Option<Url>[src]
impl BinaryDeserializer for Event[src]
fn deserialize_binary<R: Sized, V: BinarySerializer<R>>(
self,
visitor: V
) -> Result<R>[src]
self,
visitor: V
) -> Result<R>
fn into_event(self) -> Result<Event>[src]
impl Clone for Event[src]
impl Debug for Event[src]
impl Default for Event[src]
impl<'de> Deserialize<'de> for Event[src]
fn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>, [src]
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl Display for Event[src]
impl Eq for Event[src]
impl From<Event> for EventBuilder[src]
impl From<Event> for EventBuilder[src]
impl PartialEq<Event> for Event[src]
impl Serialize for Event[src]
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer, [src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl StructuralEq for Event[src]
impl StructuralPartialEq for Event[src]
impl StructuredDeserializer for Event[src]
fn deserialize_structured<R, V: StructuredSerializer<R>>(
self,
visitor: V
) -> Result<R>[src]
self,
visitor: V
) -> Result<R>
fn into_event(self) -> Result<Event>[src]
Auto Trait Implementations
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,