[package]
name = "tide"
version = "0.15.1"
description = "A minimal and pragmatic Rust web application framework built for rapid development"
authors = [
    "Aaron Turon <aturon@mozilla.com>",
    "Yoshua Wuyts <yoshuawuyts@gmail.com>",
    "Wonwoo Choi <chwo9843@gmail.com>",
]
documentation = "https://docs.rs/tide"
keywords = ["tide", "http", "web", "framework", "async"]
categories = [
  "network-programming",
  "asynchronous",
  "web-programming::http-server"
]
edition = "2018"
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/http-rs/tide"

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

[features]
default = ["h1-server", "cookies", "logger", "sessions"]
cookies = []
h1-server = ["async-h1"]
logger = ["femme"]
docs = ["unstable"]
sessions = ["async-session", "cookies"]
unstable = []

[dependencies]
async-h1 = { version = "2.1.2", optional = true }
async-session  = { version = "2.0.1", optional = true }
async-sse = "4.0.1"
async-std = { version = "1.6.5", features = ["unstable"] }
async-trait = "0.1.41"
femme = { version = "2.1.1", optional = true }
futures-util = "0.3.6"
http-client = { version = "6.1.0", default-features = false }
http-types = "2.5.0"
kv-log-macro = "1.0.7"
log = { version = "0.4.13", features = ["kv_unstable_std"] }
pin-project-lite = "0.1.10"
route-recognizer = "0.2.0"
serde = "1.0.117"
serde_json = "1.0.59"

[dev-dependencies]
async-std = { version = "1.6.5", features = ["unstable", "attributes"] }
criterion = "0.3.3"
juniper = "0.14.2"
lazy_static = "1.4.0"
logtest = "2.0.0"
portpicker = "0.1.0"
serde = { version = "1.0.117", features = ["derive"] }
surf = { version = "2.0.0", default-features = false, features = ["h1-client"] }
tempfile = "3.1.0"

[[test]]
name = "cookies"
path = "tests/cookies.rs"
required-features = ["cookies"]

[[test]]
name = "nested"
path = "tests/nested.rs"
required-features = ["unstable"]

[[test]]
name = "sessions"
path = "tests/sessions.rs"
required-features = ["sessions"]

[[bench]]
name = "router"
harness = false

[[example]]
name = "cookies"
required-features = ["cookies"]

[[example]]
name = "sessions"
required-features = ["sessions"]
