Remove Azure::Core::Http::Request::GetHeadersAsString(). (#2056)

* Remove Azure::Core::Http::Request::GetHeadersAsString().

* Address PR feedback.
This commit is contained in:
Ahson Khan 2021-04-06 19:05:57 -07:00 committed by GitHub
parent 304300c928
commit aba89c5a32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 23 deletions

View File

@ -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)

View File

@ -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.
*/

View File

@ -150,6 +150,22 @@ void static inline SetHeader(Azure::Core::Http::RawResponse& response, std::stri
reinterpret_cast<uint8_t const*>(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;
}

View File

@ -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;
}

View File

@ -167,6 +167,22 @@ void SetHeaders(std::string const& headers, std::unique_ptr<RawResponse>& 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);