/// <summary> /// Optionally update the Content-Length header if we've sanitized it /// and the new value is a different length from the original /// Content-Length header. We don't add a Content-Length header if it /// wasn't already present. /// </summary> /// <param name="requestOrResponse">The Request or Response message</param> protected internal static void UpdateSanitizedContentLength(RequestOrResponse requestOrResponse) { var headers = requestOrResponse.Headers; int sanitizedLength = requestOrResponse.Body?.Length ?? 0; // Only update Content-Length if already present. if (headers.ContainsKey("Content-Length")) { headers["Content-Length"] = new string[] { sanitizedLength.ToString(CultureInfo.InvariantCulture) }; } }
public virtual void SanitizeBody(RequestOrResponse message) { if (message.Body != null) { message.TryGetContentType(out string contentType); if (message.TryGetBodyAsText(out string text)) { message.Body = Encoding.UTF8.GetBytes(SanitizeTextBody(contentType, text)); } else { message.Body = SanitizeBody(contentType, message.Body); } UpdateSanitizedContentLength(message); } }
private static void DeserializeBody(RequestOrResponse requestOrResponse, in JsonElement property)