Rust library to interact with CloudEvents
Go to file
Francesco Guardiani 94a134c44e
Refactored iterator methods of Event (#66)
* Refactored a bit the iterator entry point

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* cargo fmt

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-08-04 08:26:18 +02:00
.github/workflows Reqwest wasm example (#43) 2020-05-20 11:37:55 +02:00
cloudevents-sdk-actix-web Proper BinarySerializer & StructuredSerializer implementations for Event (#61) 2020-07-28 09:52:58 +02:00
cloudevents-sdk-reqwest Proper BinarySerializer & StructuredSerializer implementations for Event (#61) 2020-07-28 09:52:58 +02:00
example-projects Bump elliptic in /example-projects/reqwest-wasm-example (#65) 2020-08-03 08:34:45 +02:00
src Refactored iterator methods of Event (#66) 2020-08-04 08:26:18 +02:00
tests Refactored iterator methods of Event (#66) 2020-08-04 08:26:18 +02:00
.gitignore Added actix-web example (#38) 2020-05-18 20:57:37 +02:00
CONTRIBUTING.md Reorganized symbol exports for 0.1 release (#45) 2020-05-20 11:43:47 +02:00
Cargo.toml Removed cloudevents::event::SPEC_VERSION_ATTRIBUTES (#52) 2020-05-26 15:28:51 +02:00
LICENSE License nit 2020-02-18 14:20:25 +01:00
README.md Fixed all readmes (#51) 2020-05-29 14:04:44 +02:00

README.md

CloudEvents SDK Rust Crates badge Docs badge

This project implements the CloudEvents Spec for Rust.

Note: This project is WIP under active development, hence all APIs are considered unstable.

Spec support

v0.3 v1.0
CloudEvents Core
AMQP Protocol Binding
AVRO Event Format
HTTP Protocol Binding
JSON Event Format
Kafka Protocol Binding
MQTT Protocol Binding
NATS Protocol Binding
Web hook

Crates

  • cloudevents-sdk: Provides Event data structure, JSON Event format implementation. This module is tested to work with GNU libc, WASM and musl toolchains.
  • cloudevents-sdk-actix-web: Integration with Actix Web.
  • cloudevents-sdk-reqwest: Integration with reqwest.

Get Started

To get started, add the dependency to Cargo.toml:

cloudevents-sdk = "0.1.0"

Now you can start creating events:

use cloudevents::{EventBuilder, EventBuilderV10};
use url::Url;

let event = EventBuilderV10::new()
    .id("aaa")
    .source(Url::parse("http://localhost").unwrap())
    .ty("example.demo")
    .build()
    .unwrap();

Checkout the examples using our integrations with actix-web and reqwest to learn how to send and receive events:

Development & Contributing

If you're interested in contributing to sdk-rust, look at Contributing documentation

Community