Move http client compression to utilities

We don't really need standalone class, contrary to my first expectation
This commit is contained in:
Archi
2023-01-15 21:46:58 +01:00
parent 164b009a32
commit bc7084ba99
2 changed files with 4 additions and 6 deletions

View File

@@ -830,7 +830,7 @@ public sealed class WebBrowser : IDisposable {
if (requestOptions.HasFlag(ERequestOptions.CompressRequest) && (requestMessage.Content.Headers.ContentEncoding.Count == 0)) {
HttpContent originalContent = requestMessage.Content;
requestMessage.Content = await CompressedContent.FromHttpContent(originalContent).ConfigureAwait(false);
requestMessage.Content = await WebBrowserUtilities.CreateCompressedHttpContent(originalContent).ConfigureAwait(false);
if (data is not HttpContent) {
// We don't need to keep old HttpContent around anymore, help GC

View File

@@ -28,10 +28,8 @@ using System.Threading.Tasks;
namespace ArchiSteamFarm.Web;
internal sealed class CompressedContent : StreamContent {
private CompressedContent(Stream content) : base(content) => ArgumentNullException.ThrowIfNull(content);
internal static async Task<CompressedContent> FromHttpContent(HttpContent content) {
internal static class WebBrowserUtilities {
internal static async Task<StreamContent> CreateCompressedHttpContent(HttpContent content) {
ArgumentNullException.ThrowIfNull(content);
// We're going to create compressed stream and copy original content to it
@@ -46,7 +44,7 @@ internal sealed class CompressedContent : StreamContent {
// Reset the position back to 0, so HttpClient can read it again
compressionOutput.Position = 0;
CompressedContent result = new(compressionOutput);
StreamContent result = new(compressionOutput);
foreach ((string? key, IEnumerable<string>? value) in content.Headers) {
result.Headers.Add(key, value);