Fix request encoding error

This commit is contained in:
2023-09-21 19:40:07 +08:00
parent a71048d905
commit 762bf9cb80
3 changed files with 20 additions and 20 deletions

View File

@ -122,7 +122,7 @@ namespace Eavesdrop
if (requestArgs.Cancel) return; if (requestArgs.Cancel) return;
request = requestArgs.Request; request = requestArgs.Request;
if (requestArgs.Content != null) if (requestArgs.Content != null && requestArgs.Content != requestContent)
{ {
await local.WriteRequestContentAsync(request, requestArgs.Content).ConfigureAwait(false); await local.WriteRequestContentAsync(request, requestArgs.Content).ConfigureAwait(false);
} }

View File

@ -325,18 +325,18 @@ namespace Eavesdrop.Network
} }
Stream input = response.GetResponseStream(); Stream input = response.GetResponseStream();
if (response is HttpWebResponse httpResponse && !string.IsNullOrWhiteSpace(httpResponse.ContentEncoding)) //if (response is HttpWebResponse httpResponse && !string.IsNullOrWhiteSpace(httpResponse.ContentEncoding))
{ //{
switch (httpResponse.ContentEncoding) // switch (httpResponse.ContentEncoding)
{ // {
//case "br": input = new BrotliStream(input, CompressionMode.Decompress); break; // //case "br": input = new BrotliStream(input, CompressionMode.Decompress); break;
case "gzip": input = new GZipStream(input, CompressionMode.Decompress); break; // case "gzip": input = new GZipStream(input, CompressionMode.Decompress); break;
case "deflate": input = new DeflateStream(input, CompressionMode.Decompress); break; // case "deflate": input = new DeflateStream(input, CompressionMode.Decompress); break;
} // }
response.Headers.Remove(HttpResponseHeader.ContentLength); // response.Headers.Remove(HttpResponseHeader.ContentLength);
response.Headers.Remove(HttpResponseHeader.ContentEncoding); // response.Headers.Remove(HttpResponseHeader.ContentEncoding);
response.Headers.Add(HttpResponseHeader.TransferEncoding, "chunked"); // response.Headers.Add(HttpResponseHeader.TransferEncoding, "chunked");
} //}
return new StreamContent(input, response.ContentLength > 0 ? (int)response.ContentLength : 4096); return new StreamContent(input, response.ContentLength > 0 ? (int)response.ContentLength : 4096);
} }
public static async Task<byte[]> GetPayload(Stream input, long length) public static async Task<byte[]> GetPayload(Stream input, long length)