[package]
name = "docspec-http"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
description = "HTTP API server for DocSpec document conversion"
keywords = ["document", "conversion", "streaming", "http", "api"]
categories = ["network-programming", "web-programming"]

# Docker (ghcr.io/docspec/api) is the canonical artifact; no prebuilt binary tarballs.
[package.metadata.dist]
dist = false

[dependencies]
axum = "0.8"
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = [
  "rt-multi-thread",
  "macros",
  "signal",
  "net",
] }
tower = "0.5"
tower-http = { version = "0.6", features = [
  "trace",
  "request-id",
  "util",
  "set-header",
] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt"] }
mime = "0.3"
metrics = "0.24"
metrics-exporter-prometheus = { version = "0.18", default-features = false }
thiserror = "2"
sentry = { version = "0.48", default-features = false, features = [
  "backtrace",
  "contexts",
  "panic",
  "tower",
  "tower-http",
  "tracing",
  "reqwest",
  "rustls",
] }
docspec-core = { workspace = true }
docspec-json = { workspace = true }
docspec = { workspace = true, features = ["full"] }

[dev-dependencies]
tower = { version = "0.5", features = ["util"] }
serde_json = "1"
reqwest = { version = "0.13", features = ["blocking", "json"] }
uuid = "1"
docspec-test-utils = { workspace = true }
sentry = { version = "0.48", default-features = false, features = [
  "backtrace",
  "contexts",
  "panic",
  "tower",
  "tower-http",
  "tracing",
  "reqwest",
  "rustls",
  "test",
] }

[lints]
workspace = true
