public static async Task CopyStreamTo(this HttpRequest incomingRequest, HttpWebRequest targetRequest) { targetRequest.CopyContentHeadersFrom(incomingRequest); targetRequest.ContentType = incomingRequest.ContentType; if (incomingRequest.ContentLength != null) { targetRequest.ContentLength = (long)incomingRequest.ContentLength; } targetRequest.Method = incomingRequest.Method; await using var targetStream = targetRequest.GetRequestStream(); await incomingRequest.Body.CopyToAsync(targetStream); }