# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "hwhkit"
version = "0.2.0-alpha.2"
authors = ["louishwh"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "一个用于快速构建 Web 服务的 Rust 工具库"
homepage = "https://louishwh.tech"
readme = "README.md"
keywords = [
    "web",
    "framework",
    "axum",
    "middleware",
    "builder",
]
categories = [
    "web-programming",
    "web-programming::http-server",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/louishwh/hwhkit-rs"

[features]
config-v2 = [
    "dep:hwhkit-config",
    "dep:hwhkit-core",
    "dep:hwhkit-observability",
]
default = []
full = [
    "templates",
    "jwt",
    "config-v2",
    "transport-grpc",
    "transport-ws",
    "postgres",
    "redis",
    "mongodb",
    "nats",
    "qdrant",
    "neo4j",
    "macros",
]
jwt = [
    "jsonwebtoken",
    "chrono",
]
macros = ["dep:hwhkit-macros"]
mongodb = ["dep:hwhkit-integration-mongodb"]
nats = ["dep:hwhkit-integration-nats"]
neo4j = ["dep:hwhkit-integration-neo4j"]
postgres = ["dep:hwhkit-integration-postgres"]
qdrant = ["dep:hwhkit-integration-qdrant"]
redis = ["dep:hwhkit-integration-redis"]
templates = ["tera"]
testing = ["tempfile"]
transport-grpc = [
    "dep:hwhkit-transport",
    "hwhkit-transport/grpc",
]
transport-p2p = [
    "dep:hwhkit-transport",
    "hwhkit-transport/p2p",
]
transport-ws = [
    "dep:hwhkit-transport",
    "hwhkit-transport/ws",
]

[lib]
name = "hwhkit"
path = "src/lib.rs"

[[example]]
name = "api-server"
path = "examples/api-server.rs"

[[example]]
name = "full-server"
path = "examples/full-server.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.axum]
version = "0.7"

[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true

[dependencies.hwhkit-config]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-core]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-mongodb]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-nats]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-neo4j]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-postgres]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-qdrant]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-integration-redis]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-macros]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-observability]
version = "0.2.0-alpha.2"
optional = true

[dependencies.hwhkit-transport]
version = "0.2.0-alpha.2"
optional = true

[dependencies.jsonwebtoken]
version = "9.2"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.tempfile]
version = "3.8"
optional = true

[dependencies.tera]
version = "1.19"
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = ["full"]

[dependencies.toml]
version = "0.8"

[dependencies.tower]
version = "0.4"
features = ["util"]

[dependencies.tower-http]
version = "0.5"
features = [
    "fs",
    "cors",
    "trace",
]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.tokio-test]
version = "0.4"
