[package] authors = ["Xuanwo "] categories = ["command-line-utilities", "web-programming"] description = "Signing API requests without effort." documentation = "https://docs.rs/reqsign" edition = "2021" license = "Apache-2.0" name = "reqsign" repository = "https://github.com/Xuanwo/reqsign" version = "0.16.0" [package.metadata.docs.rs] all-features = true [features] default = ["reqwest_request", "services-all"] native-tls = ["reqwest?/default-tls"] rustls = ["reqwest?/rustls-tls"] # requests that reqwest supports reqwest_blocking_request = ["reqwest?/blocking"] reqwest_request = ["dep:reqwest"] # services that reqsign supports services-all = [ "services-aliyun", "services-aws", "services-azblob", "services-google", "services-huaweicloud", "services-oracle", "services-tencent", ] services-aliyun = [ "dep:reqwest", "dep:serde", "dep:serde_json", "dep:once_cell", ] services-aws = [ "dep:reqwest", "dep:serde", "dep:serde_json", "dep:quick-xml", "dep:rust-ini", ] services-azblob = ["dep:serde", "dep:serde_json", "dep:reqwest"] services-google = [ "dep:reqwest", "dep:serde", "dep:serde_json", "dep:jsonwebtoken", "dep:rsa", ] services-huaweicloud = ["dep:serde", "dep:serde_json", "dep:once_cell"] services-oracle = ["dep:reqwest", "dep:rsa", "dep:toml", "dep:serde"] services-tencent = ["dep:reqwest", "dep:serde", "dep:serde_json"] [[bench]] harness = false name = "aws" [dependencies] anyhow = "1" async-trait = "0.1" base64 = "0.22" chrono = "0.4.35" form_urlencoded = "1" hex = "0.4" hmac = "0.12" http = "1.1" jsonwebtoken = { version = "9.2", optional = true } log = "0.4" once_cell = { version = "1", optional = true } percent-encoding = "2" quick-xml = { version = "0.35", features = ["serialize"], optional = true } rand = "0.8.5" reqwest = { version = "0.12", default-features = false, optional = true } rsa = { version = "0.9.2", features = ["pkcs5", "sha2"], optional = true } rust-ini = { version = "0.21", optional = true } serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1", optional = true } sha1 = "0.10" sha2 = { version = "0.10", features = ["oid"] } toml = { version = "0.8.9", optional = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] home = "0.5" tokio = { version = "1", features = ["fs"], optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2", features = ["js"] } tokio = { version = "1", optional = true } [dev-dependencies] aws-credential-types = "1.1.8" aws-sigv4 = "1.2.0" criterion = { version = "0.5", features = ["async_tokio", "html_reports"] } dotenv = "0.15" env_logger = "0.11" macro_rules_attribute = "0.2.0" once_cell = "1" pretty_assertions = "1.3" reqwest = { version = "0.12", features = ["blocking", "json"] } temp-env = "0.3" tempfile = "3.8" test-case = "3.3.1" tokio = { version = "1", features = ["full"] }