diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index 490e5c865..1165acaf3 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -27,6 +27,7 @@ - Renamed `Azure::Core::Http::RawResponse::GetBodyStream()` to `ExtractBodyStream()`. - Removed `GetUrlWithoutQuery()` and `GetUrlAuthorityWithScheme()` from `Azure::Core::Url`. - Changed the `Azure::Core::Http::HttpMethod` regular enum into an extensible enum class and removed the `HttpMethodToString` helper method. +- Removed `Azure::Core::Http::Request::GetHeadersAsString()`. - Introduced `Azure::Core::Context::Key` class which takes place of `std::string` used for `Azure::Core::Context` keys previously. ## 1.0.0-beta.7 (2021-03-11) diff --git a/sdk/core/azure-core/inc/azure/core/http/http.hpp b/sdk/core/azure-core/inc/azure/core/http/http.hpp index faa923b24..7fa7211d4 100644 --- a/sdk/core/azure-core/inc/azure/core/http/http.hpp +++ b/sdk/core/azure-core/inc/azure/core/http/http.hpp @@ -223,11 +223,6 @@ namespace Azure { namespace Core { namespace Http { */ Azure::Core::IO::BodyStream* GetBodyStream() { return this->m_bodyStream; } - /** - * @brief Get the list of headers prior to HTTP body. - */ - std::string GetHeadersAsString() const; - /** * @brief A value indicating whether download is happening via stream. */ diff --git a/sdk/core/azure-core/src/http/curl/curl.cpp b/sdk/core/azure-core/src/http/curl/curl.cpp index 14dceb182..8b114f694 100644 --- a/sdk/core/azure-core/src/http/curl/curl.cpp +++ b/sdk/core/azure-core/src/http/curl/curl.cpp @@ -150,6 +150,22 @@ void static inline SetHeader(Azure::Core::Http::RawResponse& response, std::stri reinterpret_cast(header.data() + header.size())); } +static inline std::string GetHeadersAsString(Azure::Core::Http::Request const& request) +{ + std::string requestHeaderString; + + for (auto const& header : request.GetHeaders()) + { + requestHeaderString += header.first; // string (key) + requestHeaderString += ": "; + requestHeaderString += header.second; // string's value + requestHeaderString += "\r\n"; + } + requestHeaderString += "\r\n"; + + return requestHeaderString; +} + // Writes an HTTP request with RFC 7230 without the body (head line and headers) // https://tools.ietf.org/html/rfc7230#section-3.1.1 static inline std::string GetHTTPMessagePreBody(Azure::Core::Http::Request const& request) @@ -160,7 +176,7 @@ static inline std::string GetHTTPMessagePreBody(Azure::Core::Http::Request const httpRequest += " /" + url + " HTTP/1.1\r\n"; // headers - httpRequest += request.GetHeadersAsString(); + httpRequest += GetHeadersAsString(request); return httpRequest; } diff --git a/sdk/core/azure-core/src/http/request.cpp b/sdk/core/azure-core/src/http/request.cpp index b74e1a064..0fa503507 100644 --- a/sdk/core/azure-core/src/http/request.cpp +++ b/sdk/core/azure-core/src/http/request.cpp @@ -58,19 +58,3 @@ Azure::Core::CaseInsensitiveMap Request::GetHeaders() const // to override them with any duplicate header return MergeMaps(this->m_retryHeaders, this->m_headers); } - -std::string Request::GetHeadersAsString() const -{ - std::string requestHeaderString; - - for (auto const& header : this->GetHeaders()) - { - requestHeaderString += header.first; // string (key) - requestHeaderString += ": "; - requestHeaderString += header.second; // string's value - requestHeaderString += "\r\n"; - } - requestHeaderString += "\r\n"; - - return requestHeaderString; -} 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 a793dc58e..bcbe5212d 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 @@ -167,6 +167,22 @@ void SetHeaders(std::string const& headers, std::unique_ptr& rawRes } } +std::string GetHeadersAsString(Azure::Core::Http::Request const& request) +{ + std::string requestHeaderString; + + for (auto const& header : request.GetHeaders()) + { + requestHeaderString += header.first; // string (key) + requestHeaderString += ": "; + requestHeaderString += header.second; // string's value + requestHeaderString += "\r\n"; + } + requestHeaderString += "\r\n"; + + return requestHeaderString; +} + } // namespace void GetErrorAndThrow(const std::string& exceptionMessage) @@ -302,7 +318,7 @@ void WinHttpTransport::SendRequest(std::unique_ptr<_detail::HandleManager>& hand { // The encodedHeaders will be null-terminated and the length is calculated. encodedHeadersLength = -1; - std::string requestHeaderString = handleManager->m_request.GetHeadersAsString(); + std::string requestHeaderString = GetHeadersAsString(handleManager->m_request); requestHeaderString.append("\0"); encodedHeaders = StringToWideString(requestHeaderString);