# 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"
rust-version = "1.51"
name = "tungstenite"
version = "0.21.0"
authors = [
    "Alexey Galakhov",
    "Daniel Abramov",
]
include = [
    "benches/**/*",
    "src/**/*",
    "examples/**/*",
    "LICENSE-*",
    "README.md",
    "CHANGELOG.md",
]
description = "Lightweight stream-based WebSocket implementation"
homepage = "https://github.com/snapview/tungstenite-rs"
documentation = "https://docs.rs/tungstenite/0.21.0"
readme = "README.md"
keywords = [
    "websocket",
    "io",
    "web",
]
categories = [
    "web-programming::websocket",
    "network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/snapview/tungstenite-rs"

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

[[example]]
name = "client"
required-features = ["handshake"]

[[example]]
name = "server"
required-features = ["handshake"]

[[example]]
name = "autobahn-client"
required-features = ["handshake"]

[[example]]
name = "autobahn-server"
required-features = ["handshake"]

[[example]]
name = "callback-error"
required-features = ["handshake"]

[[example]]
name = "srv_accept_unmasked_frames"
required-features = ["handshake"]

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

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

[dependencies.byteorder]
version = "1.3.2"

[dependencies.bytes]
version = "1.0"

[dependencies.data-encoding]
version = "2"
optional = true

[dependencies.http]
version = "1.0"
optional = true

[dependencies.httparse]
version = "1.3.4"
optional = true

[dependencies.log]
version = "0.4.8"

[dependencies.native-tls-crate]
version = "0.2.3"
optional = true
package = "native-tls"

[dependencies.rand]
version = "0.8.0"

[dependencies.rustls]
version = "0.22.0"
optional = true

[dependencies.rustls-native-certs]
version = "0.7.0"
optional = true

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

[dependencies.sha1]
version = "0.10"
optional = true

[dependencies.thiserror]
version = "1.0.23"

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

[dependencies.utf-8]
version = "0.7.5"

[dependencies.webpki-roots]
version = "0.26"
optional = true

[dev-dependencies.criterion]
version = "0.5.0"

[dev-dependencies.env_logger]
version = "0.10.0"

[dev-dependencies.input_buffer]
version = "0.5.0"

[dev-dependencies.rand]
version = "0.8.4"

[dev-dependencies.socket2]
version = "0.5.5"

[features]
__rustls-tls = [
    "rustls",
    "rustls-pki-types",
]
default = ["handshake"]
handshake = [
    "data-encoding",
    "http",
    "httparse",
    "sha1",
    "url",
]
native-tls = ["native-tls-crate"]
native-tls-vendored = [
    "native-tls",
    "native-tls-crate/vendored",
]
rustls-tls-native-roots = [
    "__rustls-tls",
    "rustls-native-certs",
]
rustls-tls-webpki-roots = [
    "__rustls-tls",
    "webpki-roots",
]
