# 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"
name = "moosicbox_tunnel_server"
version = "0.2.0"
authors = ["Braden Steffaniak"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "moosicbox_tunnel_server"
description = "MoosicBox tunnel server package"
readme = "README.md"
keywords = [
    "api",
    "server",
    "tunnel",
    "websocket",
]
categories = ["network-programming"]
license = "MPL-2.0"
repository = "https://github.com/MoosicBox/MoosicBox"

[package.metadata]
examples = false
tests = false

[package.metadata.cargo-machete]
ignored = ["strum"]

[features]
base64 = ["moosicbox_tunnel/base64"]
default = [
    "base64",
    "postgres-native-tls",
    "postgres-openssl",
    "postgres-raw",
    "postgres-sqlx",
    "telemetry",
]
fail-on-warnings = [
    "moosicbox_assert/fail-on-warnings",
    "moosicbox_async_service/fail-on-warnings",
    "moosicbox_env_utils/fail-on-warnings",
    "moosicbox_json_utils/fail-on-warnings",
    "moosicbox_log_runtime/fail-on-warnings",
    "moosicbox_middleware/fail-on-warnings",
    "moosicbox_profiles/fail-on-warnings",
    "moosicbox_tunnel/fail-on-warnings",
    "switchy_async/fail-on-warnings",
    "switchy_database/fail-on-warnings",
    "switchy_database_connection/fail-on-warnings",
    "switchy_env/fail-on-warnings",
    "switchy_http/fail-on-warnings",
    "switchy_random/fail-on-warnings",
    "switchy_telemetry?/fail-on-warnings",
    "switchy_time/fail-on-warnings",
    "switchy_uuid/fail-on-warnings",
]
postgres = [
    "switchy_database/postgres",
    "switchy_database_connection/creds",
    "switchy_database_connection/postgres",
    "switchy_database_connection/tls",
]
postgres-native-tls = [
    "postgres",
    "switchy_database_connection/postgres-native-tls",
]
postgres-openssl = [
    "postgres",
    "switchy_database_connection/postgres-openssl",
]
postgres-raw = [
    "postgres",
    "switchy_database/postgres-raw",
    "switchy_database_connection/postgres-raw",
]
postgres-sqlx = [
    "postgres",
    "switchy_database/postgres-sqlx",
    "switchy_database_connection/postgres-sqlx",
]
sqlite = [
    "switchy_database/sqlite",
    "switchy_database_connection/sqlite",
    "switchy_database_connection/sqlite-sqlx",
]
telemetry = [
    "dep:switchy_telemetry",
    "dep:tracing",
]

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

[[bin]]
name = "moosicbox_tunnel_server"
path = "src/main.rs"

[dependencies.actix-cors]
version = "0.7.1"

[dependencies.actix-web]
version = "4.13.0"

[dependencies.actix-ws]
version = "0.4.0"

[dependencies.bytes]
version = "1.11.1"

[dependencies.chrono]
version = "0.4.44"
features = [
    "clock",
    "serde",
]
default-features = false

[dependencies.console-subscriber]
version = "0.5.0"

[dependencies.futures-util]
version = "0.3.32"
features = ["std"]
default-features = false

[dependencies.hex]
version = "0.4.3"

[dependencies.log]
version = "0.4.29"
features = ["release_max_level_trace"]

[dependencies.moosicbox_assert]
version = "0.2.0"
default-features = false

[dependencies.moosicbox_async_service]
version = "0.2.0"
default-features = false

[dependencies.moosicbox_env_utils]
version = "0.2.0"
default-features = false

[dependencies.moosicbox_json_utils]
version = "0.2.0"
features = ["database"]
default-features = false

[dependencies.moosicbox_log_runtime]
version = "0.2.0"
features = [
    "env-filter",
    "file",
    "layer-ext",
    "log-compat",
]
default-features = false

[dependencies.moosicbox_middleware]
version = "0.2.0"
default-features = false

[dependencies.moosicbox_profiles]
version = "0.2.0"
features = ["api"]
default-features = false

[dependencies.moosicbox_tunnel]
version = "0.2.0"
default-features = false

[dependencies.qstring]
version = "0.7.2"

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

[dependencies.serde_json]
version = "1.0.149"

[dependencies.sha2]
version = "0.11.0"

[dependencies.strum]
version = "0.28.0"

[dependencies.strum_macros]
version = "0.28.0"

[dependencies.subtle]
version = "2.6.1"

[dependencies.switchy_async]
version = "0.2.0"
features = [
    "sync",
    "tokio",
]
default-features = false

[dependencies.switchy_database]
version = "0.2.0"
features = ["api"]
default-features = false

[dependencies.switchy_database_connection]
version = "0.2.0"
default-features = false

[dependencies.switchy_env]
version = "0.2.0"
features = ["std"]
default-features = false

[dependencies.switchy_http]
version = "0.2.0"
features = ["serde"]
default-features = false

[dependencies.switchy_random]
version = "0.2.0"
features = ["rand"]
default-features = false

[dependencies.switchy_telemetry]
version = "0.2.0"
features = ["actix"]
optional = true
default-features = false

[dependencies.switchy_time]
version = "0.2.0"
features = ["std"]
default-features = false

[dependencies.switchy_uuid]
version = "0.2.0"
features = ["uuid"]
default-features = false

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio]
version = "1.52.3"
features = [
    "macros",
    "rt-multi-thread",
    "tracing",
]

[dependencies.tracing]
version = "0.1.44"
optional = true
