[package]
name = "nanoservices-utils"
version = "0.1.6"
edition = "2021"
authors = ["Maxwell Flitton", "Caroline Morton"]
description = "A collection of utilities for nanoservices"
license = "MIT"
[dependencies]
actix-web = { version = "4.9.0", optional = true }
rocket = { version = "0.5.1", features = ["json"], optional = true }
axum = { version = "0.7.5", optional = true }
hyper = { version = "1.2.0", features = ["full"], optional = true}
serde_json = { version = "1.0.128", optional = true }
http-body-util = { version = "0.1.1", optional = true }
serde = { version = "1.0.197", features = ["derive"] }
thiserror = "1.0.58"
chrono = { version = "0.4.37", features = ["serde"] }
futures = "0.3.30"
jsonwebtoken = { version = "9.3.0", optional = true }
paste = "1.0.14"
bitcode = { version = "0.6.0", optional = false }
bincode = { version = "1.3.3", optional = true }
revision = { version = "0.10.0", optional = false }
tokio-util = { version = "0.7", features = ["codec"], optional = true }
bytes = { version = "1.6.0", optional = true }
tokio = { version = "1.37.0", optional = true }
[features]
actix = ["dep:actix-web"]
rocket = ["dep:rocket"]
axum = ["dep:axum"]
hyper = ["dep:hyper", "dep:serde_json", "dep:http-body-util"]
networking = ["dep:bincode", "dep:tokio-util", "dep:bytes"]
tcp-messaging = ["tokio/full", "networking"]
wasm-messaging = ["tokio/sync", "tokio/macros", "tokio/io-util", "tokio/rt", "tokio/time", "networking"]
jwt = ["dep:jsonwebtoken"]
full = [
"hyper",
"axum",
"actix",
"rocket",
"networking",
"tcp-messaging",
"wasm-messaging",
"jwt"
]