[package]
edition = "2021"
rust-version = "1.83"
name = "hostaddr"
version = "0.2.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-safe, validated DNS domain names, hosts, and host addresses with IDNA/punycode support. Generic over storage (`String`, `Arc<str>`, `Vec<u8>`, stack-allocated `Buffer`, etc.) and `no_std`/`no-alloc` compatible."
homepage = "https://github.com/al8n/hostaddr"
documentation = "https://docs.rs/hostaddr"
readme = "README.md"
keywords = [
"dns",
"domain",
"hostname",
"host",
"address",
]
categories = [
"network-programming",
"parser-implementations",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/al8n/hostaddr"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = [
"idna/alloc",
"idna/compiled_data",
"percent-encoding/alloc",
"memchr/alloc",
"tinyvec_1?/alloc",
"cheap-clone?/alloc",
]
arbitrary = [
"dep:arbitrary",
"smol_str_0_3?/arbitrary",
"tinyvec_1?/arbitrary",
"smallvec_1?/arbitrary",
]
bytes = ["bytes_1"]
bytes_1 = [
"dep:bytes_1",
"cheap-clone?/bytes_1",
"alloc",
]
default = ["std"]
serde = [
"dep:serde",
"smol_str_0_3?/serde",
"triomphe_0_1?/serde",
"bytes_1?/serde",
"smallvec_1?/serde",
"tinyvec_1?/serde",
]
smallvec = ["smallvec_1"]
smallvec_1 = [
"dep:smallvec_1",
"alloc",
]
smol_str = ["smol_str_0_3"]
smol_str_0_3 = [
"dep:smol_str_0_3",
"cheap-clone?/smol_str_0_3",
"alloc",
]
std = [
"idna/default",
"percent-encoding/default",
"thiserror/default",
"simdutf8/default",
"memchr/default",
"smol_str_0_3?/default",
"triomphe_0_1?/default",
"bytes_1?/default",
"tinyvec_1?/default",
"cheap-clone?/default",
]
tinyvec = ["tinyvec_1"]
tinyvec_1 = [
"dep:tinyvec_1",
"alloc",
]
triomphe = ["triomphe_0_1"]
triomphe_0_1 = [
"dep:triomphe_0_1",
"cheap-clone?/triomphe_0_1",
"alloc",
]
[lib]
name = "hostaddr"
path = "src/lib.rs"
[dependencies.arbitrary]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.bytes_1]
version = "1"
optional = true
default-features = false
package = "bytes"
[dependencies.cheap-clone]
version = "0.3"
optional = true
default-features = false
[dependencies.derive_more]
version = "2"
features = [
"display",
"from",
"is_variant",
"unwrap",
"try_unwrap",
"as_ref",
]
[dependencies.either]
version = "1"
default-features = false
[dependencies.idna]
version = "1"
optional = true
default-features = false
[dependencies.memchr]
version = "2"
default-features = false
[dependencies.percent-encoding]
version = "2"
default-features = false
[dependencies.quickcheck]
version = "1"
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.simdutf8]
version = "0.1"
default-features = false
[dependencies.smallvec_1]
version = "1"
optional = true
default-features = false
package = "smallvec"
[dependencies.smol_str_0_3]
version = "0.3"
optional = true
default-features = false
package = "smol_str"
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.tinyvec_1]
version = "1"
features = ["rustc_1_61"]
optional = true
default-features = false
package = "tinyvec"
[dependencies.triomphe_0_1]
version = "0.1"
optional = true
default-features = false
package = "triomphe"
[dev-dependencies.arbitrary]
version = "1"
[dev-dependencies.paste]
version = "1"
[dev-dependencies.quickcheck]
version = "1"
[dev-dependencies.quickcheck_macros]
version = "1"
[dev-dependencies.rmp-serde]
version = "1"
[dev-dependencies.serde]
version = "1"
features = ["rc"]
[dev-dependencies.serde_json]
version = "1"