972 lines
30 KiB
C#
972 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: 0x02001972 RID: 6514
|
|
[Token(Token = "0x2001972")]
|
|
public static class HTTPManager
|
|
{
|
|
// Token: 0x060096F9 RID: 38649 RVA: 0x001EC6D8 File Offset: 0x001EA8D8
|
|
[Token(Token = "0x60096F9")]
|
|
[Address(RVA = "0x2A77440", Offset = "0x2A76440", VA = "0x182A77440")]
|
|
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: 0x170017DF RID: 6111
|
|
// (get) Token: 0x060096FA RID: 38650 RVA: 0x001EC748 File Offset: 0x001EA948
|
|
// (set) Token: 0x060096FB RID: 38651 RVA: 0x001EC75C File Offset: 0x001EA95C
|
|
[Token(Token = "0x170017DF")]
|
|
public static byte MaxConnectionPerServer
|
|
{
|
|
[Token(Token = "0x60096FA")]
|
|
[Address(RVA = "0x2A78100", Offset = "0x2A77100", VA = "0x182A78100")]
|
|
get
|
|
{
|
|
return HTTPManager.maxConnectionPerServer;
|
|
}
|
|
[Token(Token = "0x60096FB")]
|
|
[Address(RVA = "0x2A78820", Offset = "0x2A77820", VA = "0x182A78820")]
|
|
set
|
|
{
|
|
HTTPManager.maxConnectionPerServer = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170017E0 RID: 6112
|
|
// (get) Token: 0x060096FC RID: 38652 RVA: 0x001EC77C File Offset: 0x001EA97C
|
|
// (set) Token: 0x060096FD RID: 38653 RVA: 0x001EC790 File Offset: 0x001EA990
|
|
[Token(Token = "0x170017E0")]
|
|
public static bool KeepAliveDefaultValue
|
|
{
|
|
[Token(Token = "0x60096FC")]
|
|
[Address(RVA = "0x2A77EC0", Offset = "0x2A76EC0", VA = "0x182A77EC0")]
|
|
get;
|
|
[Token(Token = "0x60096FD")]
|
|
[Address(RVA = "0x2A78700", Offset = "0x2A77700", VA = "0x182A78700")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E1 RID: 6113
|
|
// (get) Token: 0x060096FE RID: 38654 RVA: 0x001EC7A4 File Offset: 0x001EA9A4
|
|
// (set) Token: 0x060096FF RID: 38655 RVA: 0x001EC7B8 File Offset: 0x001EA9B8
|
|
[Token(Token = "0x170017E1")]
|
|
public static bool IsCachingDisabled
|
|
{
|
|
[Token(Token = "0x60096FE")]
|
|
[Address(RVA = "0x2A77DA0", Offset = "0x2A76DA0", VA = "0x182A77DA0")]
|
|
get;
|
|
[Token(Token = "0x60096FF")]
|
|
[Address(RVA = "0x2A785E0", Offset = "0x2A775E0", VA = "0x182A785E0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E2 RID: 6114
|
|
// (get) Token: 0x06009700 RID: 38656 RVA: 0x001EC7CC File Offset: 0x001EA9CC
|
|
// (set) Token: 0x06009701 RID: 38657 RVA: 0x001EC7E0 File Offset: 0x001EA9E0
|
|
[Token(Token = "0x170017E2")]
|
|
public static TimeSpan MaxConnectionIdleTime
|
|
{
|
|
[Token(Token = "0x6009700")]
|
|
[Address(RVA = "0x2A780A0", Offset = "0x2A770A0", VA = "0x182A780A0")]
|
|
get;
|
|
[Token(Token = "0x6009701")]
|
|
[Address(RVA = "0x2A787C0", Offset = "0x2A777C0", VA = "0x182A787C0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E3 RID: 6115
|
|
// (get) Token: 0x06009702 RID: 38658 RVA: 0x001EC7F4 File Offset: 0x001EA9F4
|
|
// (set) Token: 0x06009703 RID: 38659 RVA: 0x001EC808 File Offset: 0x001EAA08
|
|
[Token(Token = "0x170017E3")]
|
|
public static bool IsCookiesEnabled
|
|
{
|
|
[Token(Token = "0x6009702")]
|
|
[Address(RVA = "0x2A77E00", Offset = "0x2A76E00", VA = "0x182A77E00")]
|
|
get;
|
|
[Token(Token = "0x6009703")]
|
|
[Address(RVA = "0x2A78640", Offset = "0x2A77640", VA = "0x182A78640")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E4 RID: 6116
|
|
// (get) Token: 0x06009704 RID: 38660 RVA: 0x001EC81C File Offset: 0x001EAA1C
|
|
// (set) Token: 0x06009705 RID: 38661 RVA: 0x001EC830 File Offset: 0x001EAA30
|
|
[Token(Token = "0x170017E4")]
|
|
public static uint CookieJarSize
|
|
{
|
|
[Token(Token = "0x6009704")]
|
|
[Address(RVA = "0x2A77A50", Offset = "0x2A76A50", VA = "0x182A77A50")]
|
|
get;
|
|
[Token(Token = "0x6009705")]
|
|
[Address(RVA = "0x2A78400", Offset = "0x2A77400", VA = "0x182A78400")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E5 RID: 6117
|
|
// (get) Token: 0x06009706 RID: 38662 RVA: 0x001EC844 File Offset: 0x001EAA44
|
|
// (set) Token: 0x06009707 RID: 38663 RVA: 0x001EC858 File Offset: 0x001EAA58
|
|
[Token(Token = "0x170017E5")]
|
|
public static bool EnablePrivateBrowsing
|
|
{
|
|
[Token(Token = "0x6009706")]
|
|
[Address(RVA = "0x2A77BD0", Offset = "0x2A76BD0", VA = "0x182A77BD0")]
|
|
get;
|
|
[Token(Token = "0x6009707")]
|
|
[Address(RVA = "0x2A78580", Offset = "0x2A77580", VA = "0x182A78580")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E6 RID: 6118
|
|
// (get) Token: 0x06009708 RID: 38664 RVA: 0x001EC86C File Offset: 0x001EAA6C
|
|
// (set) Token: 0x06009709 RID: 38665 RVA: 0x001EC880 File Offset: 0x001EAA80
|
|
[Token(Token = "0x170017E6")]
|
|
public static TimeSpan ConnectTimeout
|
|
{
|
|
[Token(Token = "0x6009708")]
|
|
[Address(RVA = "0x2A779F0", Offset = "0x2A769F0", VA = "0x182A779F0")]
|
|
get;
|
|
[Token(Token = "0x6009709")]
|
|
[Address(RVA = "0x2A783A0", Offset = "0x2A773A0", VA = "0x182A783A0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E7 RID: 6119
|
|
// (get) Token: 0x0600970A RID: 38666 RVA: 0x001EC894 File Offset: 0x001EAA94
|
|
// (set) Token: 0x0600970B RID: 38667 RVA: 0x001EC8A8 File Offset: 0x001EAAA8
|
|
[Token(Token = "0x170017E7")]
|
|
public static TimeSpan RequestTimeout
|
|
{
|
|
[Token(Token = "0x600970A")]
|
|
[Address(RVA = "0x2A78280", Offset = "0x2A77280", VA = "0x182A78280")]
|
|
get;
|
|
[Token(Token = "0x600970B")]
|
|
[Address(RVA = "0x2A789D0", Offset = "0x2A779D0", VA = "0x182A789D0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E8 RID: 6120
|
|
// (get) Token: 0x0600970C RID: 38668 RVA: 0x001EC8BC File Offset: 0x001EAABC
|
|
// (set) Token: 0x0600970D RID: 38669 RVA: 0x001EC8D0 File Offset: 0x001EAAD0
|
|
[Token(Token = "0x170017E8")]
|
|
public static Func<string> RootCacheFolderProvider
|
|
{
|
|
[Token(Token = "0x600970C")]
|
|
[Address(RVA = "0x2A782E0", Offset = "0x2A772E0", VA = "0x182A782E0")]
|
|
get;
|
|
[Token(Token = "0x600970D")]
|
|
[Address(RVA = "0x2A78A30", Offset = "0x2A77A30", VA = "0x182A78A30")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017E9 RID: 6121
|
|
// (get) Token: 0x0600970E RID: 38670 RVA: 0x001EC8E4 File Offset: 0x001EAAE4
|
|
// (set) Token: 0x0600970F RID: 38671 RVA: 0x001EC8F8 File Offset: 0x001EAAF8
|
|
[Token(Token = "0x170017E9")]
|
|
public static Proxy Proxy
|
|
{
|
|
[Token(Token = "0x600970E")]
|
|
[Address(RVA = "0x2A78220", Offset = "0x2A77220", VA = "0x182A78220")]
|
|
get;
|
|
[Token(Token = "0x600970F")]
|
|
[Address(RVA = "0x2A78970", Offset = "0x2A77970", VA = "0x182A78970")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017EA RID: 6122
|
|
// (get) Token: 0x06009710 RID: 38672 RVA: 0x001EC90C File Offset: 0x001EAB0C
|
|
[Token(Token = "0x170017EA")]
|
|
public static HeartbeatManager Heartbeats
|
|
{
|
|
[Token(Token = "0x6009710")]
|
|
[Address(RVA = "0x2A77C30", Offset = "0x2A76C30", VA = "0x182A77C30")]
|
|
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: 0x170017EB RID: 6123
|
|
// (get) Token: 0x06009711 RID: 38673 RVA: 0x001EC94C File Offset: 0x001EAB4C
|
|
// (set) Token: 0x06009712 RID: 38674 RVA: 0x001EC984 File Offset: 0x001EAB84
|
|
[Token(Token = "0x170017EB")]
|
|
public static BestHTTP.Logger.ILogger Logger
|
|
{
|
|
[Token(Token = "0x6009711")]
|
|
[Address(RVA = "0x2A77F20", Offset = "0x2A76F20", VA = "0x182A77F20")]
|
|
get
|
|
{
|
|
HTTPManager.logger = new DefaultLogger();
|
|
BestHTTP.Logger.ILogger logger = HTTPManager.logger;
|
|
int num = 0;
|
|
num += num;
|
|
num++;
|
|
return HTTPManager.logger;
|
|
}
|
|
[Token(Token = "0x6009712")]
|
|
[Address(RVA = "0x2A78760", Offset = "0x2A77760", VA = "0x182A78760")]
|
|
set
|
|
{
|
|
HTTPManager.logger = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170017EC RID: 6124
|
|
// (get) Token: 0x06009713 RID: 38675 RVA: 0x001EC998 File Offset: 0x001EAB98
|
|
// (set) Token: 0x06009714 RID: 38676 RVA: 0x001EC9AC File Offset: 0x001EABAC
|
|
[Token(Token = "0x170017EC")]
|
|
public static ICertificateVerifyer DefaultCertificateVerifyer
|
|
{
|
|
[Token(Token = "0x6009713")]
|
|
[Address(RVA = "0x2A77AB0", Offset = "0x2A76AB0", VA = "0x182A77AB0")]
|
|
get;
|
|
[Token(Token = "0x6009714")]
|
|
[Address(RVA = "0x2A78460", Offset = "0x2A77460", VA = "0x182A78460")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017ED RID: 6125
|
|
// (get) Token: 0x06009715 RID: 38677 RVA: 0x001EC9C0 File Offset: 0x001EABC0
|
|
// (set) Token: 0x06009716 RID: 38678 RVA: 0x001EC9D4 File Offset: 0x001EABD4
|
|
[Token(Token = "0x170017ED")]
|
|
public static IClientCredentialsProvider DefaultClientCredentialsProvider
|
|
{
|
|
[Token(Token = "0x6009715")]
|
|
[Address(RVA = "0x2A77B70", Offset = "0x2A76B70", VA = "0x182A77B70")]
|
|
get;
|
|
[Token(Token = "0x6009716")]
|
|
[Address(RVA = "0x2A78520", Offset = "0x2A77520", VA = "0x182A78520")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017EE RID: 6126
|
|
// (get) Token: 0x06009717 RID: 38679 RVA: 0x001EC9E8 File Offset: 0x001EABE8
|
|
// (set) Token: 0x06009718 RID: 38680 RVA: 0x001EC9FC File Offset: 0x001EABFC
|
|
[Token(Token = "0x170017EE")]
|
|
public static bool UseAlternateSSLDefaultValue
|
|
{
|
|
[Token(Token = "0x6009717")]
|
|
[Address(RVA = "0x2A78340", Offset = "0x2A77340", VA = "0x182A78340")]
|
|
get;
|
|
[Token(Token = "0x6009718")]
|
|
[Address(RVA = "0x2A78A90", Offset = "0x2A77A90", VA = "0x182A78A90")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017EF RID: 6127
|
|
// (get) Token: 0x06009719 RID: 38681 RVA: 0x001ECA10 File Offset: 0x001EAC10
|
|
// (set) Token: 0x0600971A RID: 38682 RVA: 0x001ECA24 File Offset: 0x001EAC24
|
|
[Token(Token = "0x170017EF")]
|
|
public static Func<HTTPRequest, X509Certificate, X509Chain, bool> DefaultCertificationValidator
|
|
{
|
|
[Token(Token = "0x6009719")]
|
|
[Address(RVA = "0x2A77B10", Offset = "0x2A76B10", VA = "0x182A77B10")]
|
|
get;
|
|
[Token(Token = "0x600971A")]
|
|
[Address(RVA = "0x2A784C0", Offset = "0x2A774C0", VA = "0x182A784C0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017F0 RID: 6128
|
|
// (get) Token: 0x0600971B RID: 38683 RVA: 0x001ECA38 File Offset: 0x001EAC38
|
|
// (set) Token: 0x0600971C RID: 38684 RVA: 0x001ECA4C File Offset: 0x001EAC4C
|
|
[Token(Token = "0x170017F0")]
|
|
public static Action<HTTPRequest, Stream> OnSendingHeaders
|
|
{
|
|
[Token(Token = "0x600971B")]
|
|
[Address(RVA = "0x2A781C0", Offset = "0x2A771C0", VA = "0x182A781C0")]
|
|
get;
|
|
[Token(Token = "0x600971C")]
|
|
[Address(RVA = "0x2A78910", Offset = "0x2A77910", VA = "0x182A78910")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017F1 RID: 6129
|
|
// (get) Token: 0x0600971D RID: 38685 RVA: 0x001ECA60 File Offset: 0x001EAC60
|
|
// (set) Token: 0x0600971E RID: 38686 RVA: 0x001ECA74 File Offset: 0x001EAC74
|
|
[Token(Token = "0x170017F1")]
|
|
internal static int MaxPathLength
|
|
{
|
|
[Token(Token = "0x600971D")]
|
|
[Address(RVA = "0x2A78160", Offset = "0x2A77160", VA = "0x182A78160")]
|
|
get;
|
|
[Token(Token = "0x600971E")]
|
|
[Address(RVA = "0x2A788B0", Offset = "0x2A778B0", VA = "0x182A788B0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x170017F2 RID: 6130
|
|
// (get) Token: 0x0600971F RID: 38687 RVA: 0x001ECA88 File Offset: 0x001EAC88
|
|
// (set) Token: 0x06009720 RID: 38688 RVA: 0x001ECA9C File Offset: 0x001EAC9C
|
|
[Token(Token = "0x170017F2")]
|
|
internal static bool IsQuitting
|
|
{
|
|
[Token(Token = "0x600971F")]
|
|
[Address(RVA = "0x2A77E60", Offset = "0x2A76E60", VA = "0x182A77E60")]
|
|
get;
|
|
[Token(Token = "0x6009720")]
|
|
[Address(RVA = "0x2A786A0", Offset = "0x2A776A0", VA = "0x182A786A0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x06009721 RID: 38689 RVA: 0x001ECAB0 File Offset: 0x001EACB0
|
|
[Token(Token = "0x6009721")]
|
|
[Address(RVA = "0x2A754F0", Offset = "0x2A744F0", VA = "0x182A754F0")]
|
|
[CBEAKPMNJOL(LGFJHLDANJN.Unity_AfterSceneLoad)]
|
|
private static void InitializeOnLoad()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06009722 RID: 38690 RVA: 0x001ECAC0 File Offset: 0x001EACC0
|
|
[Token(Token = "0x6009722")]
|
|
[Address(RVA = "0x2A773A0", Offset = "0x2A763A0", VA = "0x182A773A0")]
|
|
public static void Setup()
|
|
{
|
|
HTTPUpdateDelegator.CheckInstance();
|
|
HTTPCacheService.CheckSetup();
|
|
CookieJar.SetupFolder();
|
|
}
|
|
|
|
// Token: 0x06009723 RID: 38691 RVA: 0x001ECAE4 File Offset: 0x001EACE4
|
|
[Token(Token = "0x6009723")]
|
|
[Address(RVA = "0x2A76F10", Offset = "0x2A75F10", VA = "0x182A76F10")]
|
|
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: 0x06009724 RID: 38692 RVA: 0x001ECB08 File Offset: 0x001EAD08
|
|
[Token(Token = "0x6009724")]
|
|
[Address(RVA = "0x2A76FC0", Offset = "0x2A75FC0", VA = "0x182A76FC0")]
|
|
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, OnRequestFinishedDelegate callback)
|
|
{
|
|
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, callback));
|
|
}
|
|
|
|
// Token: 0x06009725 RID: 38693 RVA: 0x001ECB28 File Offset: 0x001EAD28
|
|
[Token(Token = "0x6009725")]
|
|
[Address(RVA = "0x2A76D80", Offset = "0x2A75D80", VA = "0x182A76D80")]
|
|
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: 0x06009726 RID: 38694 RVA: 0x001ECB50 File Offset: 0x001EAD50
|
|
[Token(Token = "0x6009726")]
|
|
[Address(RVA = "0x2A77080", Offset = "0x2A76080", VA = "0x182A77080")]
|
|
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: 0x06009727 RID: 38695 RVA: 0x001ECB6C File Offset: 0x001EAD6C
|
|
[Token(Token = "0x6009727")]
|
|
[Address(RVA = "0x2A77160", Offset = "0x2A76160", VA = "0x182A77160")]
|
|
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: 0x06009728 RID: 38696 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009728")]
|
|
[Address(RVA = "0x2A74DC0", Offset = "0x2A73DC0", VA = "0x182A74DC0")]
|
|
public static GeneralStatistics GetGeneralStatistics(StatisticsQueryFlags queryFlags)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009729 RID: 38697 RVA: 0x001ECBC8 File Offset: 0x001EADC8
|
|
[Token(Token = "0x6009729")]
|
|
[Address(RVA = "0x2A76A30", Offset = "0x2A75A30", VA = "0x182A76A30")]
|
|
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: 0x0600972A RID: 38698 RVA: 0x001ECCBC File Offset: 0x001EAEBC
|
|
[Token(Token = "0x600972A")]
|
|
[Address(RVA = "0x2A750E0", Offset = "0x2A740E0", VA = "0x182A750E0")]
|
|
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: 0x0600972B RID: 38699 RVA: 0x001ECDA8 File Offset: 0x001EAFA8
|
|
[Token(Token = "0x600972B")]
|
|
[Address(RVA = "0x2A74640", Offset = "0x2A73640", VA = "0x182A74640")]
|
|
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: 0x0600972C RID: 38700 RVA: 0x001ECDE4 File Offset: 0x001EAFE4
|
|
[Token(Token = "0x600972C")]
|
|
[Address(RVA = "0x2A746E0", Offset = "0x2A736E0", VA = "0x182A746E0")]
|
|
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);
|
|
throw new NullReferenceException();
|
|
}
|
|
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: 0x0600972D RID: 38701 RVA: 0x001ECEE8 File Offset: 0x001EB0E8
|
|
[Token(Token = "0x600972D")]
|
|
[Address(RVA = "0x2A74560", Offset = "0x2A73560", VA = "0x182A74560")]
|
|
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: 0x0600972E RID: 38702 RVA: 0x001ECF18 File Offset: 0x001EB118
|
|
[Token(Token = "0x600972E")]
|
|
[Address(RVA = "0x2A76940", Offset = "0x2A75940", VA = "0x182A76940")]
|
|
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: 0x0600972F RID: 38703 RVA: 0x001ECF54 File Offset: 0x001EB154
|
|
[Token(Token = "0x600972F")]
|
|
[Address(RVA = "0x2A75590", Offset = "0x2A74590", VA = "0x182A75590")]
|
|
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: 0x06009730 RID: 38704 RVA: 0x001ECF84 File Offset: 0x001EB184
|
|
[Token(Token = "0x6009730")]
|
|
[Address(RVA = "0x2A74C00", Offset = "0x2A73C00", VA = "0x182A74C00")]
|
|
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: 0x06009731 RID: 38705 RVA: 0x001ECFC4 File Offset: 0x001EB1C4
|
|
[Token(Token = "0x6009731")]
|
|
[Address(RVA = "0x2A769B0", Offset = "0x2A759B0", VA = "0x182A769B0")]
|
|
internal static bool RemoveFromQueue(HTTPRequest request)
|
|
{
|
|
return HTTPManager.RequestQueue.Remove(request);
|
|
}
|
|
|
|
// Token: 0x06009732 RID: 38706 RVA: 0x001ECFE4 File Offset: 0x001EB1E4
|
|
[Token(Token = "0x6009732")]
|
|
[Address(RVA = "0x2A75340", Offset = "0x2A74340", VA = "0x182A75340")]
|
|
internal static string GetRootCacheFolder()
|
|
{
|
|
return HTTPManager.<RootCacheFolderProvider>k__BackingField();
|
|
}
|
|
|
|
// Token: 0x06009733 RID: 38707 RVA: 0x001ED018 File Offset: 0x001EB218
|
|
[Token(Token = "0x6009733")]
|
|
[Address(RVA = "0x2A75860", Offset = "0x2A74860", VA = "0x182A75860")]
|
|
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 (timeSpan7 == 0)
|
|
{
|
|
}
|
|
while (timeSpan7 == 0)
|
|
{
|
|
}
|
|
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++;
|
|
int num2 = 0;
|
|
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
|
|
TimeSpan timeSpan13 = HTTPManager.<ConnectTimeout>k__BackingField;
|
|
if (num2 != 0)
|
|
{
|
|
}
|
|
int num3 = 0;
|
|
if (typeof(HTTPManager).TypeHandle != 0)
|
|
{
|
|
goto IL_2F7;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
int num4;
|
|
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;
|
|
}
|
|
num3++;
|
|
HTTPManager.RecycledConnections.Clear();
|
|
num++;
|
|
num4 = 0;
|
|
List<ConnectionBase> recycledConnections4 = HTTPManager.RecycledConnections;
|
|
Monitor.Exit(recycledConnections4);
|
|
if (recycledConnections4 != 0)
|
|
{
|
|
goto IL_321;
|
|
}
|
|
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(num4);
|
|
num4++;
|
|
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
|
|
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
|
|
ConnectionBase connectionBase;
|
|
if (connectionBase == 0)
|
|
{
|
|
num4++;
|
|
}
|
|
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 (num4 < array.Length)
|
|
{
|
|
HTTPRequest httprequest = HTTPManager.SendRequest(array[num4]);
|
|
num4++;
|
|
}
|
|
locker = HTTPManager.Locker;
|
|
Monitor.Exit(locker);
|
|
}
|
|
while (locker != 0);
|
|
HTTPManager.heartbeats.Update();
|
|
VariableSizedBufferPool.Maintain();
|
|
return;
|
|
IL_2F7:
|
|
throw new NullReferenceException();
|
|
IL_321:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009734 RID: 38708 RVA: 0x001ED3A0 File Offset: 0x001EB5A0
|
|
[Token(Token = "0x6009734")]
|
|
[Address(RVA = "0x2A756C0", Offset = "0x2A746C0", VA = "0x182A756C0")]
|
|
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: 0x06009735 RID: 38709 RVA: 0x001ED3DC File Offset: 0x001EB5DC
|
|
[Token(Token = "0x6009735")]
|
|
[Address(RVA = "0x2A740A0", Offset = "0x2A730A0", VA = "0x182A740A0")]
|
|
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: 0x04006648 RID: 26184
|
|
[Token(Token = "0x4006648")]
|
|
private static byte maxConnectionPerServer;
|
|
|
|
// Token: 0x04006653 RID: 26195
|
|
[Token(Token = "0x4006653")]
|
|
private static HeartbeatManager heartbeats;
|
|
|
|
// Token: 0x04006654 RID: 26196
|
|
[Token(Token = "0x4006654")]
|
|
private static BestHTTP.Logger.ILogger logger;
|
|
|
|
// Token: 0x0400665A RID: 26202
|
|
[Token(Token = "0x400665A")]
|
|
public static bool TryToMinimizeTCPLatency;
|
|
|
|
// Token: 0x0400665B RID: 26203
|
|
[Token(Token = "0x400665B")]
|
|
public static int SendBufferSize;
|
|
|
|
// Token: 0x0400665C RID: 26204
|
|
[Token(Token = "0x400665C")]
|
|
public static int ReceiveBufferSize;
|
|
|
|
// Token: 0x0400665D RID: 26205
|
|
[Token(Token = "0x400665D")]
|
|
public static IIOService IOService;
|
|
|
|
// Token: 0x0400665F RID: 26207
|
|
[Token(Token = "0x400665F")]
|
|
private static Dictionary<string, List<ConnectionBase>> Connections = new Dictionary();
|
|
|
|
// Token: 0x04006660 RID: 26208
|
|
[Token(Token = "0x4006660")]
|
|
private static List<ConnectionBase> ActiveConnections = new List();
|
|
|
|
// Token: 0x04006661 RID: 26209
|
|
[Token(Token = "0x4006661")]
|
|
private static List<ConnectionBase> FreeConnections = new List();
|
|
|
|
// Token: 0x04006662 RID: 26210
|
|
[Token(Token = "0x4006662")]
|
|
private static List<ConnectionBase> RecycledConnections = new List();
|
|
|
|
// Token: 0x04006663 RID: 26211
|
|
[Token(Token = "0x4006663")]
|
|
private static List<HTTPRequest> RequestQueue = new List();
|
|
|
|
// Token: 0x04006664 RID: 26212
|
|
[Token(Token = "0x4006664")]
|
|
private static bool IsCallingCallbacks;
|
|
|
|
// Token: 0x04006665 RID: 26213
|
|
[Token(Token = "0x4006665")]
|
|
internal static object Locker = new object();
|
|
}
|
|
}
|