sylvia-iot-broker 0.2.0

The message broker module of the Sylvia-IoT platform.
Documentation
[package]
name = "sylvia-iot-broker"
version = "0.2.0"
authors = ["Chien-Hong Chan"]
categories = ["web-programming::http-server"]
description = "The message broker module of the Sylvia-IoT platform."
edition = "2021"
keywords = ["iot"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/woofdogtw/sylvia-iot-core.git"
rust-version = "1.75"

[dependencies]
async-stream = "0.3.6"
async-trait = "0.1.85"
axum = "0.8.1"
axum-prometheus = "0.8.0"
axum-server = { version = "0.7.1", features = ["tls-rustls"] }
bson = { version = "2.13.0", features = ["chrono-0_4"] }
chrono = { version = "0.4.39", default-features = false, features = ["serde"] }
clap = { version = "4.5.26", default-features = false, features = [
    "std",
    "help",
    "usage",
    "error-context",
] }
futures = "0.3.31"
general-mq = "0.2.0"
hex = "0.4.3"
json5 = "0.4.1"
log = "0.4.22"
lru = "0.12.5"
mongodb = "3.1.1"
reqwest = { version = "0.12.12", default-features = false, features = [
    "json",
    "rustls-tls",
] }
rustls = "0.23.21"
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.135"
sql-builder = "3.1.1"
sqlx = { version = "0.8.3", default-features = false, features = [
    "macros",
    "runtime-tokio",
    "sqlite",
] }
sylvia-iot-corelib = "0.2.0"
tokio = { version = "1.43.0", features = [
    "io-util",
    "macros",
    "rt-multi-thread",
    "sync",
    "time",
] }
tower = "0.5.2"
tower-http = { version = "0.6.2", default-features = false, features = [
    "cors",
    "fs",
    "normalize-path",
    "timeout",
] }
url = "2.5.4"

[dev-dependencies]
axum-test = "17.0.1"
laboratory = "2.0.0"
serde_urlencoded = "0.7.1"
sylvia-iot-auth = "0.2.0"

[profile.release]
codegen-units = 1
lto = true
strip = true

[profile.test]
incremental = true