[package]
edition = "2021"
rust-version = "1.83.0"
name = "proxy-protocol-codec"
version = "0.3.2"
authors = [
"Hantong Chen <cxwdyx620@gmail.com>",
"Miguel D. Salcedo <miguel@salcedo.cc>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PROXY Protocol codec implementation in Rust. See HAProxy for the protocol specification."
readme = "README.md"
keywords = [
"proxy",
"protocol",
"haproxy",
"codec",
]
categories = ["network-programming"]
license = "Apache-2.0"
repository = "https://github.com/hanyu-dev/proxy-protocol-codec"
[features]
default = [
"feat-std",
"feat-alloc",
"feat-codec-encode",
"feat-codec-decode",
"feat-codec-v1",
"feat-codec-v2",
"feat-uni-addr",
]
feat-alloc = []
feat-codec-decode = [
"dep:slicur",
"dep:thiserror",
]
feat-codec-encode = [
"feat-alloc",
"dep:thiserror",
]
feat-codec-v1 = []
feat-codec-v2 = []
feat-codec-v2-crc32c = [
"feat-std",
"dep:crc32c",
]
feat-nightly = []
feat-std = []
feat-uni-addr = [
"feat-std",
"dep:uni-addr",
]
[lib]
name = "proxy_protocol_codec"
path = "src/lib.rs"
[[bench]]
name = "comparison"
path = "benches/comparison.rs"
harness = false
[dependencies.crc32c]
version = "0.6.8"
optional = true
default-features = false
[dependencies.slicur]
version = "0.3.0"
optional = true
[dependencies.thiserror]
version = "2.0"
optional = true
[dependencies.uni-addr]
version = "=0.3.7"
optional = true
default-features = false
[dependencies.wrapper-lite]
version = "0.3.2"
default-features = false
[dev-dependencies.criterion]
version = "0.7.0"
features = ["html_reports"]
[dev-dependencies.ppp]
version = "=2.3.0"
[lints.clippy]
allow_attributes_without_reason = "warn"
assertions_on_result_states = "warn"
assigning_clones = "warn"
bool_to_int_with_if = "warn"
cognitive_complexity = "warn"
create_dir = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
default_trait_access = "warn"
disallowed_script_idents = "deny"
doc_link_with_quotes = "warn"
doc_markdown = "warn"
else_if_without_else = "deny"
enum_glob_use = "warn"
filetype_is_file = "warn"
inefficient_to_string = "warn"
mem_forget = "warn"
missing_panics_doc = "warn"
mod_module_files = "deny"
multiple_inherent_impl = "warn"
mutex_atomic = "warn"
mutex_integer = "warn"
needless_continue = "warn"
panic = "warn"
significant_drop_in_scrutinee = "warn"
todo = "warn"
unimplemented = "warn"
unreachable = "warn"
wildcard_dependencies = "deny"
wildcard_imports = "warn"
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unreachable_pub = "warn"
unsafe_code = "warn"