[package]
name = "http-types"
version = "3.0.0"
license = "MIT OR Apache-2.0"
repository = "https://github.com/http-rs/http-types"
documentation = "https://docs.rs/http-types"
description = "Common types for HTTP operations."
keywords = ["http", "types", "request", "response", "h2"]
categories = ["asynchronous", "web-programming", "web-programming::http-client", "web-programming::http-server", "web-programming::websocket"]
authors = ["Yoshua Wuyts <yoshuawuyts@gmail.com>"]
readme = "README.md"
edition = "2018"

[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "feature=\"docs\""]

[features]
default = ["fs", "cookie-secure", "serde"]
docs = ["unstable"]
unstable = []
hyperium_http = ["http"]
async_std = ["fs"]
cookies = ["cookie"]
cookie-secure = ["cookies", "cookie/secure"]
fs = ["async-std"]
serde = ["serde_qs", "serde_crate", "serde_json", "serde_urlencoded", "url/serde"]

[dependencies]
fastrand = "1.4.0"
base64 = "0.13.0"
futures-lite = "1.11.1"
async-channel = "1.5.1"
infer = "0.7.0"
pin-project-lite = "0.2.0"
url = "2.1.1"
anyhow = "1.0.26"

# features: async_std
async-std = { version = "1.6.0", optional = true }

# features: hyperium/http
http = { version = "0.2.0", optional = true }

# features: cookies
cookie = { version = "0.16.0", features = ["percent-encode"], optional = true }

# features: serde
serde_json = { version = "1.0.51", optional = true }
serde_crate = { version = "1.0.106", features = ["derive"], optional = true, package = "serde" }
serde_urlencoded = { version = "0.7.0", optional = true}
serde_qs = { version = "0.9.1", optional = true }


[dev-dependencies]
http = "0.2.0"
async-std = { version = "1.6.0", features = ["attributes"] }
