[package] name = "xh" version = "0.24.1" authors = ["ducaale "] edition = "2021" rust-version = "1.74.0" license = "MIT" description = "Friendly and fast tool for sending HTTP requests" documentation = "https://github.com/ducaale/xh" homepage = "https://github.com/ducaale/xh" repository = "https://github.com/ducaale/xh" readme = "README.md" keywords = ["http"] categories = ["command-line-utilities"] exclude = ["assets/xhs", "assets/xhs.1.gz"] [dependencies] anyhow = "1.0.38" brotli = { version = "3.3.0", default-features = false, features = ["std"] } chardetng = "0.1.15" clap = { version = "4.4", features = ["derive", "wrap_help", "string"] } clap_complete = "4.4" clap_complete_nushell = "4.4" cookie_store = { version = "0.21.1", features = ["preserve_order"] } digest_auth = "0.3.0" dirs = "5.0" encoding_rs = "0.8.28" encoding_rs_io = "0.1.7" flate2 = "1.0.22" # Add "tracing" feature to hyper once it stabilizes hyper = { version = "1.2", default-features = false } indicatif = "0.17" jsonxf = "1.1.0" memchr = "2.4.1" mime = "0.3.16" mime2ext = "0.1.0" mime_guess = "2.0" once_cell = "1.8.0" os_display = "0.1.3" pem = "3.0" regex-lite = "0.1.5" roff = "0.2.1" rpassword = "7.2.0" serde = { version = "1.0", features = ["derive"] } serde-transcode = "1.1.1" serde_json = { version = "1.0", features = ["preserve_order"] } serde_urlencoded = "0.7.0" supports-hyperlinks = "3.0.0" termcolor = "1.1.2" time = "0.3.16" humantime = "2.2.0" unicode-width = "0.1.9" url = "2.2.2" ruzstd = { version = "0.7", default-features = false, features = ["std"]} env_logger = { version = "0.11.3", default-features = false, features = ["color", "auto-color", "humantime"] } log = "0.4.21" # Enable logging in transitive dependencies. # The rustls version number should be kept in sync with hyper/reqwest. rustls = { version = "0.23.25", optional = true, default-features = false, features = ["logging"] } tracing = { version = "0.1.41", default-features = false, features = ["log"] } reqwest_cookie_store = { version = "0.8.0", features = ["serde"] } percent-encoding = "2.3.1" sanitize-filename = "0.6.0" [dependencies.reqwest] version = "0.12.3" default-features = false features = ["json", "multipart", "blocking", "socks", "cookies", "http2", "macos-system-configuration"] [dependencies.syntect] version = "5.1" default-features = false features = ["parsing", "dump-load", "regex-onig"] [target.'cfg(not(any(target_os = "android", target_os = "fuchsia", target_os = "linux")))'.dependencies] network-interface = { version = "1.0.0", optional = true } [build-dependencies.syntect] version = "5.1" default-features = false features = ["dump-create", "plist-load", "regex-onig", "yaml-load"] [dev-dependencies] assert_cmd = "2.0.8" form_urlencoded = "1.0.1" indoc = "2.0" rand = "0.8.3" predicates = "3.0" hyper = { version = "1.2", features = ["server"] } tokio = { version = "1", features = ["rt", "sync", "time"] } tempfile = "3.2.0" hyper-util = { version = "0.1.3", features = ["server"] } http-body-util = "0.1.1" [features] default = ["online-tests", "rustls", "network-interface"] native-tls = ["reqwest/native-tls", "reqwest/native-tls-alpn"] rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-webpki-roots", "reqwest/rustls-tls-native-roots", "dep:rustls"] # To be used by platforms that don't support binding to interface via SO_BINDTODEVICE # Ideally, this would be auto-disabled on platforms that don't need it # However: https://github.com/rust-lang/cargo/issues/1197 # Also, see https://github.com/ducaale/xh/issues/330 network-interface = ["dep:network-interface"] online-tests = [] ipv6-tests = [] [package.metadata.cross.build.env] passthrough = ["CARGO_PROFILE_RELEASE_LTO"] [package.metadata.deb] features = [] section = "web" license-file = "LICENSE" preserve-symlinks = true assets = [ ["target/release/xh", "usr/bin/", "755"], ["assets/xhs", "usr/bin/", "777"], ["CHANGELOG.md", "usr/share/doc/xh/NEWS", "644"], ["README.md", "usr/share/doc/xh/README", "644"], ["doc/xh.1", "usr/share/man/man1/xh.1", "644"], ["assets/xhs.1.gz", "usr/share/man/man1/xhs.1.gz", "777"], ["completions/xh.bash", "usr/share/bash-completion/completions/xh", "644"], ["completions/xh.fish", "usr/share/fish/vendor_completions.d/xh.fish", "644"], ["completions/_xh", "usr/share/zsh/vendor-completions/", "644"], ] extended-description = """\ xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance. """