17#include "azure/core/internal/unique_handle.hpp"
30namespace Azure {
namespace Core {
namespace Http {
32 class WinHttpTransportImpl;
116 std::unique_ptr<_detail::WinHttpTransportImpl> m_impl;
125 std::unique_ptr<_detail::WinHttpRequest>
const& request)
const;
146 virtual std::unique_ptr<RawResponse>
Send(
Request& request,
Context const& context)
override;
155 friend _detail::WinHttpTransportImpl;
A context is a node within a unidirectional tree that represents deadlines and key/value pairs.
Definition context.hpp:72
Base class for all HTTP transport implementations.
Definition transport.hpp:22
A request message from a client to a server.
Definition http.hpp:183
Concrete implementation of an HTTP transport that uses WinHTTP when sending and receiving requests an...
Definition win_http_transport.hpp:114
virtual std::unique_ptr< RawResponse > Send(Request &request, Context const &context) override
Implements the HTTP transport interface to send an HTTP Request and produce an HTTP RawResponse.
Definition win_http_transport.cpp:496
virtual void OnUpgradedConnection(std::unique_ptr< _detail::WinHttpRequest > const &request) const
Callback to allow a derived transport to extract the request handle. Used for WebSocket transports.
Definition win_http_transport.cpp:503
Manages an optional contained value, i.e. a value that may or may not be present.
Definition nullable.hpp:30
Context for canceling long running operations.
HTTP request and response functionality.
Compute the hash value for the input binary data, using SHA256, SHA384 and SHA512.
Definition azure_assert.hpp:57
Manages an optional contained value, i.e. a value that may or may not be present.
HTTP transport policies, and their options.
HTTP transport options parameterize the HTTP transport adapter being used.
Definition policy.hpp:166
Sets the WinHTTP session and connection options used to customize the behavior of the transport.
Definition win_http_transport.hpp:41
bool EnableCertificateRevocationListCheck
If True, enables checks for certificate revocation.
Definition win_http_transport.hpp:70
std::vector< std::string > ExpectedTlsRootCertificates
Array of Base64 encoded DER encoded X.509 certificate. These certificates should form a chain of cert...
Definition win_http_transport.hpp:101
bool IgnoreUnknownCertificateAuthority
When true, allows an invalid certificate authority.
Definition win_http_transport.hpp:45
bool EnableSystemDefaultProxy
If True, enables the use of the system default proxy.
Definition win_http_transport.hpp:65
bool IgnoreInvalidCertificateCommonName
When true, allows an invalid common name in a certificate.
Definition win_http_transport.hpp:50
PCCERT_CONTEXT TlsClientCertificate
TLS Client Certificate Context, used when the TLS Server requests mTLS client authentication.
Definition win_http_transport.hpp:107
Azure::Nullable< std::string > ProxyUserName
User name for proxy authentication.
Definition win_http_transport.hpp:89
std::string ProxyInformation
Proxy information.
Definition win_http_transport.hpp:84
Azure::Nullable< std::string > ProxyPassword
Password for proxy authentication.
Definition win_http_transport.hpp:94
Utilities to be used by HTTP transport implementations.
Uniform Resource Locator (URL).
const struct _CERT_CONTEXT * PCCERT_CONTEXT
Declaration of a Windows PCCERT_CONTEXT structure from the Windows SDK.
Definition win_http_transport.hpp:28