diff --git a/sdk/core/azure-core/inc/azure/core/http/win_http_transport.hpp b/sdk/core/azure-core/inc/azure/core/http/win_http_transport.hpp index d85c55b39..2fe6c08b3 100644 --- a/sdk/core/azure-core/inc/azure/core/http/win_http_transport.hpp +++ b/sdk/core/azure-core/inc/azure/core/http/win_http_transport.hpp @@ -146,11 +146,29 @@ namespace Azure { namespace Core { namespace Http { */ class WinHttpTransportContextProvider { public: - // Factory with no constructor + /** + * @brief Remove constructor. This is a factory only class. Should not be instantiated. + * + */ WinHttpTransportContextProvider() = delete; - // Creates a set up token to make + /** + * @brief Creates a context child from \p parent that contains a key and value to override the + * default winHTTP transport adapter implementation. + * + * @param parent The parent context is used to create the child context. + * @return Azure::Core::Context + */ static Azure::Core::Context GetNoClientCertificateContext(Azure::Core::Context const& parent); + + /** + * @brief Validate if \p context containst a key and value for overriding `no client + * certificate` default implementation. + * + * @param context The context represent a list of nodes, and all nodes are evaluated while + * looking for the `no client certificate` key. + * @return true when the `no client certificate` key is found within the context. + */ static bool HasNoClientCertificateConfiguration(Azure::Core::Context const& context); }; } // namespace _internal diff --git a/sdk/core/azure-core/src/http/winhttp/win_http_transport.cpp b/sdk/core/azure-core/src/http/winhttp/win_http_transport.cpp index 1e61ffafa..5ed6513e8 100644 --- a/sdk/core/azure-core/src/http/winhttp/win_http_transport.cpp +++ b/sdk/core/azure-core/src/http/winhttp/win_http_transport.cpp @@ -196,6 +196,11 @@ std::string GetHeadersAsString(Azure::Core::Http::Request const& request) return requestHeaderString; } +/** + * @brief A key used to override the default winHTTP transport behavior when a Service requires a + * client certificate. + * + */ Azure::Core::Context::Key NoClientCertificateConfiguration; } // namespace