Struct cloudevents::event::Event

source ·
pub struct Event { /* private fields */ }
Expand description

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§

source§

impl Event

source

pub fn iter(&self) -> impl Iterator<Item = (&str, AttributeValue<'_>)>

Returns an Iterator for all the available CloudEvents Context attributes and extensions. Same as chaining Event::iter_attributes() and Event::iter_extensions()

source

pub fn iter_attributes( &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.

source

pub fn iter_extensions(&self) -> impl Iterator<Item = (&str, &ExtensionValue)>

Get all the extensions

source

pub fn data(&self) -> Option<&Data>

Get data from this Event

source

pub fn take_data(&mut self) -> (Option<String>, Option<Url>, Option<Data>)

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();
source

pub fn set_data( &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!({}));
source

pub fn set_data_unchecked(&mut self, data: impl Into<Data>) -> Option<Data>

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!({}));
source

pub fn extension(&self, extension_name: &str) -> Option<&ExtensionValue>

Get the extension named extension_name

source

pub fn set_extension<'name, 'event: 'name>( &'event mut self, extension_name: &'name str, extension_value: impl Into<ExtensionValue>, )

Set the extension named extension_name with extension_value

source

pub fn remove_extension<'name, 'event: 'name>( &'event mut self, extension_name: &'name str, ) -> Option<ExtensionValue>

Remove the extension named extension_name

Trait Implementations§

source§

impl AttributesReader for Event

source§

fn id(&self) -> &str

Get the id.
source§

fn source(&self) -> &UriReference

Get the source.
source§

fn specversion(&self) -> SpecVersion

Get the specversion.
source§

fn ty(&self) -> &str

Get the type.
source§

fn datacontenttype(&self) -> Option<&str>

source§

fn dataschema(&self) -> Option<&Url>

Get the dataschema.
source§

fn subject(&self) -> Option<&str>

Get the subject.
source§

fn time(&self) -> Option<&DateTime<Utc>>

Get the time.
source§

impl AttributesWriter for Event

source§

fn set_id(&mut self, id: impl Into<String>) -> String

Set the id. Returns the previous value.
source§

fn set_source(&mut self, source: impl Into<UriReference>) -> UriReference

Set the source. Returns the previous value.
source§

fn set_type(&mut self, ty: impl Into<String>) -> String

Set the type. Returns the previous value.
source§

fn set_subject(&mut self, subject: Option<impl Into<String>>) -> Option<String>

Set the subject. Returns the previous value.
source§

fn set_time( &mut self, time: Option<impl Into<DateTime<Utc>>>, ) -> Option<DateTime<Utc>>

Set the time. Returns the previous value.
source§

fn set_datacontenttype( &mut self, datacontenttype: Option<impl Into<String>>, ) -> Option<String>

Set the datacontenttype. Returns the previous value.
source§

fn set_dataschema(&mut self, dataschema: Option<impl Into<Url>>) -> Option<Url>

Set the dataschema. Returns the previous value.
source§

impl BinaryDeserializer for Event

source§

fn deserialize_binary<R: Sized, V: BinarySerializer<R>>( self, visitor: V, ) -> Result<R>

Deserialize the message to BinarySerializer.
source§

fn into_event(self) -> Result<Event>

Convert this Message to Event.
source§

impl Clone for Event

source§

fn clone(&self) -> Event

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Event

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Event

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Event

source§

fn deserialize<D>( deserializer: D, ) -> Result<Self, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for Event

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Event> for EventBuilder

source§

fn from(event: Event) -> Self

Converts to this type from the input type.
source§

impl From<Event> for EventBuilder

source§

fn from(event: Event) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Event

source§

fn eq(&self, other: &Event) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Event

source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuredDeserializer for Event

source§

fn deserialize_structured<R, V: StructuredSerializer<R>>( self, visitor: V, ) -> Result<R>

Deserialize the message to StructuredSerializer.
source§

fn into_event(self) -> Result<Event>

Convert this Message to Event.
source§

impl Eq for Event

source§

impl StructuralPartialEq for Event

Auto Trait Implementations§

§

impl Freeze for Event

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnwindSafe for Event

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T