Log policy extra headers (#5868)

* log policy extra headers

* failing test

* adding back WWW-Authenticate

* changelog update

* Update sdk/core/azure-core/CHANGELOG.md

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

---------

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
This commit is contained in:
George Arama 2024-08-07 10:40:37 -07:00 committed by GitHub
parent 28baef9b80
commit 70dc0ebecb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 51 additions and 27 deletions

View File

@ -4,6 +4,7 @@
### Features Added
- Request logs to now include the `accept-range`, `content-range`, `range`, `WWW-Authenticate`, `x-ms-date`, `x-ms-error-code`, `x-ms-range`, and `x-ms-version` headers.
### Breaking Changes
### Bugs Fixed

View File

@ -70,32 +70,39 @@ std::set<std::string> const Policies::_detail::g_defaultAllowedHttpQueryParamete
"api-version",
};
CaseInsensitiveSet const Policies::_detail::g_defaultAllowedHttpHeaders = {
"Accept",
"Cache-Control",
"Connection",
"Content-Length",
"Content-Type",
"Date",
"ETag",
"Expires",
"If-Match",
"If-Modified-Since",
"If-None-Match",
"If-Unmodified-Since",
"Last-Modified",
"Pragma",
"Request-Id",
"Retry-After",
"Server",
"traceparent",
"tracestate",
"Transfer-Encoding",
"User-Agent",
"x-ms-client-request-id",
"x-ms-request-id",
"x-ms-return-client-request-id",
};
CaseInsensitiveSet const Policies::_detail::g_defaultAllowedHttpHeaders
= {"Accept",
"Accept-Ranges",
"Cache-Control",
"Connection",
"Content-Length",
"Content-Range",
"Content-Type",
"Date",
"ETag",
"Expires",
"If-Match",
"If-Modified-Since",
"If-None-Match",
"If-Unmodified-Since",
"Last-Modified",
"Pragma",
"Range",
"Request-Id",
"Retry-After",
"Server",
"traceparent",
"tracestate",
"Transfer-Encoding",
"User-Agent",
"WWW-Authenticate",
"x-ms-client-request-id",
"x-ms-date",
"x-ms-error-code",
"x-ms-range",
"x-ms-request-id",
"x-ms-return-client-request-id",
"x-ms-version"};
std::unique_ptr<RawResponse> LogPolicy::Send(
Request& request,

View File

@ -71,9 +71,11 @@ void SendRequest(
{
request.SetHeader("Accept", "Accept");
request.SetHeader("accept-ranges", "Accept-Ranges");
request.SetHeader("Cache-Control", "Cache-Control");
request.SetHeader("Connection", "Connection");
request.SetHeader("Content-Length", "Content-Length");
request.SetHeader("content-range", "Content-Range");
request.SetHeader("Content-Type", "Content-Type");
request.SetHeader("Date", "Date");
request.SetHeader("ETag", "ETag");
@ -84,6 +86,7 @@ void SendRequest(
request.SetHeader("If-Unmodified-Since", "If-Unmodified-Since");
request.SetHeader("Last-Modified", "Last-Modified");
request.SetHeader("Pragma", "Pragma");
request.SetHeader("range", "Range");
request.SetHeader("Request-Id", "Request-Id");
request.SetHeader("Retry-After", "Retry-After");
request.SetHeader("Server", "Server");
@ -91,9 +94,14 @@ void SendRequest(
request.SetHeader("tracestate", "tracestate");
request.SetHeader("Transfer-Encoding", "Transfer-Encoding");
request.SetHeader("User-Agent", "User-Agent");
request.SetHeader("WWW-Authenticate", "WWW-Authenticate");
request.SetHeader("x-ms-client-request-id", "x-ms-client-request-id");
request.SetHeader("x-ms-date", "x-ms-date");
request.SetHeader("x-ms-error-code", "x-ms-error-code");
request.SetHeader("x-ms-range", "x-ms-range");
request.SetHeader("x-ms-request-id", "x-ms-request-id");
request.SetHeader("x-ms-return-client-request-id", "x-ms-return-client-request-id");
request.SetHeader("x-ms-version", "x-ms-version");
}
else
{
@ -279,9 +287,11 @@ TEST(LogPolicy, DefaultHeaders)
"&qparam%25204=REDACTED"
"&qparam1=REDACTED"
"\naccept : Accept"
"\naccept-ranges : Accept-Ranges"
"\ncache-control : Cache-Control"
"\nconnection : Connection"
"\ncontent-length : Content-Length"
"\ncontent-range : Content-Range"
"\ncontent-type : Content-Type"
"\ndate : Date"
"\netag : ETag"
@ -294,6 +304,7 @@ TEST(LogPolicy, DefaultHeaders)
"\nif-unmodified-since : If-Unmodified-Since"
"\nlast-modified : Last-Modified"
"\npragma : Pragma"
"\nrange : Range"
"\nrequest-id : Request-Id"
"\nretry-after : Retry-After"
"\nserver : Server"
@ -301,9 +312,14 @@ TEST(LogPolicy, DefaultHeaders)
"\ntracestate : tracestate"
"\ntransfer-encoding : Transfer-Encoding"
"\nuser-agent : User-Agent"
"\nwww-authenticate : WWW-Authenticate"
"\nx-ms-client-request-id : x-ms-client-request-id"
"\nx-ms-date : x-ms-date"
"\nx-ms-error-code : x-ms-error-code"
"\nx-ms-range : x-ms-range"
"\nx-ms-request-id : x-ms-request-id"
"\nx-ms-return-client-request-id : x-ms-return-client-request-id");
"\nx-ms-return-client-request-id : x-ms-return-client-request-id"
"\nx-ms-version : x-ms-version");
EXPECT_TRUE(StartsWith(entry2.Message, "HTTP/1.1 Response ("));
EXPECT_TRUE(EndsWith(entry2.Message, "ms) : 200 OKAY"));