[package] name = "gotify" version = "0.4.0" edition = "2021" description = "Idiomatic client for the Gotify API" repository = "https://github.com/d-k-bo/gotify-rs" authors = ["d-k-bo "] license = "MIT" categories = ["api-bindings"] keywords = ["gotify", "notify", "notifications", "push-notifications"] [features] default = ["native-tls"] # Enable all features full = ["app", "client"] # Create messages app = [] # Manage the server, use `manage-*` or `websocket` for finer grained control client = [ "manage-applications", "manage-clients", "manage-messages", "manage-plugins", "manage-users", "websocket", ] client-core = [] # Create, read, update and delete applications or modify application images manage-applications = ["client-core"] # List, create, update or delete clients manage-clients = ["client-core"] # List or delete messages manage-messages = ["client-core"] # List or configure plugins manage-plugins = ["client-core"] # List, create, update or delete users manage-users = ["client-core"] # Subscribe to newly created messages via a websocket websocket = ["client-core", "dep:async-stream", "dep:futures-util", "dep:tokio-tungstenite"] # Enable the `native-tls` feature on reqwest native-tls = ["reqwest/native-tls"] # Enable the `rustls-tls` feature on reqwest rustls-tls = ["reqwest/rustls-tls"] [dependencies] async-stream = { version = "0.3.5", optional = true } futures-util = { version = "0.3.28", optional = true } paste = "1.0.14" reqwest = { version = "0.11.12", features = ["json", "multipart"], default-features = false } serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0.86" thiserror = "1.0.37" time = { version = "0.3.25", features = ["serde", "parsing", "formatting"] } tokio-tungstenite = { version = "0.20.0", optional = true } url = "2.3.1" [dev-dependencies] eyre = "0.6.8" futures-util = "0.3.28" macro_rules_attribute = "0.2.0" tokio = { version = "1.21.2", features = ["macros", "rt-multi-thread", "time"] } zip = { version = "0.6.6", default-features = false, features = ["deflate"] } # see https://stackoverflow.com/a/61417700/14750360 [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]