1#![allow(clippy::result_large_err)]
11mod client;
28pub mod constants;
29mod content_type;
30mod error;
31mod options;
32mod request;
33mod response;
34mod sanitize;
35pub mod sse;
36
37pub use client::http_logger::HttpLogger;
38pub use client::HttpClient;
39pub use client::HttpClientFactory;
40pub use constants::DEFAULT_SENSITIVE_HEADER_NAMES;
41pub use error::{
42 HttpError,
43 HttpErrorKind,
44 HttpResult,
45 RetryHint,
46};
47pub use options::{
48 HttpClientOptions,
49 HttpConfigError,
50 HttpConfigErrorKind,
51 HttpLoggingOptions,
52 HttpRetryMethodPolicy,
53 HttpRetryOptions,
54 HttpTimeoutOptions,
55 ProxyOptions,
56 ProxyType,
57};
58pub use qubit_retry::{
59 RetryDelay,
60 RetryJitter,
61 RetryOptions,
62};
63pub use request::{
64 AsyncHttpHeaderInjector,
65 HttpHeaderInjector,
66 HttpRequest,
67 HttpRequestBody,
68 HttpRequestBodyByteStream,
69 HttpRequestBuilder,
70 HttpRequestInterceptor,
71 HttpRequestInterceptors,
72 HttpRequestRetryOverride,
73 HttpRequestStreamingBody,
74};
75pub use response::{
76 HttpByteStream,
77 HttpResponse,
78 HttpResponseInterceptor,
79 HttpResponseInterceptorContext,
80 HttpResponseInterceptors,
81 HttpResponseMeta,
82};
83pub use sanitize::{
84 BodyLogContext,
85 BodyPreview,
86 LogSanitizePolicy,
87 LogSanitizer,
88 SensitiveBodyFields,
89 SensitiveHttpHeaders,
90 SensitiveQueryParams,
91};
92pub use tokio_util::sync::CancellationToken;