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