Files
2026-04-10 22:50:51 +02:00

968 lines
30 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using BestHTTP.Statistics;
using Cpp2IlInjected;
using Org.BouncyCastle.Crypto.Tls;
using UnityEngine;
namespace BestHTTP
{
// Token: 0x02001892 RID: 6290
[Token(Token = "0x2001892")]
public static class HTTPManager
{
// Token: 0x0600932B RID: 37675 RVA: 0x001E361C File Offset: 0x001E181C
[Token(Token = "0x600932B")]
[Address(RVA = "0x171B800", Offset = "0x171A600", VA = "0x18171B800")]
static HTTPManager()
{
TimeSpan timeSpan;
HTTPManager.MaxConnectionIdleTime = timeSpan;
TimeSpan timeSpan2;
HTTPManager.ConnectTimeout = timeSpan2;
TimeSpan timeSpan3;
HTTPManager.RequestTimeout = timeSpan3;
HTTPManager.logger = new DefaultLogger();
HTTPManager.IOService = new DefaultIOService();
}
// Token: 0x17001742 RID: 5954
// (get) Token: 0x0600932C RID: 37676 RVA: 0x001E368C File Offset: 0x001E188C
// (set) Token: 0x0600932D RID: 37677 RVA: 0x001E36A0 File Offset: 0x001E18A0
[Token(Token = "0x17001742")]
public static byte MaxConnectionPerServer
{
[Token(Token = "0x600932C")]
[Address(RVA = "0x171C4C0", Offset = "0x171B2C0", VA = "0x18171C4C0")]
get
{
return HTTPManager.maxConnectionPerServer;
}
[Token(Token = "0x600932D")]
[Address(RVA = "0x171CBE0", Offset = "0x171B9E0", VA = "0x18171CBE0")]
set
{
HTTPManager.maxConnectionPerServer = value;
}
}
// Token: 0x17001743 RID: 5955
// (get) Token: 0x0600932E RID: 37678 RVA: 0x001E36C0 File Offset: 0x001E18C0
// (set) Token: 0x0600932F RID: 37679 RVA: 0x001E36D4 File Offset: 0x001E18D4
[Token(Token = "0x17001743")]
public static bool KeepAliveDefaultValue
{
[Token(Token = "0x600932E")]
[Address(RVA = "0x171C280", Offset = "0x171B080", VA = "0x18171C280")]
get;
[Token(Token = "0x600932F")]
[Address(RVA = "0x171CAC0", Offset = "0x171B8C0", VA = "0x18171CAC0")]
set;
}
// Token: 0x17001744 RID: 5956
// (get) Token: 0x06009330 RID: 37680 RVA: 0x001E36E8 File Offset: 0x001E18E8
// (set) Token: 0x06009331 RID: 37681 RVA: 0x001E36FC File Offset: 0x001E18FC
[Token(Token = "0x17001744")]
public static bool IsCachingDisabled
{
[Token(Token = "0x6009330")]
[Address(RVA = "0x171C160", Offset = "0x171AF60", VA = "0x18171C160")]
get;
[Token(Token = "0x6009331")]
[Address(RVA = "0x171C9A0", Offset = "0x171B7A0", VA = "0x18171C9A0")]
set;
}
// Token: 0x17001745 RID: 5957
// (get) Token: 0x06009332 RID: 37682 RVA: 0x001E3710 File Offset: 0x001E1910
// (set) Token: 0x06009333 RID: 37683 RVA: 0x001E3724 File Offset: 0x001E1924
[Token(Token = "0x17001745")]
public static TimeSpan MaxConnectionIdleTime
{
[Token(Token = "0x6009332")]
[Address(RVA = "0x171C460", Offset = "0x171B260", VA = "0x18171C460")]
get;
[Token(Token = "0x6009333")]
[Address(RVA = "0x171CB80", Offset = "0x171B980", VA = "0x18171CB80")]
set;
}
// Token: 0x17001746 RID: 5958
// (get) Token: 0x06009334 RID: 37684 RVA: 0x001E3738 File Offset: 0x001E1938
// (set) Token: 0x06009335 RID: 37685 RVA: 0x001E374C File Offset: 0x001E194C
[Token(Token = "0x17001746")]
public static bool IsCookiesEnabled
{
[Token(Token = "0x6009334")]
[Address(RVA = "0x171C1C0", Offset = "0x171AFC0", VA = "0x18171C1C0")]
get;
[Token(Token = "0x6009335")]
[Address(RVA = "0x171CA00", Offset = "0x171B800", VA = "0x18171CA00")]
set;
}
// Token: 0x17001747 RID: 5959
// (get) Token: 0x06009336 RID: 37686 RVA: 0x001E3760 File Offset: 0x001E1960
// (set) Token: 0x06009337 RID: 37687 RVA: 0x001E3774 File Offset: 0x001E1974
[Token(Token = "0x17001747")]
public static uint CookieJarSize
{
[Token(Token = "0x6009336")]
[Address(RVA = "0x171BE10", Offset = "0x171AC10", VA = "0x18171BE10")]
get;
[Token(Token = "0x6009337")]
[Address(RVA = "0x171C7C0", Offset = "0x171B5C0", VA = "0x18171C7C0")]
set;
}
// Token: 0x17001748 RID: 5960
// (get) Token: 0x06009338 RID: 37688 RVA: 0x001E3788 File Offset: 0x001E1988
// (set) Token: 0x06009339 RID: 37689 RVA: 0x001E379C File Offset: 0x001E199C
[Token(Token = "0x17001748")]
public static bool EnablePrivateBrowsing
{
[Token(Token = "0x6009338")]
[Address(RVA = "0x171BF90", Offset = "0x171AD90", VA = "0x18171BF90")]
get;
[Token(Token = "0x6009339")]
[Address(RVA = "0x171C940", Offset = "0x171B740", VA = "0x18171C940")]
set;
}
// Token: 0x17001749 RID: 5961
// (get) Token: 0x0600933A RID: 37690 RVA: 0x001E37B0 File Offset: 0x001E19B0
// (set) Token: 0x0600933B RID: 37691 RVA: 0x001E37C4 File Offset: 0x001E19C4
[Token(Token = "0x17001749")]
public static TimeSpan ConnectTimeout
{
[Token(Token = "0x600933A")]
[Address(RVA = "0x171BDB0", Offset = "0x171ABB0", VA = "0x18171BDB0")]
get;
[Token(Token = "0x600933B")]
[Address(RVA = "0x171C760", Offset = "0x171B560", VA = "0x18171C760")]
set;
}
// Token: 0x1700174A RID: 5962
// (get) Token: 0x0600933C RID: 37692 RVA: 0x001E37D8 File Offset: 0x001E19D8
// (set) Token: 0x0600933D RID: 37693 RVA: 0x001E37EC File Offset: 0x001E19EC
[Token(Token = "0x1700174A")]
public static TimeSpan RequestTimeout
{
[Token(Token = "0x600933C")]
[Address(RVA = "0x171C640", Offset = "0x171B440", VA = "0x18171C640")]
get;
[Token(Token = "0x600933D")]
[Address(RVA = "0x171CD90", Offset = "0x171BB90", VA = "0x18171CD90")]
set;
}
// Token: 0x1700174B RID: 5963
// (get) Token: 0x0600933E RID: 37694 RVA: 0x001E3800 File Offset: 0x001E1A00
// (set) Token: 0x0600933F RID: 37695 RVA: 0x001E3814 File Offset: 0x001E1A14
[Token(Token = "0x1700174B")]
public static Func<string> RootCacheFolderProvider
{
[Token(Token = "0x600933E")]
[Address(RVA = "0x171C6A0", Offset = "0x171B4A0", VA = "0x18171C6A0")]
get;
[Token(Token = "0x600933F")]
[Address(RVA = "0x171CDF0", Offset = "0x171BBF0", VA = "0x18171CDF0")]
set;
}
// Token: 0x1700174C RID: 5964
// (get) Token: 0x06009340 RID: 37696 RVA: 0x001E3828 File Offset: 0x001E1A28
// (set) Token: 0x06009341 RID: 37697 RVA: 0x001E383C File Offset: 0x001E1A3C
[Token(Token = "0x1700174C")]
public static Proxy Proxy
{
[Token(Token = "0x6009340")]
[Address(RVA = "0x171C5E0", Offset = "0x171B3E0", VA = "0x18171C5E0")]
get;
[Token(Token = "0x6009341")]
[Address(RVA = "0x171CD30", Offset = "0x171BB30", VA = "0x18171CD30")]
set;
}
// Token: 0x1700174D RID: 5965
// (get) Token: 0x06009342 RID: 37698 RVA: 0x001E3850 File Offset: 0x001E1A50
[Token(Token = "0x1700174D")]
public static HeartbeatManager Heartbeats
{
[Token(Token = "0x6009342")]
[Address(RVA = "0x171BFF0", Offset = "0x171ADF0", VA = "0x18171BFF0")]
get
{
HeartbeatManager heartbeatManager = new HeartbeatManager();
List<IHeartbeat> list = new List();
heartbeatManager.Heartbeats = list;
DateTime minValue = DateTime.MinValue;
heartbeatManager.LastUpdate = minValue;
HTTPManager.heartbeats = heartbeatManager;
return HTTPManager.heartbeats;
}
}
// Token: 0x1700174E RID: 5966
// (get) Token: 0x06009343 RID: 37699 RVA: 0x001E3890 File Offset: 0x001E1A90
// (set) Token: 0x06009344 RID: 37700 RVA: 0x001E38C8 File Offset: 0x001E1AC8
[Token(Token = "0x1700174E")]
public static BestHTTP.Logger.ILogger Logger
{
[Token(Token = "0x6009343")]
[Address(RVA = "0x171C2E0", Offset = "0x171B0E0", VA = "0x18171C2E0")]
get
{
HTTPManager.logger = new DefaultLogger();
BestHTTP.Logger.ILogger logger = HTTPManager.logger;
int num = 0;
num += num;
num++;
return HTTPManager.logger;
}
[Token(Token = "0x6009344")]
[Address(RVA = "0x171CB20", Offset = "0x171B920", VA = "0x18171CB20")]
set
{
HTTPManager.logger = value;
}
}
// Token: 0x1700174F RID: 5967
// (get) Token: 0x06009345 RID: 37701 RVA: 0x001E38DC File Offset: 0x001E1ADC
// (set) Token: 0x06009346 RID: 37702 RVA: 0x001E38F0 File Offset: 0x001E1AF0
[Token(Token = "0x1700174F")]
public static ICertificateVerifyer DefaultCertificateVerifyer
{
[Token(Token = "0x6009345")]
[Address(RVA = "0x171BE70", Offset = "0x171AC70", VA = "0x18171BE70")]
get;
[Token(Token = "0x6009346")]
[Address(RVA = "0x171C820", Offset = "0x171B620", VA = "0x18171C820")]
set;
}
// Token: 0x17001750 RID: 5968
// (get) Token: 0x06009347 RID: 37703 RVA: 0x001E3904 File Offset: 0x001E1B04
// (set) Token: 0x06009348 RID: 37704 RVA: 0x001E3918 File Offset: 0x001E1B18
[Token(Token = "0x17001750")]
public static IClientCredentialsProvider DefaultClientCredentialsProvider
{
[Token(Token = "0x6009347")]
[Address(RVA = "0x171BF30", Offset = "0x171AD30", VA = "0x18171BF30")]
get;
[Token(Token = "0x6009348")]
[Address(RVA = "0x171C8E0", Offset = "0x171B6E0", VA = "0x18171C8E0")]
set;
}
// Token: 0x17001751 RID: 5969
// (get) Token: 0x06009349 RID: 37705 RVA: 0x001E392C File Offset: 0x001E1B2C
// (set) Token: 0x0600934A RID: 37706 RVA: 0x001E3940 File Offset: 0x001E1B40
[Token(Token = "0x17001751")]
public static bool UseAlternateSSLDefaultValue
{
[Token(Token = "0x6009349")]
[Address(RVA = "0x171C700", Offset = "0x171B500", VA = "0x18171C700")]
get;
[Token(Token = "0x600934A")]
[Address(RVA = "0x171CE50", Offset = "0x171BC50", VA = "0x18171CE50")]
set;
}
// Token: 0x17001752 RID: 5970
// (get) Token: 0x0600934B RID: 37707 RVA: 0x001E3954 File Offset: 0x001E1B54
// (set) Token: 0x0600934C RID: 37708 RVA: 0x001E3968 File Offset: 0x001E1B68
[Token(Token = "0x17001752")]
public static Func<HTTPRequest, X509Certificate, X509Chain, bool> DefaultCertificationValidator
{
[Token(Token = "0x600934B")]
[Address(RVA = "0x171BED0", Offset = "0x171ACD0", VA = "0x18171BED0")]
get;
[Token(Token = "0x600934C")]
[Address(RVA = "0x171C880", Offset = "0x171B680", VA = "0x18171C880")]
set;
}
// Token: 0x17001753 RID: 5971
// (get) Token: 0x0600934D RID: 37709 RVA: 0x001E397C File Offset: 0x001E1B7C
// (set) Token: 0x0600934E RID: 37710 RVA: 0x001E3990 File Offset: 0x001E1B90
[Token(Token = "0x17001753")]
public static Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x600934D")]
[Address(RVA = "0x171C580", Offset = "0x171B380", VA = "0x18171C580")]
get;
[Token(Token = "0x600934E")]
[Address(RVA = "0x171CCD0", Offset = "0x171BAD0", VA = "0x18171CCD0")]
set;
}
// Token: 0x17001754 RID: 5972
// (get) Token: 0x0600934F RID: 37711 RVA: 0x001E39A4 File Offset: 0x001E1BA4
// (set) Token: 0x06009350 RID: 37712 RVA: 0x001E39B8 File Offset: 0x001E1BB8
[Token(Token = "0x17001754")]
internal static int MaxPathLength
{
[Token(Token = "0x600934F")]
[Address(RVA = "0x171C520", Offset = "0x171B320", VA = "0x18171C520")]
get;
[Token(Token = "0x6009350")]
[Address(RVA = "0x171CC70", Offset = "0x171BA70", VA = "0x18171CC70")]
set;
}
// Token: 0x17001755 RID: 5973
// (get) Token: 0x06009351 RID: 37713 RVA: 0x001E39CC File Offset: 0x001E1BCC
// (set) Token: 0x06009352 RID: 37714 RVA: 0x001E39E0 File Offset: 0x001E1BE0
[Token(Token = "0x17001755")]
internal static bool IsQuitting
{
[Token(Token = "0x6009351")]
[Address(RVA = "0x171C220", Offset = "0x171B020", VA = "0x18171C220")]
get;
[Token(Token = "0x6009352")]
[Address(RVA = "0x171CA60", Offset = "0x171B860", VA = "0x18171CA60")]
private set;
}
// Token: 0x06009353 RID: 37715 RVA: 0x001E39F4 File Offset: 0x001E1BF4
[Token(Token = "0x6009353")]
[Address(RVA = "0x17198E0", Offset = "0x17186E0", VA = "0x1817198E0")]
[CBEAKPMNJOL(LGFJHLDANJN.Unity_AfterSceneLoad)]
private static void InitializeOnLoad()
{
}
// Token: 0x06009354 RID: 37716 RVA: 0x001E3A04 File Offset: 0x001E1C04
[Token(Token = "0x6009354")]
[Address(RVA = "0x171B760", Offset = "0x171A560", VA = "0x18171B760")]
public static void Setup()
{
HTTPUpdateDelegator.CheckInstance();
HTTPCacheService.CheckSetup();
CookieJar.SetupFolder();
}
// Token: 0x06009355 RID: 37717 RVA: 0x001E3A28 File Offset: 0x001E1C28
[Token(Token = "0x6009355")]
[Address(RVA = "0x171B2D0", Offset = "0x171A0D0", VA = "0x18171B2D0")]
public static HTTPRequest SendRequest(string url, OnRequestFinishedDelegate callback)
{
int num;
HTTPRequest httprequest = new HTTPRequest(new Uri(url), (HTTPMethods)num, callback);
num = 0;
return HTTPManager.SendRequest(httprequest);
}
// Token: 0x06009356 RID: 37718 RVA: 0x001E3A4C File Offset: 0x001E1C4C
[Token(Token = "0x6009356")]
[Address(RVA = "0x171B380", Offset = "0x171A180", VA = "0x18171B380")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, callback));
}
// Token: 0x06009357 RID: 37719 RVA: 0x001E3A6C File Offset: 0x001E1C6C
[Token(Token = "0x6009357")]
[Address(RVA = "0x171B140", Offset = "0x1719F40", VA = "0x18171B140")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
bool flag;
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, isKeepAlive, flag, callback));
}
// Token: 0x06009358 RID: 37720 RVA: 0x001E3A94 File Offset: 0x001E1C94
[Token(Token = "0x6009358")]
[Address(RVA = "0x171B440", Offset = "0x171A240", VA = "0x18171B440")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
Uri uri = new Uri(url);
HTTPRequest httprequest;
return HTTPManager.SendRequest(httprequest);
}
// Token: 0x06009359 RID: 37721 RVA: 0x001E3AB0 File Offset: 0x001E1CB0
[Token(Token = "0x6009359")]
[Address(RVA = "0x171B520", Offset = "0x171A320", VA = "0x18171B520")]
public static HTTPRequest SendRequest(HTTPRequest request)
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
HTTPUpdateDelegator.CheckInstance();
HTTPCacheService.CheckSetup();
CookieJar.SetupFolder();
HTTPManager.SendRequestImpl(request);
request.<State>k__BackingField = (HTTPRequestStates)((ulong)1L);
HTTPManager.RequestQueue.Add(request);
Monitor.Exit(locker);
}
while (num != 0);
return request;
}
// Token: 0x0600935A RID: 37722 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600935A")]
[Address(RVA = "0x17191B0", Offset = "0x1717FB0", VA = "0x1817191B0")]
public static GeneralStatistics GetGeneralStatistics(StatisticsQueryFlags queryFlags)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600935B RID: 37723 RVA: 0x001E3B0C File Offset: 0x001E1D0C
[Token(Token = "0x600935B")]
[Address(RVA = "0x171ADF0", Offset = "0x1719BF0", VA = "0x18171ADF0")]
private static void SendRequestImpl(HTTPRequest request)
{
int num;
ConnectionBase conn3;
do
{
ConnectionBase connectionBase = HTTPManager.FindOrCreateFreeConnection(request);
ConnectionBase conn = connectionBase;
num = 0;
if (request != 0)
{
goto IL_CA;
}
if (num != -1)
{
}
if (conn == (ulong)0L)
{
goto IL_A9;
}
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
Predicate<ConnectionBase> predicate = (ConnectionBase c) => c == conn;
if (activeConnections.Find(predicate) == 0)
{
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
ConnectionBase conn4 = conn;
activeConnections2.Add(conn4);
}
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
ConnectionBase conn2 = conn;
bool flag = freeConnections.Remove(conn2);
request.<State>k__BackingField = (HTTPRequestStates)((ulong)2L);
conn3 = conn;
conn3.Process(request);
num++;
}
while (conn3 != 0);
if (num != -1)
{
}
IL_A9:
request.<State>k__BackingField = (HTTPRequestStates)((ulong)1L);
HTTPManager.RequestQueue.Add(request);
return;
IL_CA:
throw new NullReferenceException();
}
// Token: 0x0600935C RID: 37724 RVA: 0x001E3C00 File Offset: 0x001E1E00
[Token(Token = "0x600935C")]
[Address(RVA = "0x17194D0", Offset = "0x17182D0", VA = "0x1817194D0")]
private static string GetKeyForRequest(HTTPRequest request)
{
if (request.<IsRedirected>k__BackingField)
{
}
UriBuilder uriBuilder;
if (!request.<Uri>k__BackingField.IsFile)
{
Proxy proxy = request.<Proxy>k__BackingField;
int num;
if (proxy != 0)
{
string scheme = proxy.<Address>k__BackingField.Scheme;
string host = request.<Proxy>k__BackingField.<Address>k__BackingField.Host;
num = request.<Proxy>k__BackingField.<Address>k__BackingField.Port;
int hashCode = new UriBuilder(scheme, host, num).Uri.GetHashCode();
}
string empty = string.Empty;
if (request.<IsRedirected>k__BackingField)
{
}
string scheme2 = request.<Uri>k__BackingField.Scheme;
if (request.<IsRedirected>k__BackingField)
{
}
string host2 = request.<Uri>k__BackingField.Host;
if (request.<IsRedirected>k__BackingField)
{
}
num = request.<Uri>k__BackingField.Port;
uriBuilder = new UriBuilder(scheme2, host2, num);
int hashCode2 = uriBuilder.Uri.GetHashCode();
string text;
return text;
}
int hashCode3 = uriBuilder._changed.GetHashCode();
throw new NullReferenceException();
}
// Token: 0x0600935D RID: 37725 RVA: 0x001E3CEC File Offset: 0x001E1EEC
[Token(Token = "0x600935D")]
[Address(RVA = "0x1718A30", Offset = "0x1717830", VA = "0x181718A30")]
private static ConnectionBase CreateConnection(HTTPRequest request, string serverUrl)
{
if (request.<IsRedirected>k__BackingField)
{
}
if (request.<Uri>k__BackingField.IsFile && Application.platform != RuntimePlatform.WebGLPlayer)
{
FileConnection fileConnection = new FileConnection(serverUrl);
}
throw new NullReferenceException();
}
// Token: 0x0600935E RID: 37726 RVA: 0x001E3D28 File Offset: 0x001E1F28
[Token(Token = "0x600935E")]
[Address(RVA = "0x1718AD0", Offset = "0x17178D0", VA = "0x181718AD0")]
private static ConnectionBase FindOrCreateFreeConnection(HTTPRequest request)
{
int num = 0;
string keyForRequest = HTTPManager.GetKeyForRequest(request);
bool flag = HTTPManager.Connections.TryGetValue(keyForRequest, num);
if (!flag)
{
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
List<ConnectionBase> list = new List((int)HTTPManager.maxConnectionPerServer);
connections.Add(keyForRequest, list);
}
uint num2;
if (num < (flag ? 1 : 0))
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag2;
if (flag2)
{
num++;
}
num++;
num2 += (uint)8;
}
byte b = HTTPManager.maxConnectionPerServer;
if (num == 0)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag3;
bool flag4;
if (num != 0 && flag3 && flag4)
{
int num3 = 0;
if (!(num == num3))
{
if (request.<IsRedirected>k__BackingField)
{
}
string host = request.<Uri>k__BackingField.Host;
string text;
if (text.Equals(host, StringComparison.OrdinalIgnoreCase))
{
}
}
}
num++;
num2 += (uint)8;
while (num != 0)
{
}
if (num == 0)
{
byte b2 = HTTPManager.maxConnectionPerServer;
if (num < (int)b2)
{
if (request.<IsRedirected>k__BackingField)
{
}
if (!request.<Uri>k__BackingField.IsFile || Application.platform == RuntimePlatform.WebGLPlayer)
{
}
HTTPConnection httpconnection = new HTTPConnection(keyForRequest);
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600935F RID: 37727 RVA: 0x001E3E30 File Offset: 0x001E2030
[Token(Token = "0x600935F")]
[Address(RVA = "0x1718950", Offset = "0x1717750", VA = "0x181718950")]
private static bool CanProcessFromQueue()
{
int num = 0;
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
ConnectionBase connectionBase;
if (connectionBase == 0)
{
num++;
}
return true;
}
// Token: 0x06009360 RID: 37728 RVA: 0x001E3E60 File Offset: 0x001E2060
[Token(Token = "0x6009360")]
[Address(RVA = "0x171AD00", Offset = "0x1719B00", VA = "0x18171AD00")]
private static void RecycleConnection(ConnectionBase conn)
{
HTTPConnectionRecycledDelegate httpconnectionRecycledDelegate;
httpconnectionRecycledDelegate.method_ptr = ldftn(OnConnectionRecylced);
httpconnectionRecycledDelegate.method = ldftn(OnConnectionRecylced);
httpconnectionRecycledDelegate.m_target = (ulong)0L;
conn.Recycle(httpconnectionRecycledDelegate);
}
// Token: 0x06009361 RID: 37729 RVA: 0x001E3E9C File Offset: 0x001E209C
[Token(Token = "0x6009361")]
[Address(RVA = "0x1719980", Offset = "0x1718780", VA = "0x181719980")]
private static void OnConnectionRecylced(ConnectionBase conn)
{
int num;
do
{
num = 0;
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
HTTPManager.RecycledConnections.Add(conn);
Monitor.Exit(recycledConnections);
}
while (num != 0);
}
// Token: 0x06009362 RID: 37730 RVA: 0x001E3ECC File Offset: 0x001E20CC
[Token(Token = "0x6009362")]
[Address(RVA = "0x1718FF0", Offset = "0x1717DF0", VA = "0x181718FF0")]
internal static ConnectionBase GetConnectionWith(HTTPRequest request)
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
num++;
Monitor.Exit(locker);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x06009363 RID: 37731 RVA: 0x001E3F0C File Offset: 0x001E210C
[Token(Token = "0x6009363")]
[Address(RVA = "0x171AD70", Offset = "0x1719B70", VA = "0x18171AD70")]
internal static bool RemoveFromQueue(HTTPRequest request)
{
return HTTPManager.RequestQueue.Remove(request);
}
// Token: 0x06009364 RID: 37732 RVA: 0x001E3F2C File Offset: 0x001E212C
[Token(Token = "0x6009364")]
[Address(RVA = "0x1719730", Offset = "0x1718530", VA = "0x181719730")]
internal static string GetRootCacheFolder()
{
return HTTPManager.<RootCacheFolderProvider>k__BackingField();
}
// Token: 0x06009365 RID: 37733 RVA: 0x001E3F60 File Offset: 0x001E2160
[Token(Token = "0x6009365")]
[Address(RVA = "0x1719C50", Offset = "0x1718A50", VA = "0x181719C50")]
public static void OnUpdate()
{
object locker;
do
{
int num = 0;
if (!Monitor.TryEnter(HTTPManager.Locker))
{
break;
}
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
bool flag = HTTPManager.<EnablePrivateBrowsing>k__BackingField;
if (flag <= true)
{
TimeSpan timeSpan = HTTPManager.<ConnectTimeout>k__BackingField;
bool flag2;
if (flag2)
{
}
TimeSpan timeSpan2 = HTTPManager.<ConnectTimeout>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
TimeSpan timeSpan3 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan4;
if (timeSpan4 > timeSpan3)
{
byte b = HTTPManager.maxConnectionPerServer;
}
num++;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
num++;
TimeSpan timeSpan5 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
num++;
TimeSpan timeSpan6 = HTTPManager.<ConnectTimeout>k__BackingField;
if (flag)
{
while (!flag)
{
}
}
TimeSpan timeSpan7 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan8 = HTTPManager.<ConnectTimeout>k__BackingField;
while (!flag)
{
}
while (!flag)
{
}
DateTime utcNow2 = DateTime.UtcNow;
TimeSpan timeSpan9;
TimeSpan timeSpan10;
if (timeSpan9 > timeSpan10)
{
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
TimeSpan timeSpan11 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan12 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
TimeSpan timeSpan13 = HTTPManager.<ConnectTimeout>k__BackingField;
int num2 = 0;
if (typeof(HTTPManager).TypeHandle != 0)
{
goto IL_2F0;
}
if (num != -1)
{
}
int num3;
if (Monitor.TryEnter(HTTPManager.RecycledConnections))
{
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections2 = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections3 = HTTPManager.RecycledConnections;
bool flag3;
if (flag3)
{
List<ConnectionBase> activeConnections3 = HTTPManager.ActiveConnections;
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
}
num2++;
HTTPManager.RecycledConnections.Clear();
num++;
num3 = 0;
List<ConnectionBase> recycledConnections4 = HTTPManager.RecycledConnections;
Monitor.Exit(recycledConnections4);
if (recycledConnections4 != 0)
{
goto IL_31A;
}
if (num != -1)
{
}
}
List<ConnectionBase> freeConnections2 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections3 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections4 = HTTPManager.FreeConnections;
byte b2 = HTTPManager.maxConnectionPerServer;
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
bool flag4;
if (flag4)
{
}
HTTPManager.FreeConnections.RemoveAt(num3);
num3++;
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
ConnectionBase connectionBase;
if (connectionBase == 0)
{
num3++;
}
List<HTTPRequest> requestQueue3 = HTTPManager.RequestQueue;
Predicate<HTTPRequest> predicate;
if (HTTPManager.<>c.<>9__109_0 == 0)
{
predicate = delegate(HTTPRequest req)
{
throw new NullReferenceException();
};
HTTPManager.<>c.<>9__109_0 = predicate;
}
if (requestQueue3.Find(predicate) != 0)
{
List<HTTPRequest> requestQueue4 = HTTPManager.RequestQueue;
Comparison<HTTPRequest> comparison;
if (HTTPManager.<>c.<>9__109_1 == 0)
{
comparison = (HTTPRequest req1, HTTPRequest req2) => req1.<Priority>k__BackingField;
HTTPManager.<>c.<>9__109_1 = comparison;
}
requestQueue4.Sort(comparison);
}
HTTPRequest[] array = HTTPManager.RequestQueue.ToArray();
HTTPManager.RequestQueue.Clear();
if (num3 < array.Length)
{
HTTPRequest httprequest = HTTPManager.SendRequest(array[num3]);
num3++;
}
locker = HTTPManager.Locker;
Monitor.Exit(locker);
}
while (locker != 0);
HTTPManager.heartbeats.Update();
VariableSizedBufferPool.Maintain();
return;
IL_2F0:
throw new NullReferenceException();
IL_31A:
throw new NullReferenceException();
}
// Token: 0x06009366 RID: 37734 RVA: 0x001E42E0 File Offset: 0x001E24E0
[Token(Token = "0x6009366")]
[Address(RVA = "0x1719AB0", Offset = "0x17188B0", VA = "0x181719AB0")]
public static void OnQuit()
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
HTTPCacheService.SaveLibrary();
CookieJar.Persist();
HTTPManager.AbortAll(true);
HTTPManager.OnUpdate();
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x06009367 RID: 37735 RVA: 0x001E431C File Offset: 0x001E251C
[Token(Token = "0x6009367")]
[Address(RVA = "0x1718490", Offset = "0x1717290", VA = "0x181718490")]
public static void AbortAll(bool allowCallbacks = false)
{
do
{
int num = 0;
object locker = HTTPManager.Locker;
HTTPRequest[] array = HTTPManager.RequestQueue.ToArray();
HTTPManager.RequestQueue.Clear();
if (num < array.Length)
{
HTTPRequest httprequest = array[num];
httprequest.<Callback>k__BackingField = num;
httprequest.Abort();
num++;
num++;
}
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
bool flag;
if (flag)
{
bool flag2;
if (!flag2 || flag2)
{
}
if ((uint)(-1) != 0U)
{
goto IL_A2;
}
if ((ulong)((uint)(-1)) != (ulong)(-1L))
{
}
}
if ((uint)(-1) != 0U)
{
goto IL_AE;
}
if ((ulong)((uint)(-1)) != (ulong)(-1L))
{
}
HTTPManager.Connections.Clear();
}
while ((uint)(-1) != 0U);
return;
IL_A2:
throw new NullReferenceException();
IL_AE:
throw new NullReferenceException();
}
// Token: 0x0400648F RID: 25743
[Token(Token = "0x400648F")]
private static byte maxConnectionPerServer;
// Token: 0x0400649A RID: 25754
[Token(Token = "0x400649A")]
private static HeartbeatManager heartbeats;
// Token: 0x0400649B RID: 25755
[Token(Token = "0x400649B")]
private static BestHTTP.Logger.ILogger logger;
// Token: 0x040064A1 RID: 25761
[Token(Token = "0x40064A1")]
public static bool TryToMinimizeTCPLatency;
// Token: 0x040064A2 RID: 25762
[Token(Token = "0x40064A2")]
public static int SendBufferSize;
// Token: 0x040064A3 RID: 25763
[Token(Token = "0x40064A3")]
public static int ReceiveBufferSize;
// Token: 0x040064A4 RID: 25764
[Token(Token = "0x40064A4")]
public static IIOService IOService;
// Token: 0x040064A6 RID: 25766
[Token(Token = "0x40064A6")]
private static Dictionary<string, List<ConnectionBase>> Connections = new Dictionary();
// Token: 0x040064A7 RID: 25767
[Token(Token = "0x40064A7")]
private static List<ConnectionBase> ActiveConnections = new List();
// Token: 0x040064A8 RID: 25768
[Token(Token = "0x40064A8")]
private static List<ConnectionBase> FreeConnections = new List();
// Token: 0x040064A9 RID: 25769
[Token(Token = "0x40064A9")]
private static List<ConnectionBase> RecycledConnections = new List();
// Token: 0x040064AA RID: 25770
[Token(Token = "0x40064AA")]
private static List<HTTPRequest> RequestQueue = new List();
// Token: 0x040064AB RID: 25771
[Token(Token = "0x40064AB")]
private static bool IsCallingCallbacks;
// Token: 0x040064AC RID: 25772
[Token(Token = "0x40064AC")]
internal static object Locker = new object();
}
}