1[package]
2name = "ureq"
3version = "2.12.1"
4authors = ["Martin Algesten <martin@algesten.se>", "Jacob Hoffman-Andrews <ureq@hoffman-andrews.com>"]
5description = "Simple, safe HTTP client"
6license = "MIT OR Apache-2.0"
7repository = "https://github.com/algesten/ureq"
8readme = "README.md"
9keywords = ["web", "request", "https", "http", "client"]
10categories = ["web-programming::http-client"]
11edition = "2018"
12exclude = ["/cargo_deny.sh", "/deny.toml", "/test.sh"]
13
14
15# MSRV
16rust-version = "1.71"
17
18[package.metadata.docs.rs]
19features = ["tls", "native-tls", "json", "charset", "cookies", "socks-proxy", "gzip", "brotli", "http-interop", "http-crate"]
20rustdoc-args = ["--cfg", "docsrs"]
21
22[features]
23default = ["tls", "gzip"]
24tls = ["dep:webpki-roots", "dep:rustls", "dep:rustls-pki-types"]
25native-certs = ["dep:rustls-native-certs"]
26native-tls = ["dep:native-tls"]
27json = ["dep:serde", "dep:serde_json"]
28charset = ["dep:encoding_rs"]
29cookies = ["dep:cookie", "dep:cookie_store"]
30socks-proxy = ["dep:socks"]
31gzip = ["dep:flate2"]
32brotli = ["dep:brotli-decompressor"]
33# http-interop is for http crate version 0.2 (backwards compat with last pre-release)
34# Consider this feature deprecated. In time, we will remove it. Use `http-crate` instead.
35http-interop = ["dep:http-02"]
36# http-crate is for http crate version 1.0 (full release)
37http-crate = ["dep:http"]
38proxy-from-env = []
39# Doc tests require hootbin.
40testdeps = ["dep:hootbin"]
41
42[dependencies]
43base64 = "0.22"
44cookie = { version = "0.18", default-features = false, optional = true }
45once_cell = "1"
46socks = { version = "0.3", optional = true }
47serde = { version = "1", optional = true }
48serde_json = { version = "1.0.97", optional = true }
49encoding_rs = { version = "0.8", optional = true }
50cookie_store = { version = "0.21.1", optional = true, default-features = false, features = ["preserve_order", "serde_json"] }
51log = "0.4"
52webpki-roots = { version = "0.26", optional = true }
53rustls-pki-types = { version = "1", optional = true }
54rustls-native-certs = { version = "0.7", optional = true }
55native-tls = { version = "0.2", optional = true }
56flate2 = { version = "1.0.22", optional = true }
57brotli-decompressor = { version = "4.0.0", optional = true }
58http-02 = { package = "http", version = "0.2", optional = true }
59http = { version = "1.1", optional = true }
60url = "2.5.0"
61rustls = { version = "0.23.19", optional = true, default-features = false, features = ["ring", "logging", "std", "tls12"] }
62
63# This can't be in dev-dependencies due to doc tests.
64hootbin = { version = "0.1.5", optional = true }
65
66[dev-dependencies]
67env_logger = { version = "<=0.9", default-features = false, features = ["humantime"] }
68serde = { version = "1", features = ["derive"] }
69rustls = { version = "0.23.5", default-features = false, features = ["std", "ring"] }
70rustls-pemfile = { version = "2.0" }
71
72[[example]]
73name = "cureq"
74required-features = ["charset", "cookies", "socks-proxy", "native-tls"]
75
76[[example]]
77name = "tls_config"
78required-features = ["tls", "native-tls"]
79