# 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 = "2018"
name = "warp"
version = "0.3.6"
authors = ["Sean McArthur <sean@seanmonstar.com>"]
autoexamples = true
autotests = true
description = "serve the web at warp speeds"
documentation = "https://docs.rs/warp"
readme = "README.md"
keywords = [
    "warp",
    "server",
    "http",
    "hyper",
]
categories = ["web-programming::http-server"]
license = "MIT"
repository = "https://github.com/seanmonstar/warp"

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

[profile.bench]
codegen-units = 1
incremental = false

[profile.release]
codegen-units = 1
incremental = false

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

[[example]]
name = "unix_socket"

[[example]]
name = "websockets"
required-features = ["websocket"]

[[example]]
name = "websockets_chat"
required-features = ["websocket"]

[[example]]
name = "query_string"

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

[[test]]
name = "multipart"
required-features = ["multipart"]

[[test]]
name = "ws"
required-features = ["websocket"]

[dependencies]
bytes = "1.0"
headers = "0.3"
http = "0.2"
log = "0.4"
mime = "0.3"
mime_guess = "2.0.0"
percent-encoding = "2.1"
pin-project = "1.0"
scoped-tls = "1.0"
serde = "1.0"
serde_json = "1.0"
serde_urlencoded = "0.7"
tokio-stream = "0.1.1"
tower-service = "0.3"

[dependencies.async-compression]
version = "0.3.7"
features = ["tokio"]
optional = true

[dependencies.futures-channel]
version = "0.3.17"
features = ["sink"]

[dependencies.futures-util]
version = "0.3"
features = ["sink"]
default-features = false

[dependencies.hyper]
version = "0.14"
features = [
    "stream",
    "server",
    "http1",
    "http2",
    "tcp",
    "client",
]

[dependencies.multer]
version = "2.1.0"
optional = true

[dependencies.rustls-pemfile]
version = "1.0"
optional = true

[dependencies.tokio]
version = "1.0"
features = [
    "fs",
    "sync",
    "time",
]

[dependencies.tokio-rustls]
version = "0.24"
optional = true

[dependencies.tokio-tungstenite]
version = "0.20"
optional = true

[dependencies.tokio-util]
version = "0.7"
features = ["io"]

[dependencies.tracing]
version = "0.1.21"
features = [
    "log",
    "std",
]
default-features = false

[dev-dependencies]
handlebars = "4.0"
listenfd = "1.0"
pretty_env_logger = "0.5"
serde_derive = "1.0"
tracing-log = "0.1"

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

[dev-dependencies.tokio-stream]
version = "0.1.1"
features = ["net"]

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[features]
compression = [
    "compression-brotli",
    "compression-gzip",
]
compression-brotli = ["async-compression/brotli"]
compression-gzip = [
    "async-compression/deflate",
    "async-compression/gzip",
]
default = [
    "multipart",
    "websocket",
]
multipart = ["multer"]
tls = [
    "tokio-rustls",
    "rustls-pemfile",
]
websocket = ["tokio-tungstenite"]