[package] name = "cloudevents-sdk" version = "0.4.0" authors = ["Francesco Guardiani "] license-file = "LICENSE" edition = "2018" description = "CloudEvents official Rust SDK" documentation = "https://docs.rs/cloudevents-sdk" readme = "README.md" repository = "https://github.com/cloudevents/sdk-rust" exclude = [ ".github/*" ] categories = ["web-programming", "encoding", "data-structures"] [lib] name = "cloudevents" [features] http-binding = ["async-trait", "bytes", "futures", "http"] actix = ["actix-web", "actix-http", "async-trait", "bytes", "futures", "http"] reqwest = ["reqwest-lib", "async-trait", "bytes", "http"] rdkafka = ["rdkafka-lib", "bytes", "futures"] warp = ["warp-lib", "bytes", "http", "hyper"] axum = ["bytes", "http", "hyper", "axum-lib", "http-body", "async-trait"] poem = ["bytes", "http", "poem-lib", "hyper", "async-trait"] [dependencies] serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" chrono = { version = "^0.4", features = ["serde"] } delegate-attr = "^0.2" base64 = "^0.12" url = { version = "^2.1", features = ["serde"] } snafu = "^0.6" bitflags = "^1.2" # runtime optional deps actix-web = { version = "=4.0.0-beta.19", default-features = false, optional = true } actix-http = { version = "=3.0.0-beta.18", default-features = false, optional = true } reqwest-lib = { version = "^0.11", default-features = false, features = ["rustls-tls"], optional = true, package = "reqwest" } rdkafka-lib = { version = "^0.28", features = ["cmake-build"], optional = true, package = "rdkafka" } warp-lib = { version = "^0.3", optional = true, package = "warp" } async-trait = { version = "^0.1.33", optional = true } bytes = { version = "^1.0", optional = true } futures = { version = "^0.3", optional = true } http = { version = "0.2", optional = true } hyper = { version = "^0.14", optional = true } axum-lib = { version = "^0.4", optional = true , package="axum"} http-body = { version = "^0.4", optional = true } poem-lib = { version = "=1.2.34", optional = true, package = "poem" } [target."cfg(not(target_arch = \"wasm32\"))".dependencies] hostname = "^0.3" uuid = { version = "^0.8", features = ["v4"] } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] web-sys = { version = "^0.3", features = ["Window", "Location"] } uuid = { version = "^0.8", features = ["v4", "wasm-bindgen"] } [target.'cfg(all(target_arch = "wasm32", target_os="wasi"))'.dependencies] uuid = { version = "^0.8", features = ["v4"] } [dev-dependencies] rstest = "0.6" claim = "0.3.1" version-sync = "0.9.2" serde_yaml = "0.8" # runtime dev-deps actix-rt = { version = "^2" } url = { version = "^2.1", features = ["serde"] } serde_json = { version = "^1.0" } chrono = { version = "^0.4", features = ["serde"] } mockito = "0.25.1" tokio = { version = "^1.0", features = ["full"] } mime = "0.3" tower = { version = "0.4", features = ["util"] }