http-extract 0.1.3

trust-aware extraction of HTTP request metadata
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.96.0"
name = "http-extract"
version = "0.1.3"
authors = ["nivek-ph <h499871809@gmail.com>"]
build = false
include = [
    "/src/**",
    "/examples/**",
    "/Cargo.toml",
    "/README.md",
    "/LICENSE-APACHE",
    "/LICENSE-MIT",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "trust-aware extraction of HTTP request metadata"
homepage = "https://github.com/nivek-ph/http-extract"
documentation = "https://docs.rs/http-extract"
readme = "README.md"
keywords = [
    "http",
    "headers",
    "proxy",
    "forwarded",
]
categories = ["web-programming::http-server"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/nivek-ph/http-extract"

[package.metadata.docs.rs]
all-features = true

[features]
api-key = []
authority = []
authorization = []
axum = [
    "client-ip",
    "dep:axum",
]
client-ip = [
    "client-ip-headers",
    "forwarded",
    "x-forwarded",
]
client-ip-headers = []
content-type = ["dep:mime"]
default = [
    "api-key",
    "authority",
    "authorization",
    "request-id",
    "client-ip",
    "client-ip-headers",
    "content-type",
    "forwarded",
    "x-forwarded",
]
forwarded = []
request-id = []
x-forwarded = []

[lib]
name = "http_extract"
path = "src/lib.rs"

[[example]]
name = "axum-demo"
path = "examples/axum/main.rs"
required-features = [
    "api-key",
    "authority",
    "authorization",
    "axum",
    "client-ip",
    "content-type",
    "request-id",
]

[dependencies.axum]
version = "0.8"
features = ["tokio"]
optional = true
default-features = false

[dependencies.http]
version = "1"

[dependencies.mime]
version = "0.3"
optional = true

[dependencies.thiserror]
version = "2"

[dev-dependencies.axum]
version = "0.8.9"
features = [
    "http1",
    "json",
    "tokio",
]
default-features = false

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.tokio]
version = "1.48"
features = [
    "macros",
    "net",
    "rt-multi-thread",
]

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[dev-dependencies.tracing]
version = "0.1"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["fmt"]
default-features = false