Skip to main content

cloud_sdk_reqwest/
lib.rs

1#![no_std]
2#![doc = include_str!("../README.md")]
3
4#[cfg(all(
5    any(
6        feature = "async-rustls",
7        feature = "blocking-rustls",
8        feature = "blocking-rustls-webpki-roots"
9    ),
10    not(any(
11        target_os = "freebsd",
12        target_os = "linux",
13        target_os = "macos",
14        target_os = "windows"
15    ))
16))]
17compile_error!(
18    "cloud-sdk-reqwest transport features are unsupported on this target; use a target-native implementation of the cloud-sdk transport traits"
19);
20
21#[cfg(all(
22    feature = "std",
23    any(
24        target_os = "freebsd",
25        target_os = "linux",
26        target_os = "macos",
27        target_os = "windows"
28    )
29))]
30extern crate std;
31
32#[cfg(all(
33    any(
34        feature = "async-rustls",
35        feature = "blocking-rustls",
36        feature = "blocking-rustls-webpki-roots"
37    ),
38    any(
39        target_os = "freebsd",
40        target_os = "linux",
41        target_os = "macos",
42        target_os = "windows"
43    )
44))]
45mod shared;
46
47#[cfg(all(
48    feature = "fuzzing",
49    any(
50        target_os = "freebsd",
51        target_os = "linux",
52        target_os = "macos",
53        target_os = "windows"
54    )
55))]
56#[doc(hidden)]
57pub use shared::{fuzz_raw_http1_wire, fuzz_raw_response_parser};
58
59#[cfg(all(
60    any(feature = "blocking-rustls", feature = "blocking-rustls-webpki-roots"),
61    any(
62        target_os = "freebsd",
63        target_os = "linux",
64        target_os = "macos",
65        target_os = "windows"
66    )
67))]
68pub mod blocking;
69
70#[cfg(all(
71    feature = "async-rustls",
72    any(
73        target_os = "freebsd",
74        target_os = "linux",
75        target_os = "macos",
76        target_os = "windows"
77    )
78))]
79pub mod asynchronous;
80
81#[cfg(all(
82    test,
83    any(
84        feature = "async-rustls",
85        feature = "blocking-rustls",
86        feature = "blocking-rustls-webpki-roots"
87    ),
88    any(
89        target_os = "freebsd",
90        target_os = "linux",
91        target_os = "macos",
92        target_os = "windows"
93    )
94))]
95mod test_server;
96
97/// Provider-neutral transport adapter readiness state.
98#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
99pub enum ReqwestAdapterStatus {
100    /// The default crate graph remains no_std and transport-free.
101    TransportFreeByDefault,
102    /// The blocking rustls adapter is available when its feature is enabled.
103    BlockingRustlsAvailable,
104    /// The blocking adapter can use a deterministic Mozilla trust-root snapshot.
105    BlockingRustlsWebPkiRootsAvailable,
106    /// The asynchronous rustls adapter is available when its feature is enabled.
107    AsyncRustlsAvailable,
108}