Skip to main content

Crate winhttp

Crate winhttp 

Source
Expand description

§winhttp

Safe, ergonomic Rust bindings for the Windows WinHTTP API.

This crate provides both low-level access to WinHTTP functions and a high-level Client with one-liner HTTP verb helpers. The async API is runtime-agnostic — it works with any executor (tokio, smol, pollster, futures::executor, etc.).

§Quick Start

§One-shot request

let resp = winhttp::get("https://httpbin.org/get")?;
println!("{}", resp.text());

§Using the Client

use winhttp::Client;

// No base URL — pass full URLs:
let client = Client::new()?;
let resp = client.get("https://httpbin.org/get")?;
assert!(resp.is_success());

// With base URL — pass paths:
let client = Client::builder()
    .base_url("https://httpbin.org")
    .build()?;

let resp = client.get("/get")?;
assert!(resp.is_success());

// POST with body
let resp = client.post("/post", b"hello")?;
println!("Status: {}", resp.status);

// Builder pattern for custom headers
let resp = client
    .request("PUT", "/put")
    .header("Content-Type", "application/json")
    .body(b"{\"key\": \"value\"}")
    .send()?;

§Async (runtime-agnostic)

Enable the async feature in your Cargo.toml:

[dependencies]
winhttp = { version = "0.1", features = ["async"] }
use winhttp::Client;

let client = Client::builder()
    .base_url("https://httpbin.org")
    .build()?;
let resp = client.async_get("/get").await?;
println!("{}", resp.text());

§Feature Flags

FeatureDefaultDescription
asyncNoEnables async HTTP support via crossfire channels. Runtime-agnostic.
jsonNoAdds Response::json for deserializing response bodies via serde_json.
websocketNoEnables WebSocket support (WebSocket, AsyncWebSocket, typed helpers).

§Architecture

The crate is organized in layers:

§Type-Safe Flags

Methods accepting raw u32 flags have _typed() variants that accept strongly-typed wrappers:

let session = Session::new()?;

// Raw u32 API
session.set_secure_protocols(WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3)?;

// Type-safe API
session.set_secure_protocols_typed(SecureProtocol::MODERN)?;

Structs§

