# 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 = "2024"
rust-version = "1.92"
name = "efdn-gateway"
version = "0.3.0"
authors = [
    "Joshua Smotritsky",
    "Mike Smotritsky",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Shared foundations for Rust applications"
readme = false
license = "LicenseRef-Proprietary"
repository = "https://github.com/elios-ai/foundations"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
alloc-metrics = [
    "dep:efdn-alloc",
    "efdn-alloc/metrics",
    "efdn-telem/alloc-metrics",
]
config = [
    "dep:efdn-config",
    "dep:efdn-macros",
    "efdn-telem/config",
    "dep:humantime",
]
default = []
errors = [
    "dep:miette",
    "efdn-telem/errors",
]

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

[dependencies.bytes]
version = "1"

[dependencies.efdn-alloc]
version = "0.3.0"
optional = true

[dependencies.efdn-config]
version = "0.3.0"
optional = true

[dependencies.efdn-macros]
version = "0.3.0"
features = ["config"]
optional = true

[dependencies.efdn-telem]
version = "0.3.0"
features = ["metrics"]

[dependencies.http]
version = "1"

[dependencies.http-body-util]
version = "0.1"

[dependencies.humantime]
version = "2"
optional = true

[dependencies.hyper]
version = "1"
features = [
    "http1",
    "server",
]

[dependencies.hyper-util]
version = "0.1"
features = ["tokio"]

[dependencies.metrics]
version = "0.24.6"

[dependencies.miette]
version = "7"
optional = true

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

[dependencies.serde_json]
version = "1"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "net",
    "rt",
    "sync",
    "time",
]

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dependencies.tracing]
version = "0.1"

[lints.clippy]
dbg_macro = "warn"
todo = "warn"

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
