nanoservices-utils 0.1.6

A collection of utilities for nanoservices
Documentation

[package]
name = "nanoservices-utils"
version = "0.1.6"
edition = "2021"
authors = ["Maxwell Flitton", "Caroline Morton"]
description = "A collection of utilities for nanoservices"
license = "MIT"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[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"

# below is for messaging serialization
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"
]