[package] name = "hypers_core" version.workspace = true edition.workspace = true rust-version.workspace = true description.workspace = true documentation.workspace = true homepage.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true license.workspace = true readme.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = ["macro", "http1"] macro = ["hypers_macro"] http1 = ["hyper/http1", "hyper-util/http1"] http2 = ["hyper/http2", "hyper-util/http2"] cbor = ["ciborium"] msgpack = ["rmp-serde"] yaml = ["dep:serde_yaml"] toml = ["dep:toml"] xml = ["dep:quick-xml"] multipart = [] cookie = ["dep:cookie"] static_file = ["time", "percent-encoding"] static_embed = ["percent-encoding", "rust-embed", "path-slash", "hex"] websocket = ["tokio-tungstenite"] rustls = ["tokio-rustls", "rustls-pemfile"] native_tls = ["tokio-native-tls"] full = [ "http2", "cbor", "msgpack", "yaml", "toml", "xml", "multipart", "cookie", "static_file", "static_embed", "websocket", "rustls", "native_tls", ] debug = ["tracing"] test = [ "dep:base64", "dep:brotli", "dep:flate2", "dep:zstd", "dep:encoding_rs", "dep:bytes", ] [dependencies] async-trait = { workspace = true } futures-util = { workspace = true } headers = { workspace = true } hyper = { workspace = true, features = ["http1", "server", "http2"] } hyper-util = { workspace = true, features = ["server-auto", "server-graceful"] } http-body-util = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] } serde = { workspace = true, features = ["derive"] } serde_urlencoded = { workspace = true } form_urlencoded = { workspace = true } tokio = { workspace = true, features = [ "parking_lot", "io-util", "fs", "net", "rt-multi-thread", "macros", ] } mime = { workspace = true } enumflags2 = { workspace = true } mime_guess = { workspace = true } multimap = { workspace = true } multer = { workspace = true } smallvec = { workspace = true } tempfile = { workspace = true } rfc7239 = { workspace = true } hypers_macro = { workspace = true, optional = true } ciborium = { workspace = true, optional = true } rmp-serde = { workspace = true, optional = true } time = { workspace = true, features = [ "serde", "macros", "formatting", ], optional = true } percent-encoding = { workspace = true, optional = true } cookie = { workspace = true, features = ["percent-encode"], optional = true } tokio-tungstenite = { workspace = true, optional = true } tokio-rustls = { workspace = true, optional = true } rustls-pemfile = { workspace = true, optional = true } tokio-native-tls = { workspace = true, optional = true } rust-embed = { workspace = true, optional = true } path-slash = { workspace = true, optional = true } hex = { workspace = true, optional = true } serde_yaml = { workspace = true, optional = true } toml = { workspace = true, optional = true } quick-xml = { workspace = true, features = ["serialize"], optional = true } tracing = { workspace = true, optional = true } base64 = { workspace = true, optional = true } brotli = { workspace = true, optional = true, features = ["default"] } flate2 = { workspace = true, optional = true, features = ["default"] } zstd = { workspace = true, optional = true, features = ["default"] } encoding_rs = { workspace = true, optional = true } bytes = { workspace = true, optional = true, features = ["std"] } [dev-dependencies] hypers_core = { path = ".", features = ["test"] }