AsyncRequestasync
AsyncResponseasync
AsyncWebSocketwebsocket and async
An async WebSocket connection built on top of WinHTTP’s async machinery.
AuthScheme
Authentication scheme flags.
AuthTarget
Authentication target flags.
AutoProxyOptions
Auto-proxy options for proxy resolution
Body
A request body that can be raw bytes or serialized JSON.
CertificateInfo
Parsed SSL/TLS certificate information.
Client
A reusable HTTP client backed by a WinHTTP Session.
ClientBuilder
Builder for configuring and constructing a Client.
Connection
ConnectionGroupResult
ConnectionInfo
TCP connection information for an HTTP request.
DecompressionFlags
Automatic response decompression flags.
DisableFlags
Feature disable flags.
HSTRING
An (HSTRING) is a reference-counted and immutable UTF-16 string type.
HTTP_VERSION_INFO
HttpProtocol
HTTP/2 and HTTP/3 protocol flags.
IEProxyConfig
Internet Explorer proxy configuration
PCWSTR
A pointer to a constant null-terminated string of 16-bit Unicode characters.
ProxyChangeNotification
RAII wrapper for proxy change notification registration
ProxyInfo
Proxy configuration information
ProxyResolver
Proxy resolver handle for async proxy resolution
ProxyResult
Result from proxy resolution with automatic cleanup
ProxyResultEntry
Single proxy entry in resolution result
ProxySettingsEx
Extended proxy settings structure with automatic cleanup
ReadAllFutureasync
Request
RequestBuilder
RequestHelper
Builder for constructing a single request with custom headers and body.
RequestStats
Statistics for an HTTP request.
RequestTimes
Performance timing information for an HTTP request.
Response
A high-level response returned by the Client helper methods.
SYSTEMTIME
SecureProtocol
TLS/SSL protocol version flags.
SecurityFlags
SSL/TLS certificate validation flags.
SendFutureasync
Session
SessionConfig
URL_COMPONENTS
UrlComponents
WINHTTP_ACCESS_TYPE
WINHTTP_ASYNC_RESULT
WINHTTP_AUTOPROXY_OPTIONS
WINHTTP_CERTIFICATE_INFO
WINHTTP_CONNECTION_GROUP
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG
WINHTTP_EXTENDED_HEADER
WINHTTP_HOST_CONNECTION_GROUP
WINHTTP_MATCH_CONNECTION_GUID
WINHTTP_OPEN_REQUEST_FLAGS
WINHTTP_PROXY_INFO
WINHTTP_PROXY_RESULT
WINHTTP_PROXY_RESULT_ENTRY
WINHTTP_PROXY_SETTINGS_EX
WINHTTP_PROXY_SETTINGS_PARAM
WINHTTP_PROXY_SETTINGS_TYPE
WINHTTP_QUERY_CONNECTION_GROUP_RESULT
WINHTTP_REQUEST_STATS
WINHTTP_REQUEST_STAT_ENTRY
WINHTTP_REQUEST_TIMES
WINHTTP_REQUEST_TIME_ENTRY
WINHTTP_WEB_SOCKET_ASYNC_RESULT
WINHTTP_WEB_SOCKET_BUFFER_TYPE
WINHTTP_WEB_SOCKET_CLOSE_STATUS
WINHTTP_WEB_SOCKET_OPERATION
WINHTTP_WEB_SOCKET_STATUS
WIN_HTTP_CREATE_URL_FLAGS
WebSocketwebsocket
WebSocketStreamwebsocket and async
A futures_core::Stream of WebSocketMessages.
WinError
An error object consists of both an error code and optional detailed error information for debugging.
WriteFutureasync
A future that writes data to an async request in chunks.
WsCloseFuturewebsocket and async
Future returned by AsyncWebSocket::close.
WsReceiveFuturewebsocket and async
Future returned by AsyncWebSocket::receive.
WsSendFuturewebsocket and async
Future returned by AsyncWebSocket::send, send_text, and send_binary.

Enums§

AutologonPolicy
Autologon security level for NTLM/Negotiate authentication.
ProxySettingsVersion
Proxy settings version for extended API
RedirectPolicy
Redirect policy for HTTP requests.
WebSocketBufferTypewebsocket
WebSocket message buffer type.
WebSocketCloseStatuswebsocket
WebSocket close status code.
WebSocketMessagewebsocket and async
A complete WebSocket message received from the server.
WebSocketOperationwebsocket
WebSocket operation type.

Constants§

