""" We currently need to manually maintain this file, so we can use ring on Linux, and native-tls on other platforms. We use ring on Linux because the wheels need the SSL library statically linked in, and native-tls-vendored is broken in Bazel due to sandboxing. We prefer native-tls on other platforms because it reduces the resulting binary size, and we get free updates from the OS. Building openssl statically ourselves and linking it in would be another valid solution, but we would need to ensure we keep it up to date. update.py takes care of keeping the referenced versions up to date for us. """ # buildifier: disable=load load( "@rules_rust//rust:rust.bzl", "rust_binary", "rust_library", "rust_test", ) # buildifier: disable=load load("@bazel_skylib//lib:selects.bzl", "selects") package(default_visibility = [ # Public for visibility by "@raze__crate__version//" targets. # # Prefer access through "//cargo", which limits external # visibility to explicit Cargo.toml dependencies. "//visibility:public", ]) licenses([ "notice", # MIT from expression "MIT OR Apache-2.0" ]) # Generated Targets # Unsupported target "blocking" with type "example" omitted # Unsupported target "form" with type "example" omitted # Unsupported target "json_dynamic" with type "example" omitted # Unsupported target "json_typed" with type "example" omitted # Unsupported target "simple" with type "example" omitted # Unsupported target "tor_socks" with type "example" omitted rust_library( name = "reqwest", srcs = glob(["**/*.rs"]), aliases = selects.with_or({ # ring on Linux ( "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", ): {}, "//conditions:default": { # native-tls "@raze__native_tls__0_2_7//:native_tls": "native_tls_crate", }, }), crate_features = [ "__tls", "json", "serde_json", "socks", "stream", "tokio-socks", ] + selects.with_or({ # ring on Linux ( "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", ): [ "__rustls", "hyper-rustls", "rustls", "rustls-tls", "rustls-tls-webpki-roots", "tokio-rustls", "webpki-roots", ], # native-tls on other platforms "//conditions:default": [ "default-tls", "hyper-tls", "native-tls", "native-tls-crate", "tokio-tls", ], }), crate_root = "src/lib.rs", crate_type = "lib", edition = "2018", rustc_flags = [ "--cap-lints=allow", ], tags = [ "cargo-raze", "manual", ], version = "0.10.8", # buildifier: leave-alone deps = [ "@raze__bytes__0_5_6//:bytes", "@raze__http__0_2_3//:http", "@raze__hyper_timeout__0_3_1//:hyper_timeout", "@raze__mime_guess__2_0_3//:mime_guess", "@raze__serde__1_0_125//:serde", "@raze__serde_json__1_0_64//:serde_json", "@raze__serde_urlencoded__0_6_1//:serde_urlencoded", "@raze__url__2_2_1//:url", ] + selects.with_or({ # cfg(not(target_arch = "wasm32")) ( "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", ): [ "@raze__base64__0_13_0//:base64", "@raze__encoding_rs__0_8_28//:encoding_rs", "@raze__futures_core__0_3_13//:futures_core", "@raze__futures_util__0_3_13//:futures_util", "@raze__http_body__0_3_1//:http_body", "@raze__hyper__0_13_10//:hyper", "@raze__ipnet__2_3_0//:ipnet", "@raze__lazy_static__1_4_0//:lazy_static", "@raze__log__0_4_14//:log", "@raze__mime__0_3_16//:mime", "@raze__percent_encoding__2_1_0//:percent_encoding", "@raze__pin_project_lite__0_1_12//:pin_project_lite", "@raze__tokio__0_2_25//:tokio", "@raze__tokio_socks__0_3_0//:tokio_socks", ], "//conditions:default": [], }) + selects.with_or({ # cfg(windows) ( "@rules_rust//rust/platform:x86_64-pc-windows-msvc", ): [ "@raze__winreg__0_7_0//:winreg", ], "//conditions:default": [], }) + selects.with_or({ # ring on Linux ( "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", ): [ "@raze__hyper_rustls__0_21_0//:hyper_rustls", "@raze__rustls__0_18_1//:rustls", "@raze__tokio_rustls__0_14_1//:tokio_rustls", "@raze__webpki_roots__0_20_0//:webpki_roots", ], # native-tls on other platforms "//conditions:default": [ "@raze__hyper_tls__0_4_3//:hyper_tls", "@raze__native_tls__0_2_7//:native_tls", "@raze__tokio_tls__0_3_1//:tokio_tls", ], }), ) # Unsupported target "badssl" with type "test" omitted # Unsupported target "blocking" with type "test" omitted # Unsupported target "brotli" with type "test" omitted # Unsupported target "client" with type "test" omitted # Unsupported target "cookie" with type "test" omitted # Unsupported target "gzip" with type "test" omitted # Unsupported target "multipart" with type "test" omitted # Unsupported target "proxy" with type "test" omitted # Unsupported target "redirect" with type "test" omitted # Unsupported target "timeouts" with type "test" omitted