[package]
edition = "2021"
name = "witchcraft-server"
version = "6.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A highly opinionated embedded application server for RESTy APIs, compatible with the Witchcraft ecosystem"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/palantir/witchcraft-rust-server"
[[package.metadata.sls.diagnostics]]
docs = "All supported diagnostic types returnable from the server."
type = "diagnostic.types.v1"
[[package.metadata.sls.diagnostics]]
docs = "All currently emitted metrics and their tags."
type = "metric.names.v1"
[[package.metadata.sls.diagnostics]]
docs = "Statistics about the memory allocator, in jemalloc's default text format."
type = "rust.heap.stats.v1"
[[package.metadata.sls.diagnostics]]
docs = "A sample of live allocations, in the jemalloc profile format."
type = "rust.heap.profile.v1"
[[package.metadata.sls.diagnostics]]
docs = "A recording of running threads and their respective stacktraces."
type = "rust.thread.dump.v1"
[features]
default = ["jemalloc"]
jemalloc = [
"dep:tikv-jemalloc-ctl",
"dep:tikv-jemallocator",
]
[lib]
name = "witchcraft_server"
path = "src/lib.rs"
[dependencies.arc-swap]
version = "1"
[dependencies.async-compression]
version = "0.4"
features = [
"tokio",
"gzip",
]
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
[dependencies.conjure-error]
version = "5.0.0"
[dependencies.conjure-http]
version = "5.0.0"
[dependencies.conjure-object]
version = "5.0.0"
[dependencies.conjure-runtime]
version = "7.0.0"
[dependencies.conjure-serde]
version = "5.0.0"
[dependencies.crash-handler]
version = "0.7"
[dependencies.flate2]
version = "1"
[dependencies.foreign-types]
version = "0.5"
[dependencies.futures]
version = "0.3.30"
features = ["executor"]
[dependencies.futures-channel]
version = "0.3"
[dependencies.futures-sink]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.http-zipkin]
version = "1.0"
[dependencies.hyper]
version = "1"
features = [
"http1",
"http2",
"server",
]
[dependencies.hyper-util]
version = "0.1"
features = ["tokio"]
[dependencies.itertools]
version = "0.14"
[dependencies.lazycell]
version = "1.3"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.minidump]
version = "0.26"
[dependencies.minidump-processor]
version = "0.26"
[dependencies.minidump-unwind]
version = "0.26"
features = ["debuginfo-symbols"]
[dependencies.minidump-writer]
version = "0.11"
[dependencies.minidumper]
version = "0.9"
[dependencies.once_cell]
version = "1"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pin-project]
version = "1"
[dependencies.rand]
version = "0.10"
[dependencies.refreshable]
version = "2"
[dependencies.regex]
version = "1"
[dependencies.rustls-pemfile]
version = "2"
[dependencies.rustls-pki-types]
version = "1.11.0"
[dependencies.rustls-webpki]
version = "0.103"
[dependencies.serde]
version = "1"
[dependencies.serde-encrypted-value]
version = "1.0"
[dependencies.serde-file-value]
version = "0.1"
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10.8"
[dependencies.socket2]
version = "0.6"
[dependencies.staged-builder]
version = "0.2.0"
[dependencies.subtle]
version = "2.5"
[dependencies.sync_wrapper]
version = "1.0"
[dependencies.tempfile]
version = "3.10.1"
[dependencies.tikv-jemalloc-ctl]
version = "0.6"
features = [
"stats",
"use_std",
]
optional = true
[dependencies.tikv-jemallocator]
version = "0.6"
features = [
"unprefixed_malloc_on_supported_platforms",
"background_threads",
"profiling",
]
optional = true
[dependencies.tokio]
version = "1.37"
features = [
"fs",
"macros",
"rt-multi-thread",
"signal",
"time",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"logging",
"tls12",
]
default-features = false
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
features = ["log"]
[dependencies.witchcraft-log]
version = "5.0.0"
[dependencies.witchcraft-log-util]
version = "2.0.0"
[dependencies.witchcraft-logging-api]
version = "2.0.0"
[dependencies.witchcraft-metrics]
version = "1"
[dependencies.witchcraft-server-config]
version = "6.3.0"
[dependencies.witchcraft-server-macros]
version = "6.3.0"
[dependencies.zipkin]
version = "1.0"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["test-util"]