mirror of
https://github.com/JustArchiNET/ArchiSteamFarm
synced 2024-09-20 06:22:13 +00:00
Misc bulletproofing
This commit is contained in:
parent
746e28c3a2
commit
6d697c3dda
2 changed files with 21 additions and 4 deletions
File diff suppressed because one or more lines are too long
|
@ -24,6 +24,7 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
|
@ -695,18 +696,30 @@ public sealed class WebBrowser : IDisposable {
|
|||
private async Task<HttpResponseMessage?> InternalGet(Uri request, IReadOnlyCollection<KeyValuePair<string, string>>? headers = null, Uri? referer = null, ERequestOptions requestOptions = ERequestOptions.None, HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseContentRead, CancellationToken cancellationToken = default) {
|
||||
ArgumentNullException.ThrowIfNull(request);
|
||||
|
||||
if (!Enum.IsDefined(httpCompletionOption)) {
|
||||
throw new InvalidEnumArgumentException(nameof(httpCompletionOption), (int) httpCompletionOption, typeof(HttpCompletionOption));
|
||||
}
|
||||
|
||||
return await InternalRequest<object>(request, HttpMethod.Get, headers, null, referer, requestOptions, httpCompletionOption, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private async Task<HttpResponseMessage?> InternalHead(Uri request, IReadOnlyCollection<KeyValuePair<string, string>>? headers = null, Uri? referer = null, ERequestOptions requestOptions = ERequestOptions.None, HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseContentRead, CancellationToken cancellationToken = default) {
|
||||
ArgumentNullException.ThrowIfNull(request);
|
||||
|
||||
if (!Enum.IsDefined(httpCompletionOption)) {
|
||||
throw new InvalidEnumArgumentException(nameof(httpCompletionOption), (int) httpCompletionOption, typeof(HttpCompletionOption));
|
||||
}
|
||||
|
||||
return await InternalRequest<object>(request, HttpMethod.Head, headers, null, referer, requestOptions, httpCompletionOption, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private async Task<HttpResponseMessage?> InternalPost<T>(Uri request, IReadOnlyCollection<KeyValuePair<string, string>>? headers = null, T? data = null, Uri? referer = null, ERequestOptions requestOptions = ERequestOptions.None, HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseContentRead, CancellationToken cancellationToken = default) where T : class {
|
||||
ArgumentNullException.ThrowIfNull(request);
|
||||
|
||||
if (!Enum.IsDefined(httpCompletionOption)) {
|
||||
throw new InvalidEnumArgumentException(nameof(httpCompletionOption), (int) httpCompletionOption, typeof(HttpCompletionOption));
|
||||
}
|
||||
|
||||
return await InternalRequest(request, HttpMethod.Post, headers, data, referer, requestOptions, httpCompletionOption, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
|
@ -715,6 +728,10 @@ public sealed class WebBrowser : IDisposable {
|
|||
ArgumentNullException.ThrowIfNull(request);
|
||||
ArgumentNullException.ThrowIfNull(httpMethod);
|
||||
|
||||
if (!Enum.IsDefined(httpCompletionOption)) {
|
||||
throw new InvalidEnumArgumentException(nameof(httpCompletionOption), (int) httpCompletionOption, typeof(HttpCompletionOption));
|
||||
}
|
||||
|
||||
HttpResponseMessage response;
|
||||
|
||||
while (true) {
|
||||
|
|
Loading…
Reference in a new issue