[−][src]Struct cloudevents::event::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]
pub fn id(&self) -> &str
[src]
pub fn source(&self) -> &Url
[src]
pub fn specversion(&self) -> SpecVersion
[src]
pub fn ty(&self) -> &str
[src]
pub fn datacontenttype(&self) -> Option<&str>
[src]
pub fn dataschema(&self) -> Option<&Url>
[src]
pub fn subject(&self) -> Option<&str>
[src]
pub fn time(&self) -> Option<&DateTime<Utc>>
[src]
impl AttributesWriter for Event
[src]
pub fn set_id(&mut self, id: impl Into<String>) -> String
[src]
pub fn set_source(&mut self, source: impl Into<Url>) -> Url
[src]
pub fn set_type(&mut self, ty: impl Into<String>) -> String
[src]
pub fn set_subject(
&mut self,
subject: Option<impl Into<String>>
) -> Option<String>
[src]
&mut self,
subject: Option<impl Into<String>>
) -> Option<String>
pub 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>>
pub fn set_datacontenttype(
&mut self,
datacontenttype: Option<impl Into<String>>
) -> Option<String>
[src]
&mut self,
datacontenttype: Option<impl Into<String>>
) -> Option<String>
pub fn set_dataschema(
&mut self,
dataschema: Option<impl Into<Url>>
) -> Option<Url>
[src]
&mut self,
dataschema: Option<impl Into<Url>>
) -> Option<Url>
impl BinaryDeserializer for Event
[src]
pub fn deserialize_binary<R: Sized, V: BinarySerializer<R>>(
self,
mut visitor: V
) -> Result<R>
[src]
self,
mut visitor: V
) -> Result<R>
pub 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]
pub 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]
pub 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]
pub fn deserialize_structured<R, V: StructuredSerializer<R>>(
self,
visitor: V
) -> Result<R>
[src]
self,
visitor: V
) -> Result<R>
pub fn into_event(self) -> Result<Event>
[src]
Auto Trait Implementations
impl RefUnwindSafe for Event
[src]
impl Send for Event
[src]
impl Sync for Event
[src]
impl Unpin for Event
[src]
impl UnwindSafe for Event
[src]
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>,