[package]
name = "slack-morphism"
version = "2.6.0"
authors = ["Abdulla Abdurakhmanov <me@abdolence.dev>"]
edition = "2021"
license = "Apache-2.0"
description = "Slack Morphism is a modern client library for Slack Web/Events API/Socket Mode and Block Kit"
homepage = "https://github.com/abdolence/slack-morphism-rust"
repository = "https://github.com/abdolence/slack-morphism-rust"
documentation = "https://docs.rs/slack_morphism"
keywords = ["slack", "client"]
categories = ["api-bindings"]
readme = "README.md"
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE", "SECURITY.md"]
[badges]
maintenance = { status = "actively-developed" }
[lib]
name = "slack_morphism"
path = "src/lib.rs"
[features]
default = []
signature-verifier = ["dep:ring"]
hyper = ["dep:tokio", "dep:http-body-util", "dep:hyper", "dep:hyper-rustls", "dep:hyper-util", "dep:tokio-stream", "dep:tokio-tungstenite", "dep:signal-hook", "dep:signal-hook-tokio", "signature-verifier"]
axum = ["hyper", "dep:axum", "dep:tower"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = { version = "3.8", features = ["json"] }
rvstruct = "0.3"
rsb_derive = "0.5"
futures = "0.3"
futures-util = "0.3"
futures-locks = "0.7"
base64 = "0.22"
hex = "0.4"
tracing = "0.1"
ring = { version = "0.17", optional = true }
lazy_static = "1.4"
http = "1.1"
async-trait = "0.1"
bytes = "1"
rand = "0.8"
async-recursion = "1.0"
mime = "0.3"
mime_guess = "2"
chrono = { version = "0.4", default-features = false, features = ["clock", "std", "serde"] }
url = { version = "2.5", features = ["serde"] }
http-body-util = { version = "0.1", optional = true }
hyper = { version = "1.3", features = ["http2", "server", "client"], optional = true }
hyper-util = { version = "0.1", features = ["client", "client-legacy", "server"], optional = true }
tokio = { version = "1", features = ["bytes", "rt-multi-thread", "signal", "tracing"], optional = true }
tokio-stream = { version = "0.1", optional = true }
hyper-rustls = { version = "0.27", features = ["rustls-native-certs", "http2"], optional = true }
tokio-tungstenite = { version = "0.24.0", features = ["rustls-tls-native-roots"], optional = true }
axum = { version = "0.7", optional = true }
tower = { version = "0.5", optional = true }
[target.'cfg(not(windows))'.dependencies]
signal-hook = { version = "0.3", default-features = false, features = ["extended-siginfo"], optional = true }
signal-hook-tokio = { version = "0.3", default-features = false, features = ["futures-v0_3"], optional = true }
[target.'cfg(windows)'.dependencies]
ctrlc = { version = "3.4", features = ["termination"] }
[dev-dependencies]
cargo-husky = { version = "1", default-features = false, features = ["run-for-all", "prepush-hook", "run-cargo-fmt"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
hyper-proxy2 = "0.1"
hyper = { version = "1.3", features = ["full"] }
tokio = { version = "1", features = ["full"] }
[package.metadata.release]
tag-prefix = ""
[[example]]
name = "client"
path = "examples/client.rs"
required-features = ["hyper"]
[[example]]
name = "client_with_tracing"
path = "examples/client_with_tracing.rs"
required-features = ["hyper"]
[[example]]
name = "events_api_server"
path = "examples/events_api_server.rs"
required-features = ["hyper"]
[[example]]
name = "proxy_client"
path = "examples/proxy_client.rs"
required-features = ["hyper"]
[[example]]
name = "rate_control_client"
path = "examples/rate_control_client.rs"
required-features = ["hyper"]
[[example]]
name = "socket_mode"
path = "examples/socket_mode.rs"
required-features = ["hyper"]
[[example]]
name = "state_management"
path = "examples/state_management.rs"
required-features = ["hyper"]
[[example]]
name = "webhook_message"
path = "examples/webhook_message.rs"
required-features = ["hyper"]
[[example]]
name = "axum_events_api_server"
path = "examples/axum_events_api_server.rs"
required-features = ["axum"]