pubnub 0.7.0

PubNub SDK for Rust
Documentation
[build-dependencies.built]
version = "0.6"

[dependencies.aes]
optional = true
version = "0.8.2"

[dependencies.async-channel]
optional = true
version = "1.8"

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
default-features = false
features = ["alloc"]
version = "0.21"

[dependencies.bytes]
default-features = false
optional = true
version = "1.4"

[dependencies.cbc]
optional = true
version = "0.1.2"

[dependencies.ciborium]
default-features = false
optional = true
version = "0.2.1"

[dependencies.derive_builder]
default-features = false
version = "0.12.0"

[dependencies.futures]
default-features = false
optional = true
version = "0.3.28"

[dependencies.getrandom]
optional = true
version = "0.3"

[dependencies.hashbrown]
version = "0.14.0"

[dependencies.hmac]
version = "0.12"

[dependencies.log]
default-features = false
version = "0.4"

[dependencies.percent-encoding]
default-features = false
version = "2.1"

[dependencies.phantom-type]
default-features = false
version = "0.4.2"

[dependencies.portable-atomic]
default-features = false
features = ["require-cas", "critical-section"]
optional = true
version = "1.3"

[dependencies.rand]
default-features = false
version = "0.8.5"

[dependencies.reqwest]
optional = true
version = "0.12"

[dependencies.serde]
default-features = false
features = ["derive", "alloc"]
optional = true
version = "1.0"

[dependencies.serde_json]
default-features = false
features = ["alloc"]
optional = true
version = "1.0"

[dependencies.sha2]
default-features = false
version = "0.10"

[dependencies.snafu]
default-features = false
features = ["rust_1_46"]
version = "0.7"

[dependencies.spin]
version = "0.9"

[dependencies.time]
default-features = false
features = ["alloc"]
version = "0.3"

[dependencies.tokio]
features = ["rt-multi-thread", "macros", "time"]
optional = true
version = "1"

[dependencies.uuid]
default-features = false
features = ["v4"]
version = "1.3"

[dev-dependencies.async-trait]
version = "0.1"

[dev-dependencies.cucumber]
features = ["output-junit"]
version = "0.20.2"

[dev-dependencies.env_logger]
version = "0.10"

[dev-dependencies.getrandom]
version = "0.3"

[dev-dependencies.hashbrown]
features = ["serde"]
version = "0.14.0"

[dev-dependencies.reqwest]
features = ["json"]
version = "0.12"

[dev-dependencies.test-case]
version = "3.0"

[dev-dependencies.tokio]
features = ["rt-multi-thread", "macros", "time"]
version = "1"

[dev-dependencies.wiremock]
version = "0.5"

[[example]]
name = "crypto"
path = "examples/crypto.rs"
required-features = ["default", "crypto"]

[[example]]
name = "custom_origin"
path = "examples/custom_origin.rs"
required-features = ["default"]

[[example]]
name = "here_now"
path = "examples/here_now.rs"
required-features = ["default", "presence"]

[[example]]
name = "here_now_blocking"
path = "examples/here_now_blocking.rs"
required-features = ["default", "blocking", "presence"]

[[example]]
name = "pam"
path = "examples/pam.rs"
required-features = ["default", "parse_token", "access"]

[[example]]
name = "pam_blocking"
path = "examples/pam_blocking.rs"
required-features = ["default", "blocking", "access"]

[[example]]
name = "presence_state"
path = "examples/presence_state.rs"
required-features = ["default", "presence"]

[[example]]
name = "presence_state_blocking"
path = "examples/presence_state_blocking.rs"
required-features = ["default", "blocking", "presence"]

[[example]]
name = "publish"
path = "examples/publish.rs"
required-features = ["default"]

[[example]]
name = "publish_blocking"
path = "examples/publish_blocking.rs"
required-features = ["default", "blocking"]

[[example]]
name = "subscribe"
path = "examples/subscribe.rs"
required-features = ["default", "subscribe"]

[[example]]
name = "subscribe_raw"
path = "examples/subscribe_raw.rs"
required-features = ["default", "subscribe"]

[[example]]
name = "subscribe_raw_blocking"
path = "examples/subscribe_raw_blocking.rs"
required-features = ["default", "subscribe"]

[[example]]
name = "subscribe_with_presence_state"
path = "examples/subscribe_with_presence_state.rs"
required-features = ["default", "subscribe", "presence"]

[[example]]
name = "where_now"
path = "examples/where_now.rs"
required-features = ["default", "presence"]

[[example]]
name = "where_now_blocking"
path = "examples/where_now_blocking.rs"
required-features = ["default", "blocking", "presence"]

[features]
access = []
blocking = ["reqwest?/blocking"]
contract_test = ["parse_token", "publish", "access", "crypto", "std", "subscribe", "presence", "tokio"]
crypto = ["dep:aes", "dep:cbc", "getrandom"]
default = ["publish", "subscribe", "serde", "reqwest", "std", "blocking", "tokio"]
extra_platforms = ["spin/portable_atomic", "dep:portable-atomic"]
full = ["publish", "subscribe", "presence", "access", "serde", "reqwest", "crypto", "parse_token", "blocking", "std", "tokio"]
full_no_std = ["serde", "reqwest", "crypto", "parse_token", "blocking", "publish", "access", "subscribe", "tokio", "presence"]
full_no_std_platform_independent = ["serde", "crypto", "parse_token", "blocking", "publish", "access", "subscribe", "presence"]
parse_token = ["dep:ciborium"]
presence = ["dep:futures"]
publish = []
pubnub_only = ["crypto", "parse_token", "blocking", "publish", "access", "subscribe", "presence"]
reqwest = ["dep:reqwest", "dep:bytes"]
serde = ["dep:serde", "dep:serde_json", "hashbrown/serde"]
std = ["derive_builder/std", "log/std", "uuid/std", "base64/std", "spin/std", "snafu/std", "hmac/std", "sha2/std", "time/std", "bytes?/std", "getrandom/std", "rand/default", "serde?/std", "serde_json?/std", "ciborium?/std", "futures?/std", "futures?/async-await", "dep:async-channel"]
subscribe = ["dep:futures"]
tokio = ["dep:tokio"]

[lib]
name = "pubnub"
path = "src/lib.rs"

[package]
authors = ["PubNub <support@pubnub.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["api-bindings", "asynchronous", "network-programming", "wasm"]
description = "PubNub SDK for Rust"
documentation = "https://docs.rs/pubnub/latest/pubnub"
edition = "2021"
homepage = "https://www.pubnub.com"
license-file = "LICENSE"
name = "pubnub"
readme = "README.md"
repository = "https://github.com/pubnub/rust"
version = "0.7.0"

[package.metadata.docs.rs]
all-features = true

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
features = ["wasm_js"]
version = "0.3"

[[test]]
harness = false
name = "contract_test"
path = "tests/contract_test.rs"
required-features = ["contract_test"]