SECURITY_FLAG_IGNORE_ALL_CERT_ERRORS
Ignore all certificate errors (CN invalid + date invalid + unknown CA + wrong usage). Use with extreme caution — disables SSL/TLS certificate verification.
SECURITY_FLAG_IGNORE_CERT_CN_INVALID
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE
SECURITY_FLAG_IGNORE_UNKNOWN_CA
WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY
WINHTTP_ACCESS_TYPE_NAMED_PROXY
WINHTTP_ACCESS_TYPE_NO_PROXY
WINHTTP_ADDREQ_FLAG_ADD
WINHTTP_ADDREQ_FLAG_ADD_IF_NEW
WINHTTP_ADDREQ_FLAG_COALESCE
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
WINHTTP_ADDREQ_FLAG_REPLACE
WINHTTP_AUTH_SCHEME_BASIC
WINHTTP_AUTH_SCHEME_DIGEST
WINHTTP_AUTH_SCHEME_NEGOTIATE
WINHTTP_AUTH_SCHEME_NTLM
WINHTTP_AUTH_SCHEME_PASSPORT
WINHTTP_AUTH_TARGET_PROXY
WINHTTP_AUTH_TARGET_SERVER
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM
WINHTTP_AUTOPROXY_AUTO_DETECT
WINHTTP_AUTOPROXY_AUTO_LOGON_IF_CHALLENGED
Auto-logon if challenged (used in WINHTTP_AUTOPROXY_OPTIONS flags).
WINHTTP_AUTOPROXY_CONFIG_URL
WINHTTP_AUTO_DETECT_TYPE_DHCP
WINHTTP_AUTO_DETECT_TYPE_DNS_A
WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS
WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE
WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE
WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE
WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE
WINHTTP_CALLBACK_FLAG_READ_COMPLETE
WINHTTP_CALLBACK_FLAG_REDIRECT
WINHTTP_CALLBACK_FLAG_REQUEST_ERROR
WINHTTP_CALLBACK_FLAG_SECURE_FAILURE
WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE
WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE
WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE
WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION
WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER
WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER
WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED
WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE
WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID
WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID
WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED
WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED
WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA
WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT
WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR
WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE
WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
WINHTTP_CALLBACK_STATUS_HANDLE_CREATED
WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE
WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE
WINHTTP_CALLBACK_STATUS_NAME_RESOLVED
WINHTTP_CALLBACK_STATUS_READ_COMPLETE
WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE
WINHTTP_CALLBACK_STATUS_REDIRECT
WINHTTP_CALLBACK_STATUS_REQUEST_ERROR
WINHTTP_CALLBACK_STATUS_REQUEST_SENT
WINHTTP_CALLBACK_STATUS_RESOLVING_NAME
WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED
WINHTTP_CALLBACK_STATUS_SECURE_FAILURE
WINHTTP_CALLBACK_STATUS_SENDING_REQUEST
WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE
WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE
WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE
WINHTTP_DECOMPRESSION_FLAG_ALL
Enable all decompression methods (gzip + deflate).
WINHTTP_DECOMPRESSION_FLAG_DEFLATE
WINHTTP_DECOMPRESSION_FLAG_GZIP
WINHTTP_DISABLE_AUTHENTICATION
WINHTTP_DISABLE_COOKIES
WINHTTP_DISABLE_KEEP_ALIVE
WINHTTP_DISABLE_REDIRECTS
WINHTTP_EXTENDED_HEADER_FLAG_UNICODE
WINHTTP_FLAG_ASYNC
WINHTTP_FLAG_ESCAPE_PERCENT
WINHTTP_FLAG_NULL_CODEPAGE
WINHTTP_FLAG_SECURE
WINHTTP_FLAG_SECURE_DEFAULTS
WINHTTP_FLAG_SECURE_PROTOCOL_ALL
Combination of all secure protocol flags (SSL 2.0 through TLS 1.3).
WINHTTP_FLAG_SECURE_PROTOCOL_MODERN
Modern TLS only (TLS 1.2 + TLS 1.3). Recommended for most applications.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
WINHTTP_OPTION_AUTOLOGON_POLICY
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
WINHTTP_OPTION_CALLBACK
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
WINHTTP_OPTION_CODEPAGE
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
WINHTTP_OPTION_CONNECTION_GUID
WINHTTP_OPTION_CONNECTION_INFO
WINHTTP_OPTION_CONNECTION_STATS_V0
WINHTTP_OPTION_CONNECTION_STATS_V1
WINHTTP_OPTION_CONNECT_RETRIES
WINHTTP_OPTION_CONNECT_TIMEOUT
WINHTTP_OPTION_CONTEXT_VALUE
WINHTTP_OPTION_DECOMPRESSION
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
WINHTTP_OPTION_DISABLE_FEATURE
WINHTTP_OPTION_DISABLE_GLOBAL_POOLING
WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
WINHTTP_OPTION_ENABLETRACING
WINHTTP_OPTION_ENABLE_FEATURE
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
WINHTTP_OPTION_ENCODE_EXTRA
WINHTTP_OPTION_EXPIRE_CONNECTION
WINHTTP_OPTION_EXTENDED_ERROR
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
WINHTTP_OPTION_HANDLE_TYPE
WINHTTP_OPTION_HTTP2_KEEPALIVE
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
WINHTTP_OPTION_HTTP_PROTOCOL_USED
WINHTTP_OPTION_HTTP_VERSION
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
WINHTTP_OPTION_IPV6_FAST_FALLBACK
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
WINHTTP_OPTION_MATCH_CONNECTION_GUID
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
WINHTTP_OPTION_PARENT_HANDLE
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
WINHTTP_OPTION_PASSPORT_RETURN_URL
WINHTTP_OPTION_PASSPORT_SIGN_OUT
WINHTTP_OPTION_PASSWORD
WINHTTP_OPTION_PROXY
WINHTTP_OPTION_PROXY_PASSWORD
WINHTTP_OPTION_PROXY_SPN_USED
WINHTTP_OPTION_PROXY_USERNAME
WINHTTP_OPTION_READ_BUFFER_SIZE
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
WINHTTP_OPTION_RECEIVE_TIMEOUT
WINHTTP_OPTION_REDIRECT_POLICY
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP
WINHTTP_OPTION_REDIRECT_POLICY_NEVER
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
WINHTTP_OPTION_REQUEST_PRIORITY
WINHTTP_OPTION_REQUEST_STATS
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_OPTION_RESOLUTION_HOSTNAME
WINHTTP_OPTION_RESOLVE_TIMEOUT
WINHTTP_OPTION_SECURE_PROTOCOLS
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
WINHTTP_OPTION_SECURITY_FLAGS
WINHTTP_OPTION_SECURITY_INFO
WINHTTP_OPTION_SEND_TIMEOUT
WINHTTP_OPTION_SERVER_CERT_CONTEXT
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
WINHTTP_OPTION_URL
WINHTTP_OPTION_USERNAME
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
WINHTTP_OPTION_WRITE_BUFFER_SIZE
WINHTTP_PROTOCOL_FLAG_HTTP2
WINHTTP_PROTOCOL_FLAG_HTTP3
WINHTTP_QUERY_ACCEPT
WINHTTP_QUERY_ACCEPT_CHARSET
WINHTTP_QUERY_ACCEPT_ENCODING
WINHTTP_QUERY_ACCEPT_LANGUAGE
WINHTTP_QUERY_ACCEPT_RANGES
WINHTTP_QUERY_AGE
WINHTTP_QUERY_ALLOW
WINHTTP_QUERY_AUTHENTICATION_INFO
WINHTTP_QUERY_AUTHORIZATION
WINHTTP_QUERY_CACHE_CONTROL
WINHTTP_QUERY_CONNECTION
WINHTTP_QUERY_CONTENT_BASE
WINHTTP_QUERY_CONTENT_DESCRIPTION
WINHTTP_QUERY_CONTENT_DISPOSITION
WINHTTP_QUERY_CONTENT_ENCODING
WINHTTP_QUERY_CONTENT_ID
WINHTTP_QUERY_CONTENT_LANGUAGE
WINHTTP_QUERY_CONTENT_LENGTH
WINHTTP_QUERY_CONTENT_LOCATION
WINHTTP_QUERY_CONTENT_MD5
WINHTTP_QUERY_CONTENT_RANGE
WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING
WINHTTP_QUERY_CONTENT_TYPE
WINHTTP_QUERY_COOKIE
WINHTTP_QUERY_COST
WINHTTP_QUERY_CUSTOM
WINHTTP_QUERY_DATE
WINHTTP_QUERY_DERIVED_FROM
WINHTTP_QUERY_ETAG
WINHTTP_QUERY_EXPECT
WINHTTP_QUERY_EXPIRES
WINHTTP_QUERY_FLAG_NUMBER
WINHTTP_QUERY_FLAG_REQUEST_HEADERS
WINHTTP_QUERY_FLAG_SYSTEMTIME
WINHTTP_QUERY_FORWARDED
WINHTTP_QUERY_FROM
WINHTTP_QUERY_HOST
WINHTTP_QUERY_IF_MATCH
WINHTTP_QUERY_IF_MODIFIED_SINCE
WINHTTP_QUERY_IF_NONE_MATCH
WINHTTP_QUERY_IF_RANGE
WINHTTP_QUERY_IF_UNMODIFIED_SINCE
WINHTTP_QUERY_LAST_MODIFIED
WINHTTP_QUERY_LINK
WINHTTP_QUERY_LOCATION
WINHTTP_QUERY_MAX
WINHTTP_QUERY_MAX_FORWARDS
WINHTTP_QUERY_MESSAGE_ID
WINHTTP_QUERY_MIME_VERSION
WINHTTP_QUERY_ORIG_URI
WINHTTP_QUERY_PRAGMA
WINHTTP_QUERY_PROXY_AUTHENTICATE
WINHTTP_QUERY_PROXY_AUTHORIZATION
WINHTTP_QUERY_PROXY_CONNECTION
WINHTTP_QUERY_PROXY_SUPPORT
WINHTTP_QUERY_PUBLIC
WINHTTP_QUERY_RANGE
WINHTTP_QUERY_RAW_HEADERS
WINHTTP_QUERY_RAW_HEADERS_CRLF
WINHTTP_QUERY_REFERER
WINHTTP_QUERY_REFRESH
WINHTTP_QUERY_REQUEST_METHOD
WINHTTP_QUERY_RETRY_AFTER
WINHTTP_QUERY_SERVER
WINHTTP_QUERY_SET_COOKIE
WINHTTP_QUERY_STATUS_CODE
WINHTTP_QUERY_STATUS_TEXT
WINHTTP_QUERY_TITLE
WINHTTP_QUERY_TRANSFER_ENCODING
WINHTTP_QUERY_UNLESS_MODIFIED_SINCE
WINHTTP_QUERY_UPGRADE
WINHTTP_QUERY_URI
WINHTTP_QUERY_USER_AGENT
WINHTTP_QUERY_VARY
WINHTTP_QUERY_VERSION
WINHTTP_QUERY_VIA
WINHTTP_QUERY_WARNING
WINHTTP_QUERY_WWW_AUTHENTICATE
WINHTTP_RESET_ALL
WINHTTP_RESET_NOTIFY_NETWORK_CHANGED
WINHTTP_RESET_OUT_OF_PROC
WINHTTP_RESET_SCRIPT_CACHE
WINHTTP_RESET_STATE
WINHTTP_RESET_SWPAD_ALL
WINHTTP_RESET_SWPAD_CURRENT_NETWORK
WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS
WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE
WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE
WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE
WINHTTP_WEB_SOCKET_CLOSE_OPERATION
WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS
WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS
WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS
WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS
WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS
WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS
WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS
WINHTTP_WEB_SOCKET_RECEIVE_OPERATION
WINHTTP_WEB_SOCKET_SEND_OPERATION
WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS
WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION
WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS
WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS
WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE
WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE
WinHttpProxySettingsTypeUnknown
WinHttpProxySettingsTypeWsa
WinHttpProxySettingsTypeWsl

Functions§

check_platform
crack_url
create_url
delete
Perform a one-shot synchronous DELETE request.
detect_auto_proxy_config_url
Detects the auto-proxy configuration URL (WPAD)
get
Perform a one-shot synchronous GET request.
get_default_proxy_config
Gets the default WinHTTP proxy configuration
get_ie_proxy_config
Gets the Internet Explorer proxy configuration for the current user
head
Perform a one-shot synchronous HEAD request.
patch
Perform a one-shot synchronous PATCH request.
post
Perform a one-shot synchronous POST request.
put
Perform a one-shot synchronous PUT request.
set_default_proxy_config
Sets the default WinHTTP proxy configuration
time_from_system_time
Converts a SYSTEMTIME to HTTP time format string (RFC 1123)
time_to_system_time
Converts an HTTP time format string (RFC 1123) to SYSTEMTIME

Type Aliases§

WINHTTP_STATUS_CALLBACK
WinResult
A specialized Result type that provides Windows error information.

Unions§

WINHTTP_HEADER_NAME