mirror of
https://github.com/lexmount/moli.git
synced 2026-10-07 00:01:00 +00:00
91 lines
3.6 KiB
Rust
91 lines
3.6 KiB
Rust
//! HTTP transport primitives for Moli.
|
|
//!
|
|
//! This crate provides fetch configuration, request/response models, async HTTP
|
|
//! execution, streaming HTML responses, and cookie-aware helper utilities used
|
|
//! by higher-level browser code.
|
|
|
|
mod blocking;
|
|
mod cancellation;
|
|
mod client;
|
|
mod client_hints;
|
|
mod config;
|
|
mod cors;
|
|
mod dns;
|
|
mod error;
|
|
mod fetch_url_list;
|
|
mod headers;
|
|
mod network_fetch_result;
|
|
mod proxy;
|
|
mod proxy_connect;
|
|
mod referrer_policy;
|
|
mod request;
|
|
mod request_policy;
|
|
mod response;
|
|
mod runtime;
|
|
mod streaming_response;
|
|
#[cfg(test)]
|
|
mod tests;
|
|
mod url_pattern;
|
|
|
|
#[cfg(any(test, feature = "test-support"))]
|
|
pub use blocking::{
|
|
StreamingHtmlResponseStart, StreamingResponseCollector, outgoing_request_headers,
|
|
};
|
|
pub use blocking::{
|
|
clear_http_cache, clear_http_cache_for_origin, clear_http_cache_root,
|
|
clear_http_cache_root_for_origin, cookie_header_for_request, http_cache_stats,
|
|
observe_cookie_access_report_for_request, trim_http_cache,
|
|
};
|
|
pub use cancellation::FetchCancelHandle;
|
|
pub use client::{FetchClient, FetchClientHandle};
|
|
pub use config::FetchConfig;
|
|
pub use cors::validate_cors_response_for_origin;
|
|
pub use error::{
|
|
FetchCancelled, NET_ERR_ABORTED_ERROR_TEXT, ensure_http_status_success, is_fetch_cancelled,
|
|
};
|
|
pub use fetch_url_list::FetchUrlList;
|
|
pub use headers::{
|
|
cors_unsafe_request_header_names, is_cors_safelisted_method,
|
|
is_cors_safelisted_request_content_type, is_cors_safelisted_request_header,
|
|
is_cors_safelisted_request_range, is_cors_unsafe_request_header_byte,
|
|
is_forbidden_request_header_name, is_forbidden_request_header_override_value,
|
|
is_forbidden_response_header_name, is_no_cors_safelisted_request_header,
|
|
};
|
|
pub use moli_cookie_jar::SharedBrowserCookieStore as SharedCookieStore;
|
|
pub use moli_curl::websocket::CurlWebSocketConnector;
|
|
pub use moli_curl::{CurlTlsConfig, validate_http_host_resolve_entries};
|
|
pub use moli_header_field::HeaderFields as RequestHeaders;
|
|
pub use moli_header_field::HeaderFields as ResponseHeaders;
|
|
pub use moli_header_field::{
|
|
decode_header_value, deserialize_headers, header_value_from_byte_string,
|
|
headers_from_byte_strings, headers_to_byte_strings,
|
|
};
|
|
pub use moli_web_bot_auth::{WebBotAuthProfile, WebBotAuthSigner};
|
|
pub use network_fetch_result::{
|
|
NetworkExchangeObservation, NetworkFetchFailureContext, NetworkFetchFailureRequestContext,
|
|
NetworkFetchResult, NetworkObservationJournal, NetworkRequestObservation,
|
|
NetworkResponseObservation,
|
|
};
|
|
pub use referrer_policy::{
|
|
DEFAULT_REFERRER_POLICY, normalize_referrer_policy, origin_referrer_url, referrer_header_value,
|
|
referrer_value, response_referrer_policy_from_headers, sanitized_referrer_url,
|
|
};
|
|
pub use request::{
|
|
BrowserNavigationRequestKind, BrowserRequestMetadata, FetchPriorityHint, Request, RequestAuth,
|
|
RequestAuthScheme, RequestAuthTarget, RequestCacheMode, RequestCredentialsMode,
|
|
RequestHeaderOverride, RequestMode, RequestPriorityHints, RequestRedirectMode,
|
|
RequestResourceType, ResourceLoadPriority, ScriptFetchRequestMetadata,
|
|
ScriptFetchSchedulerPriority, SubresourceRequestMetadata,
|
|
};
|
|
pub use request_policy::{is_bad_port, should_request_be_blocked_due_to_bad_port};
|
|
pub use response::{
|
|
NegotiatedHttpVersion, NetworkRequestExtraInfo, NetworkResponseExtraInfo, RawResponse,
|
|
RedirectInfo, RedirectSource, Response, ResponseBody, ResponseHead,
|
|
};
|
|
pub use runtime::PendingStreamingRawResponse;
|
|
pub use runtime::{
|
|
FetchRuntimeIdentity, FetchRuntimeJoinReport, FetchRuntimeJoinStatus, FetchRuntimePanicReport,
|
|
};
|
|
pub use streaming_response::{StreamingHtmlResponse, StreamingRawResponse};
|
|
pub use url_pattern::url_pattern_matches;
|