[package]
name = "mock-collector"
version = "0.2.11"
edition = "2024"
authors = ["Daniel Verrall"]
rust-version = "1.91.1"
description = "Mock OpenTelemetry OTLP collector server for testing"
license = "MIT"
repository = "https://github.com/djvcom/mock-collector"
homepage = "https://github.com/djvcom/mock-collector"
documentation = "https://docs.rs/mock-collector"
keywords = ["opentelemetry", "testing", "mock", "otlp", "observability"]
categories = ["development-tools::testing"]
readme = "README.md"
exclude = [
    ".gitmodules",
    "opentelemetry-proto-examples/",
]

[dependencies]
axum = "0.8.9"
opentelemetry-otlp = { version = "0.31.1", default-features = false, features = ["http-proto"] }
opentelemetry-proto = "0.31.0"
prost = "0.14.3"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
thiserror = "2.0.18"
tokio = { version = "1.52.0", features = ["macros", "net", "rt-multi-thread", "sync"] }
tokio-stream = "0.1.18"
tonic = { version = "0.14.5", features = ["gzip", "zstd"] }
tower-http = { version = "0.6.8", default-features = false, features = ["decompression-gzip", "decompression-zstd"] }

[dev-dependencies]
flate2 = "1.1.9"
opentelemetry = "0.31.0"
reqwest = { version = "0.12.28", features = ["json", "rustls-tls"], default-features = false }
tracing = "0.1.44"
zstd = "0.13.3"

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
