/// <summary> /// Gets the value of the x-ms-date or Date header. /// </summary> /// <param name="request">The request where the value is read from.</param> /// <returns>The value of the x-ms-date or Date header.</returns> public static string GetPreferredDateHeaderValue(HttpRequestMessage request) { string microsoftDateHeaderValue = HttpResponseMessageUtils.GetHeaderSingleValueOrDefault(request.Headers, Constants.HeaderConstants.Date); if (!string.IsNullOrEmpty(microsoftDateHeaderValue)) { return(microsoftDateHeaderValue); } return(AuthenticationUtility.GetCanonicalizedHeaderValue(request.Headers.Date)); }
/// <summary> /// Appends the value of the Date header (or, optionally, the x-ms-date header) to the specified canonicalized string. /// </summary> /// <param name="canonicalizedString">The canonicalized string where the value is appended.</param> /// <param name="request">The request where the value is read from.</param> /// <param name="allowMicrosoftDateHeader">true if the value of the x-ms-date header can be used and is preferred; otherwise, false.</param> public static void AppendCanonicalizedDateHeader(CanonicalizedString canonicalizedString, HttpRequestMessage request, bool allowMicrosoftDateHeader = false) { string microsoftDateHeaderValue = HttpResponseMessageUtils.GetHeaderSingleValueOrDefault(request.Headers, Constants.HeaderConstants.Date); if (string.IsNullOrEmpty(microsoftDateHeaderValue)) { canonicalizedString.AppendCanonicalizedElement(AuthenticationUtility.GetCanonicalizedHeaderValue(request.Headers.Date)); } else if (allowMicrosoftDateHeader) { canonicalizedString.AppendCanonicalizedElement(microsoftDateHeaderValue); } else { canonicalizedString.AppendCanonicalizedElement(null); } }