[package]
name = "conduwuit_api"
description.workspace = true
edition.workspace = true
license.workspace = true
readme.workspace = true
repository.workspace = true
version.workspace = true

[lib]
path = "mod.rs"
crate-type = [
	"rlib",
#	"dylib",
]

[features]
brotli_compression = [
	"conduwuit-core/brotli_compression",
	"conduwuit-service/brotli_compression",
	"reqwest/brotli",
]
element_hacks = [
	"conduwuit-service/element_hacks",
]
gzip_compression = [
	"conduwuit-core/gzip_compression",
	"conduwuit-service/gzip_compression",
	"reqwest/gzip",
]
http3 = [
	"conduwuit-core/http3",
	"conduwuit-service/http3",
]
io_uring = [
	"conduwuit-service/io_uring",
]
jemalloc = [
    "conduwuit-core/jemalloc",
    "conduwuit-service/jemalloc",
]
jemalloc_conf = [
	"conduwuit-core/jemalloc_conf",
	"conduwuit-service/jemalloc_conf",
]
jemalloc_prof = [
	"conduwuit-core/jemalloc_prof",
	"conduwuit-service/jemalloc_prof",
]
jemalloc_stats = [
	"conduwuit-core/jemalloc_stats",
	"conduwuit-service/jemalloc_stats",
]
ldap = [
    "conduwuit-service/ldap"
]
release_max_log_level = [
	"conduwuit-core/release_max_log_level",
	"conduwuit-service/release_max_log_level",
	"log/max_level_trace",
	"log/release_max_level_info",
	"tracing/max_level_trace",
	"tracing/release_max_level_info",
]
zstd_compression = [
	"conduwuit-core/zstd_compression",
	"conduwuit-service/zstd_compression",
	"reqwest/zstd",
]

[dependencies]
async-trait.workspace = true
axum-client-ip.workspace = true
axum-extra.workspace = true
axum.workspace = true
base64.workspace = true
bytes.workspace = true
conduwuit-core.workspace = true
conduwuit-service.workspace = true
const-str.workspace = true
futures.workspace = true
hmac.workspace = true
http.workspace = true
http-body-util.workspace = true
hyper.workspace = true
ipaddress.workspace = true
itertools.workspace = true
log.workspace = true
rand.workspace = true
reqwest.workspace = true
ruma.workspace = true
serde_html_form.workspace = true
serde_json.workspace = true
serde.workspace = true
sha1.workspace = true
tokio.workspace = true
tracing.workspace = true

[lints]
workspace = true
