[[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]
default-features = false
features = [
    "clock",
    "serde",
]
version = "0.4.44"

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

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

[dependencies.hex]
version = "0.4.3"

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

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

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

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

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

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

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

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

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

[dependencies.qstring]
version = "0.7.2"

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

[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]
default-features = false
features = [
    "sync",
    "tokio",
]
version = "0.2.0"

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

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

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

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

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

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

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

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

[dependencies.thiserror]
version = "2.0.18"

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

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

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

[package]
authors = ["Braden Steffaniak"]
build = "build.rs"
categories = ["network-programming"]
default-run = "moosicbox_tunnel_server"
description = "MoosicBox tunnel server package"
edition = "2024"
keywords = [
    "api",
    "server",
    "tunnel",
    "websocket",
]
license = "MPL-2.0"
name = "moosicbox_tunnel_server"
readme = "README.md"
repository = "https://github.com/MoosicBox/MoosicBox"
version = "0.2.0"

[package.metadata]
examples = false
tests = false

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