This commit is contained in:
niko
2026-04-11 22:19:20 +02:00
parent 45b857ff11
commit 8fc35183db
17034 changed files with 2863552 additions and 0 deletions
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x02001FC8 RID: 8136
[Token(Token = "0x2001FC8")]
public enum AuthenticationTypes
{
// Token: 0x04008412 RID: 33810
[Token(Token = "0x4008412")]
Unknown,
// Token: 0x04008413 RID: 33811
[Token(Token = "0x4008413")]
Basic,
// Token: 0x04008414 RID: 33812
[Token(Token = "0x4008414")]
Digest
}
}
@@ -0,0 +1,74 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x02001FC9 RID: 8137
[Token(Token = "0x2001FC9")]
public sealed class Credentials
{
// Token: 0x170020E5 RID: 8421
// (get) Token: 0x0600CE98 RID: 52888 RVA: 0x002F9200 File Offset: 0x002F7400
// (set) Token: 0x0600CE99 RID: 52889 RVA: 0x002F9214 File Offset: 0x002F7414
[Token(Token = "0x170020E5")]
public AuthenticationTypes Type
{
[Token(Token = "0x600CE98")]
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
get;
[Token(Token = "0x600CE99")]
[Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")]
private set;
}
// Token: 0x170020E6 RID: 8422
// (get) Token: 0x0600CE9A RID: 52890 RVA: 0x002F9228 File Offset: 0x002F7428
// (set) Token: 0x0600CE9B RID: 52891 RVA: 0x002F923C File Offset: 0x002F743C
[Token(Token = "0x170020E6")]
public string UserName
{
[Token(Token = "0x600CE9A")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CE9B")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
private set;
}
// Token: 0x170020E7 RID: 8423
// (get) Token: 0x0600CE9C RID: 52892 RVA: 0x002F9250 File Offset: 0x002F7450
// (set) Token: 0x0600CE9D RID: 52893 RVA: 0x002F9264 File Offset: 0x002F7464
[Token(Token = "0x170020E7")]
public string Password
{
[Token(Token = "0x600CE9C")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CE9D")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
private set;
}
// Token: 0x0600CE9E RID: 52894 RVA: 0x002F9278 File Offset: 0x002F7478
[Token(Token = "0x600CE9E")]
[Address(RVA = "0xA9F510", Offset = "0xA9E310", VA = "0x180A9F510")]
public Credentials(string userName, string password)
{
this.UserName = userName;
this.Password = password;
this.Type = (AuthenticationTypes)((ulong)0L);
}
// Token: 0x0600CE9F RID: 52895 RVA: 0x002F92A4 File Offset: 0x002F74A4
[Token(Token = "0x600CE9F")]
[Address(RVA = "0xA9F550", Offset = "0xA9E350", VA = "0x180A9F550")]
public Credentials(AuthenticationTypes type, string userName, string password)
{
int num = 0;
base.FieldGetter(num, userName, password);
this.Type = type;
this.UserName = userName;
this.Password = password;
}
}
}
@@ -0,0 +1,480 @@
using System;
using System.Collections.Generic;
using System.Text;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x02001FCA RID: 8138
[Token(Token = "0x2001FCA")]
public sealed class Digest
{
// Token: 0x170020E8 RID: 8424
// (get) Token: 0x0600CEA0 RID: 52896 RVA: 0x002F92D4 File Offset: 0x002F74D4
// (set) Token: 0x0600CEA1 RID: 52897 RVA: 0x002F92E8 File Offset: 0x002F74E8
[Token(Token = "0x170020E8")]
public Uri Uri
{
[Token(Token = "0x600CEA0")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CEA1")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
private set;
}
// Token: 0x170020E9 RID: 8425
// (get) Token: 0x0600CEA2 RID: 52898 RVA: 0x002F92FC File Offset: 0x002F74FC
// (set) Token: 0x0600CEA3 RID: 52899 RVA: 0x002F9310 File Offset: 0x002F7510
[Token(Token = "0x170020E9")]
public AuthenticationTypes Type
{
[Token(Token = "0x600CEA2")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
get;
[Token(Token = "0x600CEA3")]
[Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")]
private set;
}
// Token: 0x170020EA RID: 8426
// (get) Token: 0x0600CEA4 RID: 52900 RVA: 0x002F9324 File Offset: 0x002F7524
// (set) Token: 0x0600CEA5 RID: 52901 RVA: 0x002F9338 File Offset: 0x002F7538
[Token(Token = "0x170020EA")]
public string Realm
{
[Token(Token = "0x600CEA4")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CEA5")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
private set;
}
// Token: 0x170020EB RID: 8427
// (get) Token: 0x0600CEA6 RID: 52902 RVA: 0x002F934C File Offset: 0x002F754C
// (set) Token: 0x0600CEA7 RID: 52903 RVA: 0x002F9360 File Offset: 0x002F7560
[Token(Token = "0x170020EB")]
public bool Stale
{
[Token(Token = "0x600CEA6")]
[Address(RVA = "0x494270", Offset = "0x493070", VA = "0x180494270")]
get;
[Token(Token = "0x600CEA7")]
[Address(RVA = "0x494500", Offset = "0x493300", VA = "0x180494500")]
private set;
}
// Token: 0x170020EC RID: 8428
// (get) Token: 0x0600CEA8 RID: 52904 RVA: 0x002F9374 File Offset: 0x002F7574
// (set) Token: 0x0600CEA9 RID: 52905 RVA: 0x002F9388 File Offset: 0x002F7588
[Token(Token = "0x170020EC")]
private string Nonce
{
[Token(Token = "0x600CEA8")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x600CEA9")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
set;
}
// Token: 0x170020ED RID: 8429
// (get) Token: 0x0600CEAA RID: 52906 RVA: 0x002F939C File Offset: 0x002F759C
// (set) Token: 0x0600CEAB RID: 52907 RVA: 0x002F93B0 File Offset: 0x002F75B0
[Token(Token = "0x170020ED")]
private string Opaque
{
[Token(Token = "0x600CEAA")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
get;
[Token(Token = "0x600CEAB")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
set;
}
// Token: 0x170020EE RID: 8430
// (get) Token: 0x0600CEAC RID: 52908 RVA: 0x002F93C4 File Offset: 0x002F75C4
// (set) Token: 0x0600CEAD RID: 52909 RVA: 0x002F93D8 File Offset: 0x002F75D8
[Token(Token = "0x170020EE")]
private string Algorithm
{
[Token(Token = "0x600CEAC")]
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
get;
[Token(Token = "0x600CEAD")]
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
set;
}
// Token: 0x170020EF RID: 8431
// (get) Token: 0x0600CEAE RID: 52910 RVA: 0x002F93EC File Offset: 0x002F75EC
// (set) Token: 0x0600CEAF RID: 52911 RVA: 0x002F9400 File Offset: 0x002F7600
[Token(Token = "0x170020EF")]
public List<string> ProtectedUris
{
[Token(Token = "0x600CEAE")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get;
[Token(Token = "0x600CEAF")]
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
private set;
}
// Token: 0x170020F0 RID: 8432
// (get) Token: 0x0600CEB0 RID: 52912 RVA: 0x002F9414 File Offset: 0x002F7614
// (set) Token: 0x0600CEB1 RID: 52913 RVA: 0x002F9428 File Offset: 0x002F7628
[Token(Token = "0x170020F0")]
private string QualityOfProtections
{
[Token(Token = "0x600CEB0")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get;
[Token(Token = "0x600CEB1")]
[Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")]
set;
}
// Token: 0x170020F1 RID: 8433
// (get) Token: 0x0600CEB2 RID: 52914 RVA: 0x002F943C File Offset: 0x002F763C
// (set) Token: 0x0600CEB3 RID: 52915 RVA: 0x002F9450 File Offset: 0x002F7650
[Token(Token = "0x170020F1")]
private int NonceCount
{
[Token(Token = "0x600CEB2")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get;
[Token(Token = "0x600CEB3")]
[Address(RVA = "0x568560", Offset = "0x567360", VA = "0x180568560")]
set;
}
// Token: 0x170020F2 RID: 8434
// (get) Token: 0x0600CEB4 RID: 52916 RVA: 0x002F9464 File Offset: 0x002F7664
// (set) Token: 0x0600CEB5 RID: 52917 RVA: 0x002F9478 File Offset: 0x002F7678
[Token(Token = "0x170020F2")]
private string HA1Sess
{
[Token(Token = "0x600CEB4")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get;
[Token(Token = "0x600CEB5")]
[Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")]
set;
}
// Token: 0x0600CEB6 RID: 52918 RVA: 0x002F948C File Offset: 0x002F768C
[Token(Token = "0x600CEB6")]
[Address(RVA = "0xAA12E0", Offset = "0xAA00E0", VA = "0x180AA12E0")]
internal Digest(Uri uri)
{
this.Uri = uri;
this.Algorithm = "md5";
}
// Token: 0x0600CEB7 RID: 52919 RVA: 0x002F94B4 File Offset: 0x002F76B4
[Token(Token = "0x600CEB7")]
[Address(RVA = "0xAA0E60", Offset = "0xA9FC60", VA = "0x180AA0E60")]
public void ParseChallange(string header)
{
int num;
do
{
num = 0;
this.<Type>k__BackingField = (AuthenticationTypes)num;
this.<Stale>k__BackingField = num != 0;
this.<Opaque>k__BackingField = num;
this.<HA1Sess>k__BackingField = num;
this.<NonceCount>k__BackingField = num;
this.<QualityOfProtections>k__BackingField = num;
List<string> list = this.<ProtectedUris>k__BackingField;
if (list != 0)
{
list.Clear();
}
List<HeaderValue> <Values>k__BackingField = new WWWAuthenticateHeaderParser(header).<Values>k__BackingField;
bool flag;
if (flag)
{
int stringLength = header.m_stringLength;
int stringLength2;
if (flag > true)
{
if (flag > true)
{
if (flag)
{
while (!flag)
{
}
this.<QualityOfProtections>k__BackingField = flag;
}
if (flag)
{
while (!flag)
{
}
this.<Nonce>k__BackingField = flag;
}
while (!flag)
{
}
while (!flag)
{
}
this.<Type>k__BackingField = (AuthenticationTypes)((ulong)2L);
}
if (flag)
{
while (!flag)
{
}
this.<Realm>k__BackingField = flag;
}
while (!flag)
{
}
while (!flag)
{
}
while (flag)
{
}
if (this.<ProtectedUris>k__BackingField == (ulong)0L)
{
List<string> list2 = new List();
this.<ProtectedUris>k__BackingField = list2;
}
string text;
this.<ProtectedUris>k__BackingField.Add(text);
string text2;
stringLength2 = text2.m_stringLength;
}
bool flag2;
if (stringLength2 > 474311018)
{
if (stringLength2 == 1749328254)
{
while (stringLength2 == 0)
{
}
this.<Stale>k__BackingField = flag2;
}
while (!flag2)
{
}
while (!flag2)
{
}
this.<Opaque>k__BackingField = flag2;
}
if (flag2)
{
while (!flag2)
{
}
this.<Type>k__BackingField = (AuthenticationTypes)((ulong)1L);
}
while (!flag2)
{
}
while (!flag2)
{
}
this.<Algorithm>k__BackingField = flag2;
}
}
while (num != 0);
}
// Token: 0x0600CEB8 RID: 52920 RVA: 0x002F9624 File Offset: 0x002F7824
[Token(Token = "0x600CEB8")]
[Address(RVA = "0xA9FF40", Offset = "0xA9ED40", VA = "0x180A9FF40")]
public string GenerateResponseHeader(HTTPRequest request, Credentials credentials, bool isProxy = false)
{
string text8;
string requestPathAndQueryURL;
for (;;)
{
AuthenticationTypes authenticationTypes = this.<Type>k__BackingField;
if (authenticationTypes == AuthenticationTypes.Basic)
{
Encoding utf = Encoding.UTF8;
string <Password>k__BackingField = credentials.<Password>k__BackingField;
string <UserName>k__BackingField = credentials.<UserName>k__BackingField;
string text = string.Format("{0}:{1}", <UserName>k__BackingField, <Password>k__BackingField);
string text3;
string text2 = "Basic " + text3;
}
if (authenticationTypes != AuthenticationTypes.Digest)
{
goto IL_492;
}
int num = this.<NonceCount>k__BackingField;
num++;
this.<NonceCount>k__BackingField = num;
request.Finalize();
string text4 = this.<NonceCount>k__BackingField.ToString("X8");
string text5 = this.<Algorithm>k__BackingField.TrimAndLower();
if (string.Equals(text5, "md5"))
{
string <Password>k__BackingField2 = credentials.<Password>k__BackingField;
string text6 = this.<Realm>k__BackingField;
string <UserName>k__BackingField2 = credentials.<UserName>k__BackingField;
string text7 = string.Format("{0}:{1}:{2}", <UserName>k__BackingField2, text6, <Password>k__BackingField2).CalculateMD5Hash();
}
if (!string.Equals(text5, "md5-sess"))
{
goto IL_48C;
}
if (string.IsNullOrEmpty(this.<HA1Sess>k__BackingField))
{
break;
}
text8 = this.<HA1Sess>k__BackingField;
string text9 = this.<QualityOfProtections>k__BackingField;
if (text9 != 0)
{
string text10 = text9.TrimAndLower();
}
int num2 = 0;
if (isProxy)
{
string host = request.CurrentUri.Host;
int port = request.CurrentUri.Port;
int num3;
string text11 = host + ":" + num3;
}
int hashCode = request.<MethodType>k__BackingField.GetHashCode();
requestPathAndQueryURL = request.CurrentUri.GetRequestPathAndQueryURL();
if (num2 == 0)
{
goto IL_328;
}
bool flag;
byte[] array;
if (!flag)
{
bool flag2;
if (!flag2)
{
goto Block_9;
}
}
else if (array == 0)
{
goto Block_10;
}
}
object[] array2 = new object[5];
string <UserName>k__BackingField3 = credentials.<UserName>k__BackingField;
throw new ArrayTypeMismatchException();
Block_9:
string text12 = (string.Empty + ":" + requestPathAndQueryURL).CalculateMD5Hash();
object[] array3 = new object[6];
throw new ArrayTypeMismatchException();
Block_10:
string text13 = VariableSizedBufferPool.NoData.CalculateMD5Hash();
string text15;
string text14 = string.Format("{0}:{1}:{2}", text15, requestPathAndQueryURL, text13).CalculateMD5Hash();
object[] array4 = new object[6];
throw new ArrayTypeMismatchException();
IL_328:
HTTPMethods httpmethods;
int hashCode2 = httpmethods.GetHashCode();
Uri uri;
string requestPathAndQueryURL2 = uri.GetRequestPathAndQueryURL();
string text17;
string text16 = (text17 + ":" + requestPathAndQueryURL2).CalculateMD5Hash();
string text18 = this.<Nonce>k__BackingField;
string text19 = string.Format("{0}:{1}:{2}", text8, text18, text16).CalculateMD5Hash();
object[] array5 = new object[6];
if (text17 != 0)
{
}
array5[0] = text17;
string text20 = this.<Realm>k__BackingField;
if (text20 != 0)
{
}
array5[1] = text20;
string text21 = this.<Nonce>k__BackingField;
if (text21 != 0)
{
}
array5[2] = text21;
if (requestPathAndQueryURL != 0)
{
}
array5[3] = requestPathAndQueryURL;
if (text8 != 0)
{
}
array5[4] = text8;
if (text19 != 0)
{
}
array5[5] = text19;
string text22 = string.Format("Digest username=\"{0}\", realm=\"{1}\", nonce=\"{2}\", uri=\"{3}\", cnonce=\"{4}\", response=\"{5}\"", array5);
string text23;
if ("auth-int" != 0)
{
string[] array6 = new string[5];
if (text22 != 0)
{
}
array6[0] = text22;
if (", qop=\"" != 0)
{
}
array6[1] = ", qop=\"";
array6[2] = "auth-int";
if ("\", nc=" != 0)
{
}
array6[3] = "\", nc=";
if ("\", nc=" != 0)
{
}
array6[4] = "\", nc=";
text23 = string.Concat(array6);
}
string text24 = this.<Opaque>k__BackingField;
if (text23 == 0)
{
string text25 = this.<Opaque>k__BackingField;
string text26 = text23 + ", opaque=\"" + text25 + "\"";
}
IL_48C:
return string.Empty;
IL_492:
throw new NullReferenceException();
}
// Token: 0x0600CEB9 RID: 52921 RVA: 0x002F9C18 File Offset: 0x002F7E18
[Token(Token = "0x600CEB9")]
[Address(RVA = "0xAA0D50", Offset = "0xA9FB50", VA = "0x180AA0D50")]
public bool IsUriProtected(Uri uri)
{
string host = uri.Host;
string host2 = this.<Uri>k__BackingField.Host;
if (string.CompareOrdinal(host, host2) == 0)
{
int hashCode = uri.GetHashCode();
if (this.<ProtectedUris>k__BackingField != 0)
{
int num = 0;
bool flag;
if (!flag)
{
List<string> list = this.<ProtectedUris>k__BackingField;
num++;
}
}
return true;
}
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x02001FCB RID: 8139
[Token(Token = "0x2001FCB")]
public static class DigestStore
{
// Token: 0x0600CEBA RID: 52922 RVA: 0x002F9C70 File Offset: 0x002F7E70
[Token(Token = "0x600CEBA")]
[Address(RVA = "0xA9FA30", Offset = "0xA9E830", VA = "0x180A9FA30")]
public static Digest Get(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
if (digests.TryGetValue(host, num2))
{
string host2 = uri.Host;
string host3 = uri.Host;
bool flag;
if (string.CompareOrdinal(host2, host3) == 0 && uri.GetHashCode() != 0 && num < uri.m_originalUnicodeString && !flag)
{
num++;
}
}
Monitor.Exit(locker);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CEBB RID: 52923 RVA: 0x002F9D0C File Offset: 0x002F7F0C
[Token(Token = "0x600CEBB")]
[Address(RVA = "0xA9F800", Offset = "0xA9E600", VA = "0x180A9F800")]
public static Digest GetOrCreate(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
if (!digests.TryGetValue(host, num2))
{
Dictionary<string, Digest> digests2 = DigestStore.Digests;
string host2 = uri.Host;
Digest digest;
digest.<Uri>k__BackingField = uri;
digest.<Algorithm>k__BackingField = "md5";
digests2.Add(host2, digest);
}
Monitor.Exit(locker);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CEBC RID: 52924 RVA: 0x002F9D88 File Offset: 0x002F7F88
[Token(Token = "0x600CEBC")]
[Address(RVA = "0xA9FCA0", Offset = "0xA9EAA0", VA = "0x180A9FCA0")]
public static void Remove(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
bool flag = digests.Remove(host);
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CEBD RID: 52925 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CEBD")]
[Address(RVA = "0xA9F620", Offset = "0xA9E420", VA = "0x180A9F620")]
public static string FindBest(List<string> authHeaders)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CEBE RID: 52926 RVA: 0x002F9DCC File Offset: 0x002F7FCC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CEBE")]
[Address(RVA = "0xA9FDE0", Offset = "0xA9EBE0", VA = "0x180A9FDE0")]
static DigestStore()
{
string[] array = new string[2];
if ("digest" != 0)
{
}
array[0] = "digest";
if ("basic" != 0)
{
}
array[1] = "basic";
DigestStore.SupportedAlgorithms = array;
}
// Token: 0x04008423 RID: 33827
[Token(Token = "0x4008423")]
private static Dictionary<string, Digest> Digests = new Dictionary();
// Token: 0x04008424 RID: 33828
[Token(Token = "0x4008424")]
private static object Locker = new object();
// Token: 0x04008425 RID: 33829
[Token(Token = "0x4008425")]
private static string[] SupportedAlgorithms;
}
}
@@ -0,0 +1,637 @@
using System;
using System.Collections.Generic;
using System.IO;
using BestHTTP.Extensions;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x02001FC1 RID: 8129
[Token(Token = "0x2001FC1")]
public class HTTPCacheFileInfo : IComparable<HTTPCacheFileInfo>
{
// Token: 0x170020D2 RID: 8402
// (get) Token: 0x0600CE3E RID: 52798 RVA: 0x002F7658 File Offset: 0x002F5858
// (set) Token: 0x0600CE3F RID: 52799 RVA: 0x002F766C File Offset: 0x002F586C
[Token(Token = "0x170020D2")]
internal Uri Uri
{
[Token(Token = "0x600CE3E")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CE3F")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x170020D3 RID: 8403
// (get) Token: 0x0600CE40 RID: 52800 RVA: 0x002F7680 File Offset: 0x002F5880
// (set) Token: 0x0600CE41 RID: 52801 RVA: 0x002F7694 File Offset: 0x002F5894
[Token(Token = "0x170020D3")]
internal DateTime LastAccess
{
[Token(Token = "0x600CE40")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CE41")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
set;
}
// Token: 0x170020D4 RID: 8404
// (get) Token: 0x0600CE42 RID: 52802 RVA: 0x002F76A8 File Offset: 0x002F58A8
// (set) Token: 0x0600CE43 RID: 52803 RVA: 0x002F76BC File Offset: 0x002F58BC
[Token(Token = "0x170020D4")]
public int BodyLength
{
[Token(Token = "0x600CE42")]
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310")]
get;
[Token(Token = "0x600CE43")]
[Address(RVA = "0x420360", Offset = "0x41F160", VA = "0x180420360")]
set;
}
// Token: 0x170020D5 RID: 8405
// (get) Token: 0x0600CE44 RID: 52804 RVA: 0x002F76D0 File Offset: 0x002F58D0
// (set) Token: 0x0600CE45 RID: 52805 RVA: 0x002F76E4 File Offset: 0x002F58E4
[Token(Token = "0x170020D5")]
private string ETag
{
[Token(Token = "0x600CE44")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get;
[Token(Token = "0x600CE45")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
set;
}
// Token: 0x170020D6 RID: 8406
// (get) Token: 0x0600CE46 RID: 52806 RVA: 0x002F76F8 File Offset: 0x002F58F8
// (set) Token: 0x0600CE47 RID: 52807 RVA: 0x002F770C File Offset: 0x002F590C
[Token(Token = "0x170020D6")]
private string LastModified
{
[Token(Token = "0x600CE46")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x600CE47")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
set;
}
// Token: 0x170020D7 RID: 8407
// (get) Token: 0x0600CE48 RID: 52808 RVA: 0x002F7720 File Offset: 0x002F5920
// (set) Token: 0x0600CE49 RID: 52809 RVA: 0x002F7734 File Offset: 0x002F5934
[Token(Token = "0x170020D7")]
private DateTime Expires
{
[Token(Token = "0x600CE48")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
get;
[Token(Token = "0x600CE49")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
set;
}
// Token: 0x170020D8 RID: 8408
// (get) Token: 0x0600CE4A RID: 52810 RVA: 0x002F7748 File Offset: 0x002F5948
// (set) Token: 0x0600CE4B RID: 52811 RVA: 0x002F775C File Offset: 0x002F595C
[Token(Token = "0x170020D8")]
private long Age
{
[Token(Token = "0x600CE4A")]
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
get;
[Token(Token = "0x600CE4B")]
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
set;
}
// Token: 0x170020D9 RID: 8409
// (get) Token: 0x0600CE4C RID: 52812 RVA: 0x002F7770 File Offset: 0x002F5970
// (set) Token: 0x0600CE4D RID: 52813 RVA: 0x002F7784 File Offset: 0x002F5984
[Token(Token = "0x170020D9")]
private long MaxAge
{
[Token(Token = "0x600CE4C")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get;
[Token(Token = "0x600CE4D")]
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
set;
}
// Token: 0x170020DA RID: 8410
// (get) Token: 0x0600CE4E RID: 52814 RVA: 0x002F7798 File Offset: 0x002F5998
// (set) Token: 0x0600CE4F RID: 52815 RVA: 0x002F77AC File Offset: 0x002F59AC
[Token(Token = "0x170020DA")]
private DateTime Date
{
[Token(Token = "0x600CE4E")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get;
[Token(Token = "0x600CE4F")]
[Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")]
set;
}
// Token: 0x170020DB RID: 8411
// (get) Token: 0x0600CE50 RID: 52816 RVA: 0x002F77C0 File Offset: 0x002F59C0
// (set) Token: 0x0600CE51 RID: 52817 RVA: 0x002F77D4 File Offset: 0x002F59D4
[Token(Token = "0x170020DB")]
private bool MustRevalidate
{
[Token(Token = "0x600CE50")]
[Address(RVA = "0x40FFA0", Offset = "0x40EDA0", VA = "0x18040FFA0")]
get;
[Token(Token = "0x600CE51")]
[Address(RVA = "0x410010", Offset = "0x40EE10", VA = "0x180410010")]
set;
}
// Token: 0x170020DC RID: 8412
// (get) Token: 0x0600CE52 RID: 52818 RVA: 0x002F77E8 File Offset: 0x002F59E8
// (set) Token: 0x0600CE53 RID: 52819 RVA: 0x002F77FC File Offset: 0x002F59FC
[Token(Token = "0x170020DC")]
private DateTime Received
{
[Token(Token = "0x600CE52")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get;
[Token(Token = "0x600CE53")]
[Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")]
set;
}
// Token: 0x170020DD RID: 8413
// (get) Token: 0x0600CE54 RID: 52820 RVA: 0x002F7810 File Offset: 0x002F5A10
// (set) Token: 0x0600CE55 RID: 52821 RVA: 0x002F7824 File Offset: 0x002F5A24
[Token(Token = "0x170020DD")]
private string ConstructedPath
{
[Token(Token = "0x600CE54")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get;
[Token(Token = "0x600CE55")]
[Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")]
set;
}
// Token: 0x170020DE RID: 8414
// (get) Token: 0x0600CE56 RID: 52822 RVA: 0x002F7838 File Offset: 0x002F5A38
// (set) Token: 0x0600CE57 RID: 52823 RVA: 0x002F784C File Offset: 0x002F5A4C
[Token(Token = "0x170020DE")]
internal ulong MappedNameIDX
{
[Token(Token = "0x600CE56")]
[Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")]
get;
[Token(Token = "0x600CE57")]
[Address(RVA = "0x703580", Offset = "0x702380", VA = "0x180703580")]
set;
}
// Token: 0x0600CE58 RID: 52824 RVA: 0x002F7860 File Offset: 0x002F5A60
[Token(Token = "0x600CE58")]
[Address(RVA = "0xAA4B80", Offset = "0xAA3980", VA = "0x180AA4B80")]
internal HTTPCacheFileInfo(Uri uri)
{
DateTime utcNow = DateTime.UtcNow;
}
// Token: 0x0600CE59 RID: 52825 RVA: 0x002F7878 File Offset: 0x002F5A78
[Token(Token = "0x600CE59")]
[Address(RVA = "0xAA4C00", Offset = "0xAA3A00", VA = "0x180AA4C00")]
internal HTTPCacheFileInfo(Uri uri, DateTime lastAcces, int bodyLength)
{
this.Uri = uri;
this.LastAccess = lastAcces;
this.BodyLength = bodyLength;
this.MaxAge = (long)((ulong)(-1L));
ulong nameIdx = HTTPCacheService.GetNameIdx();
this.MappedNameIDX = nameIdx;
}
// Token: 0x0600CE5A RID: 52826 RVA: 0x002F78B8 File Offset: 0x002F5AB8
[Token(Token = "0x600CE5A")]
[Address(RVA = "0xAA49A0", Offset = "0xAA37A0", VA = "0x180AA49A0")]
internal HTTPCacheFileInfo(Uri uri, BinaryReader reader, int version)
{
this.Uri = uri;
DateTime dateTime = DateTime.FromBinary((long)reader.ReadUInt32());
this.LastAccess = dateTime;
ushort num = reader.ReadUInt16();
this.BodyLength = (int)num;
if (version != 1)
{
if (version != 2)
{
return;
}
long num2 = reader.ReadInt64();
this.MappedNameIDX = (ulong)num2;
}
decimal num3 = reader.ReadDecimal();
this.ETag = num3;
decimal num4 = reader.ReadDecimal();
this.LastModified = num4;
DateTime dateTime2 = DateTime.FromBinary((long)reader.ReadUInt32());
this.Expires = dateTime2;
uint num5 = reader.ReadUInt32();
this.Age = (long)num5;
uint num6 = reader.ReadUInt32();
this.MaxAge = (long)num6;
DateTime dateTime3 = DateTime.FromBinary((long)reader.ReadUInt32());
this.Date = dateTime3;
int num7 = reader.Read();
this.MustRevalidate = num7 != 0;
DateTime dateTime4 = DateTime.FromBinary((long)reader.ReadUInt32());
this.Received = dateTime4;
}
// Token: 0x0600CE5B RID: 52827 RVA: 0x002F79A0 File Offset: 0x002F5BA0
[Token(Token = "0x600CE5B")]
[Address(RVA = "0xAA3D60", Offset = "0xAA2B60", VA = "0x180AA3D60")]
internal void SaveTo(BinaryWriter writer)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
long num;
writer.Write((uint)num);
int num2 = this.<BodyLength>k__BackingField;
writer.Write((ushort)num2);
ulong num3 = this.<MappedNameIDX>k__BackingField;
writer.Write((long)num3);
string text = this.<ETag>k__BackingField;
writer.Write(text);
string text2 = this.<LastModified>k__BackingField;
writer.Write(text2);
DateTime dateTime2 = this.<Expires>k__BackingField;
long num4;
writer.Write((uint)num4);
long num5 = this.<Age>k__BackingField;
writer.Write((uint)num5);
long num6 = this.<MaxAge>k__BackingField;
writer.Write((uint)num6);
DateTime dateTime3 = this.<Date>k__BackingField;
long num7;
writer.Write((uint)num7);
writer.Flush();
DateTime dateTime4 = this.<Received>k__BackingField;
long num8;
writer.Write((uint)num8);
}
// Token: 0x0600CE5C RID: 52828 RVA: 0x002F7A54 File Offset: 0x002F5C54
[Token(Token = "0x600CE5C")]
[Address(RVA = "0xAA31E0", Offset = "0xAA1FE0", VA = "0x180AA31E0")]
public string GetPath()
{
string text = this.<ConstructedPath>k__BackingField;
if (text == 0)
{
string <CacheFolder>k__BackingField = HTTPCacheService.<CacheFolder>k__BackingField;
ulong num = this.<MappedNameIDX>k__BackingField;
string text3;
string text2 = Path.Combine(<CacheFolder>k__BackingField, text3);
this.<ConstructedPath>k__BackingField = text2;
}
return text;
}
// Token: 0x0600CE5D RID: 52829 RVA: 0x002F7A8C File Offset: 0x002F5C8C
[Token(Token = "0x600CE5D")]
[Address(RVA = "0xAA39F0", Offset = "0xAA27F0", VA = "0x180AA39F0")]
public bool IsExists()
{
if (HTTPCacheService.IsSupported)
{
IIOService ioservice = HTTPManager.IOService;
string path = this.GetPath();
}
throw new NullReferenceException();
}
// Token: 0x0600CE5E RID: 52830 RVA: 0x002F7AB8 File Offset: 0x002F5CB8
[Token(Token = "0x600CE5E")]
[Address(RVA = "0xAA2ED0", Offset = "0xAA1CD0", VA = "0x180AA2ED0")]
internal void Delete()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
string path = this.GetPath();
IIOService ioservice = HTTPManager.IOService;
this.<BodyLength>k__BackingField = (int)((ulong)4294967295L);
string empty = string.Empty;
this.<ETag>k__BackingField = empty;
DateTime dateTime = DateTime.FromBinary(0L);
this.<Expires>k__BackingField = dateTime;
string empty2 = string.Empty;
this.<LastModified>k__BackingField = empty2;
this.<Age>k__BackingField = (long)((ulong)0L);
this.<MaxAge>k__BackingField = (long)((ulong)(-1L));
DateTime dateTime2 = DateTime.FromBinary(0L);
this.<Date>k__BackingField = dateTime2;
this.<MustRevalidate>k__BackingField = false;
DateTime dateTime3 = DateTime.FromBinary(0L);
this.<Received>k__BackingField = dateTime3;
}
while (num != 0);
}
// Token: 0x0600CE5F RID: 52831 RVA: 0x002F7B68 File Offset: 0x002F5D68
[Token(Token = "0x600CE5F")]
[Address(RVA = "0xAA3CA0", Offset = "0xAA2AA0", VA = "0x180AA3CA0")]
private void Reset()
{
this.<BodyLength>k__BackingField = (int)((ulong)4294967295L);
string empty = string.Empty;
this.<ETag>k__BackingField = empty;
DateTime dateTime = DateTime.FromBinary(0L);
this.<Expires>k__BackingField = dateTime;
string empty2 = string.Empty;
int num = 0;
this.<LastModified>k__BackingField = empty2;
this.<Age>k__BackingField = (long)((ulong)0L);
this.<MaxAge>k__BackingField = (long)((ulong)(-1L));
DateTime dateTime2 = DateTime.FromBinary((long)num);
this.<Date>k__BackingField = dateTime2;
int num2 = 0;
this.<MustRevalidate>k__BackingField = false;
DateTime dateTime3 = DateTime.FromBinary((long)num2);
this.<Received>k__BackingField = dateTime3;
}
// Token: 0x0600CE60 RID: 52832 RVA: 0x002F7BEC File Offset: 0x002F5DEC
[Token(Token = "0x600CE60")]
[Address(RVA = "0xAA3EE0", Offset = "0xAA2CE0", VA = "0x180AA3EE0")]
private void SetUpCachingValues(HTTPResponse response)
{
response.<CacheFileInfo>k__BackingField = this;
string text = response.GetFirstHeaderValue("ETag").ToStrOrEmpty();
this.<ETag>k__BackingField = text;
string firstHeaderValue = response.GetFirstHeaderValue("Expires");
DateTime dateTime = DateTime.FromBinary(0L);
DateTime dateTime2 = firstHeaderValue.ToDateTime(dateTime);
this.<Expires>k__BackingField = dateTime2;
string text2 = response.GetFirstHeaderValue("Last-Modified").ToStrOrEmpty();
this.<LastModified>k__BackingField = text2;
string firstHeaderValue2 = response.GetFirstHeaderValue("Age");
int num = 0;
long num2 = firstHeaderValue2.ToInt64((long)num);
this.<Age>k__BackingField = num2;
string firstHeaderValue3 = response.GetFirstHeaderValue("Date");
DateTime dateTime3 = DateTime.FromBinary(0L);
DateTime dateTime4 = firstHeaderValue3.ToDateTime(dateTime3);
this.<Date>k__BackingField = dateTime4;
string firstHeaderValue4 = response.GetFirstHeaderValue("cache-control");
if (!string.IsNullOrEmpty(firstHeaderValue4))
{
string[] array = firstHeaderValue4.FindOption("max-age");
if (array != 0)
{
string text3 = array[1];
bool flag;
if (flag)
{
this.<MaxAge>k__BackingField = (flag ? 1L : 0L);
}
}
bool flag2 = firstHeaderValue4.ToLower().Contains("must-revalidate");
this.<MustRevalidate>k__BackingField = flag2;
}
DateTime utcNow = DateTime.UtcNow;
this.<Received>k__BackingField = utcNow;
}
// Token: 0x0600CE61 RID: 52833 RVA: 0x002F7D14 File Offset: 0x002F5F14
[Token(Token = "0x600CE61")]
[Address(RVA = "0xAA4820", Offset = "0xAA3620", VA = "0x180AA4820")]
internal bool WillExpireInTheFuture()
{
if (this.IsExists() && !this.<MustRevalidate>k__BackingField)
{
DateTime dateTime = this.<Expires>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
return dateTime > utcNow;
}
}
// Token: 0x0600CE62 RID: 52834 RVA: 0x002F7DBC File Offset: 0x002F5FBC
[Token(Token = "0x600CE62")]
[Address(RVA = "0xAA4150", Offset = "0xAA2F50", VA = "0x180AA4150")]
internal void SetUpRevalidationHeaders(HTTPRequest request)
{
bool flag = this.IsExists();
if (flag)
{
string text = this.<ETag>k__BackingField;
if (!flag)
{
string text2 = this.<ETag>k__BackingField;
request.SetHeader("If-None-Match", text2);
}
string text3 = this.<LastModified>k__BackingField;
if (!flag)
{
string text4 = this.<LastModified>k__BackingField;
request.SetHeader("If-Modified-Since", text4);
}
}
}
// Token: 0x0600CE63 RID: 52835 RVA: 0x002F7E18 File Offset: 0x002F6018
[Token(Token = "0x600CE63")]
[Address(RVA = "0xAA30B0", Offset = "0xAA1EB0", VA = "0x180AA30B0")]
public Stream GetBodyStream(out int length)
{
if (this.IsExists())
{
int num = this.<BodyLength>k__BackingField;
length.m_value = num;
DateTime utcNow = DateTime.UtcNow;
this.<LastAccess>k__BackingField = utcNow;
IIOService ioservice = HTTPManager.IOService;
string path = this.GetPath();
}
throw new NullReferenceException();
}
// Token: 0x0600CE64 RID: 52836 RVA: 0x002F7E64 File Offset: 0x002F6064
[Token(Token = "0x600CE64")]
[Address(RVA = "0xAA3AC0", Offset = "0xAA28C0", VA = "0x180AA3AC0")]
internal HTTPResponse ReadResponseTo(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!this.IsExists())
{
break;
}
DateTime utcNow = DateTime.UtcNow;
this.<LastAccess>k__BackingField = utcNow;
IIOService ioservice = HTTPManager.IOService;
string path = this.GetPath();
HTTPResponse httpresponse;
httpresponse.<CacheFileInfo>k__BackingField = this;
httpresponse.Dispose();
if (path != 0)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE65 RID: 52837 RVA: 0x002F7EC0 File Offset: 0x002F60C0
[Token(Token = "0x600CE65")]
[Address(RVA = "0xAA41F0", Offset = "0xAA2FF0", VA = "0x180AA41F0")]
internal void Store(HTTPResponse response)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
return;
}
int num2 = this.GetPath().m_stringLength;
IIOService ioservice = HTTPManager.IOService;
this.Delete();
IIOService ioservice2 = HTTPManager.IOService;
string path = this.GetPath();
object[] array = new object[2];
int <StatusCode>k__BackingField = response.<StatusCode>k__BackingField;
num2 = <StatusCode>k__BackingField;
if (<StatusCode>k__BackingField != 0)
{
}
array[0] = num2;
string <Message>k__BackingField = response.<Message>k__BackingField;
if (<Message>k__BackingField != 0)
{
}
array[1] = <Message>k__BackingField;
Dictionary<string, List<string>> <Headers>k__BackingField = response.<Headers>k__BackingField;
bool flag;
int num3;
if (flag)
{
if (num < this.<LastAccess>k__BackingField)
{
break;
}
num3 = 0;
}
if (num3 != 0)
{
goto IL_116;
}
if (num3 != -1)
{
}
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
if (path != 0)
{
}
if (num3 == 0)
{
goto Block_4;
}
}
object[] array2 = new object[2];
throw new ArrayTypeMismatchException();
Block_4:
int length = response.<Data>k__BackingField.Length;
DateTime utcNow = DateTime.UtcNow;
return;
IL_116:
throw new NullReferenceException();
}
// Token: 0x0600CE66 RID: 52838 RVA: 0x002F8008 File Offset: 0x002F6208
[Token(Token = "0x600CE66")]
[Address(RVA = "0xAA3300", Offset = "0xAA2100", VA = "0x180AA3300")]
internal Stream GetSaveStream(HTTPResponse response)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_EA;
}
DateTime utcNow = DateTime.UtcNow;
this.<LastAccess>k__BackingField = utcNow;
string path = this.GetPath();
IIOService ioservice = HTTPManager.IOService;
if (path != 0)
{
this.Delete();
}
int stringLength = path.m_stringLength;
IIOService ioservice2 = HTTPManager.IOService;
string path2 = this.GetPath();
object[] array = new object[2];
int <StatusCode>k__BackingField = response.<StatusCode>k__BackingField;
if (<StatusCode>k__BackingField != 0)
{
}
array[0] = <StatusCode>k__BackingField;
string <Message>k__BackingField = response.<Message>k__BackingField;
if (<Message>k__BackingField != 0)
{
}
array[1] = <Message>k__BackingField;
Dictionary<string, List<string>> <Headers>k__BackingField = response.<Headers>k__BackingField;
bool flag;
if (flag)
{
break;
}
if (num != 0)
{
goto IL_11D;
}
if (num != -1)
{
}
if (path2 != 0)
{
}
if (num == 0)
{
goto Block_4;
}
}
object[] array2 = new object[2];
throw new ArrayTypeMismatchException();
Block_4:
throw new NullReferenceException();
IL_EA:
throw new ArrayTypeMismatchException();
IL_11D:
throw new NullReferenceException();
}
// Token: 0x0600CE67 RID: 52839 RVA: 0x002F8144 File Offset: 0x002F6344
[Token(Token = "0x600CE67")]
[Address(RVA = "0xAA2EA0", Offset = "0xAA1CA0", VA = "0x180AA2EA0", Slot = "4")]
public int CompareTo(HTTPCacheFileInfo other)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
DateTime dateTime2 = other.<LastAccess>k__BackingField;
int num;
return num;
}
}
}
@@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x02001FC2 RID: 8130
[Token(Token = "0x2001FC2")]
internal sealed class HTTPCacheFileLock
{
// Token: 0x0600CE68 RID: 52840 RVA: 0x002F8168 File Offset: 0x002F6368
[Token(Token = "0x600CE68")]
[Address(RVA = "0xAA4CA0", Offset = "0xAA3AA0", VA = "0x180AA4CA0")]
internal static object Acquire(Uri uri)
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
int num2 = 0;
if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2))
{
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
object obj = new object();
fileLocks.Add(uri, obj);
}
Monitor.Exit(syncRoot);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE69 RID: 52841 RVA: 0x002F81BC File Offset: 0x002F63BC
[Token(Token = "0x600CE69")]
[Address(RVA = "0xAA4F80", Offset = "0xAA3D80", VA = "0x180AA4F80")]
internal static void Remove(Uri uri)
{
object syncRoot = HTTPCacheFileLock.SyncRoot;
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
throw new NullReferenceException();
}
// Token: 0x0600CE6A RID: 52842 RVA: 0x002F8204 File Offset: 0x002F6404
[Token(Token = "0x600CE6A")]
[Address(RVA = "0xAA4E60", Offset = "0xAA3C60", VA = "0x180AA4E60")]
internal static void Clear()
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
HTTPCacheFileLock.FileLocks.Clear();
Monitor.Exit(syncRoot);
}
while (num != 0);
}
// Token: 0x0600CE6B RID: 52843 RVA: 0x002F8234 File Offset: 0x002F6434
[Token(Token = "0x600CE6B")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HTTPCacheFileLock()
{
}
// Token: 0x040083FE RID: 33790
[Token(Token = "0x40083FE")]
private static Dictionary<Uri, object> FileLocks = new Dictionary();
// Token: 0x040083FF RID: 33791
[Token(Token = "0x40083FF")]
private static object SyncRoot = new object();
}
}
@@ -0,0 +1,47 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x02001FC3 RID: 8131
[Token(Token = "0x2001FC3")]
public sealed class HTTPCacheMaintananceParams
{
// Token: 0x170020DF RID: 8415
// (get) Token: 0x0600CE6D RID: 52845 RVA: 0x002F826C File Offset: 0x002F646C
// (set) Token: 0x0600CE6E RID: 52846 RVA: 0x002F8280 File Offset: 0x002F6480
[Token(Token = "0x170020DF")]
public TimeSpan DeleteOlder
{
[Token(Token = "0x600CE6D")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CE6E")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
private set;
}
// Token: 0x170020E0 RID: 8416
// (get) Token: 0x0600CE6F RID: 52847 RVA: 0x002F8294 File Offset: 0x002F6494
// (set) Token: 0x0600CE70 RID: 52848 RVA: 0x002F82A8 File Offset: 0x002F64A8
[Token(Token = "0x170020E0")]
public ulong MaxCacheSize
{
[Token(Token = "0x600CE6F")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CE70")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
private set;
}
// Token: 0x0600CE71 RID: 52849 RVA: 0x002F82BC File Offset: 0x002F64BC
[Token(Token = "0x600CE71")]
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
public HTTPCacheMaintananceParams(TimeSpan deleteOlder, ulong maxCacheSize)
{
this.DeleteOlder = deleteOlder;
this.MaxCacheSize = maxCacheSize;
}
}
}
@@ -0,0 +1,825 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x02001FC5 RID: 8133
[Token(Token = "0x2001FC5")]
public static class HTTPCacheService
{
// Token: 0x170020E1 RID: 8417
// (get) Token: 0x0600CE75 RID: 52853 RVA: 0x002F8328 File Offset: 0x002F6528
[Token(Token = "0x170020E1")]
public static bool IsSupported
{
[Token(Token = "0x600CE75")]
[Address(RVA = "0xAA91B0", Offset = "0xAA7FB0", VA = "0x180AA91B0")]
get
{
int num;
do
{
num = 0;
IIOService ioservice = HTTPManager.IOService;
string rootCacheFolder = HTTPManager.GetRootCacheFolder();
ILogger logger = HTTPManager.Logger;
}
while (num != 0);
return HTTPCacheService.isSupported;
}
}
// Token: 0x170020E2 RID: 8418
// (get) Token: 0x0600CE76 RID: 52854 RVA: 0x002F836C File Offset: 0x002F656C
[Token(Token = "0x170020E2")]
private static Dictionary<Uri, HTTPCacheFileInfo> Library
{
[Token(Token = "0x600CE76")]
[Address(RVA = "0xAA9500", Offset = "0xAA8300", VA = "0x180AA9500")]
get
{
HTTPCacheService.LoadLibrary();
return HTTPCacheService.library;
}
}
// Token: 0x170020E3 RID: 8419
// (get) Token: 0x0600CE77 RID: 52855 RVA: 0x002F8388 File Offset: 0x002F6588
// (set) Token: 0x0600CE78 RID: 52856 RVA: 0x002F839C File Offset: 0x002F659C
[Token(Token = "0x170020E3")]
internal static string CacheFolder
{
[Token(Token = "0x600CE77")]
[Address(RVA = "0xAA90F0", Offset = "0xAA7EF0", VA = "0x180AA90F0")]
get;
[Token(Token = "0x600CE78")]
[Address(RVA = "0xAA9560", Offset = "0xAA8360", VA = "0x180AA9560")]
private set;
}
// Token: 0x170020E4 RID: 8420
// (get) Token: 0x0600CE79 RID: 52857 RVA: 0x002F83B0 File Offset: 0x002F65B0
// (set) Token: 0x0600CE7A RID: 52858 RVA: 0x002F83C4 File Offset: 0x002F65C4
[Token(Token = "0x170020E4")]
private static string LibraryPath
{
[Token(Token = "0x600CE79")]
[Address(RVA = "0xAA9440", Offset = "0xAA8240", VA = "0x180AA9440")]
get;
[Token(Token = "0x600CE7A")]
[Address(RVA = "0xAA95C0", Offset = "0xAA83C0", VA = "0x180AA95C0")]
set;
}
// Token: 0x0600CE7C RID: 52860 RVA: 0x002F83F0 File Offset: 0x002F65F0
[Token(Token = "0x600CE7C")]
[Address(RVA = "0xAA5460", Offset = "0xAA4260", VA = "0x180AA5460")]
internal static void CheckSetup()
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
HTTPCacheService.LoadLibrary();
}
}
// Token: 0x0600CE7D RID: 52861 RVA: 0x002F8418 File Offset: 0x002F6618
[Token(Token = "0x600CE7D")]
[Address(RVA = "0xAA8830", Offset = "0xAA7630", VA = "0x180AA8830")]
internal static void SetupCacheFolder()
{
if (HTTPCacheService.IsSupported)
{
bool flag = string.IsNullOrEmpty(HTTPCacheService.<CacheFolder>k__BackingField);
if (flag || flag)
{
HTTPCacheService.<CacheFolder>k__BackingField = Path.Combine(HTTPManager.GetRootCacheFolder(), "HTTPCache");
IIOService ioservice = HTTPManager.IOService;
IIOService ioservice2 = HTTPManager.IOService;
HTTPCacheService.<LibraryPath>k__BackingField = Path.Combine(HTTPManager.GetRootCacheFolder(), "Library");
}
ILogger logger = HTTPManager.Logger;
}
}
// Token: 0x0600CE7E RID: 52862 RVA: 0x002F8498 File Offset: 0x002F6698
[Token(Token = "0x600CE7E")]
[Address(RVA = "0xAA68A0", Offset = "0xAA56A0", VA = "0x180AA68A0")]
internal static ulong GetNameIdx()
{
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
ulong nextNameIDX = HTTPCacheService.NextNameIDX;
ulong num = HTTPCacheService.NextNameIDX;
num += (ulong)1L;
HTTPCacheService.NextNameIDX = num;
HTTPCacheService.NextNameIDX = 0UL;
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
throw new NullReferenceException();
}
// Token: 0x0600CE7F RID: 52863 RVA: 0x002F84FC File Offset: 0x002F66FC
[Token(Token = "0x600CE7F")]
[Address(RVA = "0xAA6A90", Offset = "0xAA5890", VA = "0x180AA6A90")]
internal static bool HasEntity(Uri uri)
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
throw new NullReferenceException();
}
throw new NullReferenceException();
}
// Token: 0x0600CE80 RID: 52864 RVA: 0x002F854C File Offset: 0x002F674C
[Token(Token = "0x600CE80")]
[Address(RVA = "0xAA57D0", Offset = "0xAA45D0", VA = "0x180AA57D0")]
public static bool DeleteEntity(Uri uri, bool removeFromLibrary = true)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
int num2 = 0;
object obj = HTTPCacheFileLock.Acquire(uri);
Monitor.Enter(obj, num2);
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num3 = 0;
Monitor.Enter(dictionary, num2);
HTTPCacheService.LoadLibrary();
bool flag = HTTPCacheService.library.TryGetValue(uri, num3);
if (flag)
{
}
if (removeFromLibrary != flag)
{
bool flag2 = HTTPCacheService.Library.Remove(uri);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
}
Monitor.Exit(dictionary);
if (num == 0)
{
if (num != -1)
{
}
Monitor.Exit(obj);
if (num == 0)
{
break;
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600CE81 RID: 52865 RVA: 0x002F8608 File Offset: 0x002F6808
[Token(Token = "0x600CE81")]
[Address(RVA = "0xAA6EE0", Offset = "0xAA5CE0", VA = "0x180AA6EE0")]
internal static bool IsCachedEntityExpiresInTheFuture(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_BB;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
Uri currentUri = request.CurrentUri;
if (!dictionary2.TryGetValue(currentUri, num2))
{
}
bool flag;
if (flag && request.OnUpgraded == (ulong)0L)
{
if (request.<Callback>k__BackingField == (ulong)(-1L))
{
OnUploadProgressDelegate onUploadProgress = request.OnUploadProgress;
DateTime utcNow = DateTime.UtcNow;
}
bool <DisableRetry>k__BackingField = request.<DisableRetry>k__BackingField;
int num3 = 0;
long num4 = Math.Max(0L, (long)num3);
int <MaxFragmentQueueLength>k__BackingField = request.<MaxFragmentQueueLength>k__BackingField;
long num5 = Math.Max(num4, (long)<MaxFragmentQueueLength>k__BackingField);
DateTime utcNow2 = DateTime.UtcNow;
TimeSpan timeSpan;
timeSpan += num5;
}
Monitor.Exit(dictionary);
}
while (num != 0);
if (num != -1)
{
}
IL_BB:
throw new NullReferenceException();
}
// Token: 0x0600CE82 RID: 52866 RVA: 0x002F86E4 File Offset: 0x002F68E4
[Token(Token = "0x600CE82")]
[Address(RVA = "0xAA8570", Offset = "0xAA7370", VA = "0x180AA8570")]
internal static void SetHeaders(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
bool flag = request.RemoveHeader("If-None-Match");
bool flag2 = request.RemoveHeader("If-Modified-Since");
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
Uri currentUri = request.CurrentUri;
bool flag3;
if (dictionary2.TryGetValue(currentUri, num2) && flag3)
{
int freeList = dictionary2.freeList;
if (!flag3)
{
}
IEqualityComparer comparer = dictionary2.comparer;
if (!flag3)
{
}
}
Monitor.Exit(dictionary);
}
while (num != 0);
}
// Token: 0x0600CE83 RID: 52867 RVA: 0x002F878C File Offset: 0x002F698C
[Token(Token = "0x600CE83")]
[Address(RVA = "0xAA6410", Offset = "0xAA5210", VA = "0x180AA6410")]
internal static HTTPCacheFileInfo GetEntity(Uri uri)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
bool flag = HTTPCacheService.library.TryGetValue(uri, num2);
Monitor.Exit(dictionary);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE84 RID: 52868 RVA: 0x002F87E0 File Offset: 0x002F69E0
[Token(Token = "0x600CE84")]
[Address(RVA = "0xAA6610", Offset = "0xAA5410", VA = "0x180AA6610")]
internal static HTTPResponse GetFullResponse(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_4F;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
Uri currentUri = request.CurrentUri;
if (!dictionary2.TryGetValue(currentUri, num2))
{
}
Monitor.Exit(dictionary);
}
while (num != 0);
if (num != -1)
{
}
IL_4F:
throw new NullReferenceException();
}
// Token: 0x0600CE85 RID: 52869 RVA: 0x002F8850 File Offset: 0x002F6A50
[Token(Token = "0x600CE85")]
[Address(RVA = "0xAA6C90", Offset = "0xAA5A90", VA = "0x180AA6C90")]
internal static bool IsCacheble(Uri uri, HTTPMethods method, HTTPResponse response)
{
if (!HTTPCacheService.IsSupported || response == 0 || response.<StatusCode>k__BackingField > 199)
{
return;
}
List<string> headerValues = response.GetHeaderValues("cache-control");
if (headerValues != 0)
{
Predicate<string> <>9__30_ = HTTPCacheService.<>c.<>9__30_0;
if (<>9__30_ == 0)
{
HTTPCacheService.<>c.<>9__30_0 = delegate(string headerValue)
{
string text = headerValue.ToLower();
return text.Contains("no-store") || text.Contains("no-cache");
};
}
if (headerValues.Exists(<>9__30_))
{
return;
}
}
List<string> headerValues2 = response.GetHeaderValues("pragma");
if (headerValues2 != 0)
{
Predicate<string> predicate;
if (HTTPCacheService.<>c.<>9__30_1 == 0)
{
predicate = delegate(string headerValue)
{
string text2 = headerValue.ToLower();
return text2.Contains("no-store") || text2.Contains("no-cache");
};
HTTPCacheService.<>c.<>9__30_1 = predicate;
}
if (headerValues2.Exists(predicate))
{
return;
}
}
if (response.GetHeaderValues("content-range") == 0)
{
return;
}
}
// Token: 0x0600CE86 RID: 52870 RVA: 0x002F8908 File Offset: 0x002F6B08
[Token(Token = "0x600CE86")]
[Address(RVA = "0xAA8CA0", Offset = "0xAA7AA0", VA = "0x180AA8CA0")]
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response)
{
int num;
do
{
num = 0;
if (response == 0)
{
break;
}
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
if (<Data>k__BackingField == 0 || <Data>k__BackingField.Length == num || !HTTPCacheService.IsSupported)
{
break;
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
int num2 = 0;
if (!HTTPCacheService.Library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
int num3 = 0;
ILogger logger = HTTPManager.Logger;
if (num < num3)
{
num += num;
num++;
}
if (num == 0)
{
ILogger logger2 = HTTPManager.Logger;
int hashCode = uri.GetHashCode();
string text = string.Format("{0} - Saved to cache", hashCode);
}
Monitor.Exit(dictionary);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE87 RID: 52871 RVA: 0x002F8A1C File Offset: 0x002F6C1C
[Token(Token = "0x600CE87")]
[Address(RVA = "0xAA7A30", Offset = "0xAA6830", VA = "0x180AA7A30")]
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
Monitor.Exit(dictionary);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE88 RID: 52872 RVA: 0x002F8AC0 File Offset: 0x002F6CC0
[Token(Token = "0x600CE88")]
[Address(RVA = "0xAA5190", Offset = "0xAA3F90", VA = "0x180AA5190")]
public static void BeginClear()
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
WaitCallback <>9__33_ = HTTPCacheService.<>c.<>9__33_0;
if (<>9__33_ == 0)
{
HTTPCacheService.<>c.<>9__33_0 = delegate(object param)
{
HTTPCacheService.ClearImpl(param);
};
}
bool flag = ThreadPool.QueueUserWorkItem(<>9__33_);
return;
}
}
// Token: 0x0600CE89 RID: 52873 RVA: 0x002F8B08 File Offset: 0x002F6D08
[Token(Token = "0x600CE89")]
[Address(RVA = "0xAA5500", Offset = "0xAA4300", VA = "0x180AA5500")]
private static void ClearImpl(object param)
{
int num = 0;
if (HTTPCacheService.IsSupported)
{
IIOService ioservice = HTTPManager.IOService;
IIOService ioservice2 = HTTPManager.IOService;
num++;
num++;
HTTPCacheService.UsedIndexes.Clear();
HTTPCacheService.library.Clear();
HTTPCacheService.SaveLibrary();
}
}
// Token: 0x0600CE8A RID: 52874 RVA: 0x002F8B6C File Offset: 0x002F6D6C
[Token(Token = "0x600CE8A")]
[Address(RVA = "0xAA5300", Offset = "0xAA4100", VA = "0x180AA5300")]
public static void BeginMaintainence(HTTPCacheMaintananceParams maintananceParam)
{
/*
An exception occurred when decompiling this method (0600CE8A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Caching.HTTPCacheService::BeginMaintainence(BestHTTP.Caching.HTTPCacheMaintananceParams)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3B:
stloc:ArgumentNullException(var_4_45, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("maintananceParams == null")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CE8B RID: 52875 RVA: 0x002F8BC0 File Offset: 0x002F6DC0
[Token(Token = "0x600CE8B")]
[Address(RVA = "0xAA5F50", Offset = "0xAA4D50", VA = "0x180AA5F50")]
public static int GetCacheEntityCount()
{
int num;
int count;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
return 0;
}
HTTPCacheService.CheckSetup();
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
HTTPCacheService.LoadLibrary();
count = HTTPCacheService.library.Count;
Monitor.Exit(dictionary);
}
while (num != 0);
return count;
}
// Token: 0x0600CE8C RID: 52876 RVA: 0x002F8C18 File Offset: 0x002F6E18
[Token(Token = "0x600CE8C")]
[Address(RVA = "0xAA6130", Offset = "0xAA4F30", VA = "0x180AA6130")]
public static ulong GetCacheSize()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.CheckSetup();
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
bool flag;
if (flag)
{
}
if (num != 0)
{
goto IL_51;
}
if (num != -1)
{
}
Monitor.Exit(dictionary);
}
while (num != 0);
throw new NullReferenceException();
IL_51:
throw new NullReferenceException();
}
// Token: 0x0600CE8D RID: 52877 RVA: 0x002F8C7C File Offset: 0x002F6E7C
[Token(Token = "0x600CE8D")]
[Address(RVA = "0xAA72C0", Offset = "0xAA60C0", VA = "0x180AA72C0")]
private static void LoadLibrary()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
return;
}
HTTPCacheService.library = new Dictionary(new UriComparer());
IIOService ioservice = HTTPManager.IOService;
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
IIOService ioservice2 = HTTPManager.IOService;
BinaryReader binaryReader;
ushort num2 = binaryReader.ReadUInt16();
HTTPCacheService.NextNameIDX = (ulong)binaryReader.ReadInt64();
ushort num3 = binaryReader.ReadUInt16();
Uri uri;
if (num < (int)num3)
{
decimal num4 = binaryReader.ReadDecimal();
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri, binaryReader, (int)num2);
if (httpcacheFileInfo.IsExists())
{
HTTPCacheService.library.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
num++;
}
if (binaryReader != 0)
{
}
if (num != 0)
{
goto IL_142;
}
if (num != -1)
{
}
num++;
int num5;
if (uri != 0)
{
num5 = 0;
}
if (num != 0)
{
goto IL_142;
}
if (num != -1)
{
}
Monitor.Exit(num5);
}
while (num != 0);
HTTPCacheService.DeleteUnusedFiles();
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
WaitCallback waitCallback;
if (HTTPCacheService.<>c.<>9__33_0 == 0)
{
waitCallback = delegate(object param)
{
HTTPCacheService.ClearImpl(param);
};
HTTPCacheService.<>c.<>9__33_0 = waitCallback;
}
bool flag = ThreadPool.QueueUserWorkItem(waitCallback);
}
return;
IL_142:
throw new NullReferenceException();
}
// Token: 0x0600CE8E RID: 52878 RVA: 0x002F8DD0 File Offset: 0x002F6FD0
[Token(Token = "0x600CE8E")]
[Address(RVA = "0xAA7D60", Offset = "0xAA6B60", VA = "0x180AA7D60")]
internal static void SaveLibrary()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
IIOService ioservice = HTTPManager.IOService;
BinaryWriter binaryWriter;
binaryWriter.Write(2);
ulong nextNameIDX = HTTPCacheService.NextNameIDX;
binaryWriter.Write((long)nextNameIDX);
int count = HTTPCacheService.Library.Count;
binaryWriter.Write((ushort)count);
int num2 = 0;
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
bool flag;
if (flag)
{
int hashCode = num2.GetHashCode();
}
if (num != 0)
{
goto IL_AE;
}
if (num != -1)
{
}
num++;
if (binaryWriter != 0)
{
}
if (num != 0)
{
goto IL_C0;
}
if (num != -1)
{
}
num++;
int num3 = 0;
if (num != 0)
{
goto IL_C0;
}
if (num != -1)
{
}
Monitor.Exit(num3);
}
while (num != 0);
return;
IL_AE:
throw new NullReferenceException();
IL_C0:
throw new NullReferenceException();
}
// Token: 0x0600CE8F RID: 52879 RVA: 0x002F8EA4 File Offset: 0x002F70A4
[Token(Token = "0x600CE8F")]
[Address(RVA = "0xAA8270", Offset = "0xAA7070", VA = "0x180AA8270")]
internal static void SetBodyLength(Uri uri, int bodyLength)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
DateTime utcNow = DateTime.UtcNow;
HTTPCacheFileInfo httpcacheFileInfo;
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
Monitor.Exit(dictionary);
}
while (num != 0);
}
// Token: 0x0600CE90 RID: 52880 RVA: 0x002F8F48 File Offset: 0x002F7148
[Token(Token = "0x600CE90")]
[Address(RVA = "0xAA5B40", Offset = "0xAA4940", VA = "0x180AA5B40")]
private static void DeleteUnusedFiles()
{
int num = 0;
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.CheckSetup();
IIOService ioservice = HTTPManager.IOService;
int num2 = 0;
string fileName = Path.GetFileName(num);
bool flag;
if (flag)
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
throw new NullReferenceException();
}
IIOService ioservice2 = HTTPManager.IOService;
num2++;
}
}
// Token: 0x04008402 RID: 33794
[Token(Token = "0x4008402")]
private const int LibraryVersion = 2;
// Token: 0x04008403 RID: 33795
[Token(Token = "0x4008403")]
private static bool isSupported;
// Token: 0x04008404 RID: 33796
[Token(Token = "0x4008404")]
private static bool IsSupportCheckDone;
// Token: 0x04008405 RID: 33797
[Token(Token = "0x4008405")]
private static Dictionary<Uri, HTTPCacheFileInfo> library;
// Token: 0x04008406 RID: 33798
[Token(Token = "0x4008406")]
private static Dictionary<ulong, HTTPCacheFileInfo> UsedIndexes = new Dictionary();
// Token: 0x04008409 RID: 33801
[Token(Token = "0x4008409")]
private static bool InClearThread;
// Token: 0x0400840A RID: 33802
[Token(Token = "0x400840A")]
private static bool InMaintainenceThread;
// Token: 0x0400840B RID: 33803
[Token(Token = "0x400840B")]
private static ulong NextNameIDX;
}
}
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x02001FC4 RID: 8132
[Token(Token = "0x2001FC4")]
public sealed class UriComparer : IEqualityComparer<Uri>
{
// Token: 0x0600CE72 RID: 52850 RVA: 0x002F82E0 File Offset: 0x002F64E0
[Token(Token = "0x600CE72")]
[Address(RVA = "0x1974D60", Offset = "0x1973B60", VA = "0x181974D60", Slot = "4")]
public bool Equals(Uri x, Uri y)
{
int num;
return num == 0;
}
// Token: 0x0600CE73 RID: 52851 RVA: 0x002F82F4 File Offset: 0x002F64F4
[Token(Token = "0x600CE73")]
[Address(RVA = "0x1974DE0", Offset = "0x1973BE0", VA = "0x181974DE0", Slot = "5")]
public int GetHashCode(Uri uri)
{
OVRMesh.JAAHPDGFADH jaahpdgfadh = ((OVRMesh.PJPHJNNOBBH)uri.GetHashCode()).POCDCJMHEGL();
throw new NullReferenceException();
}
// Token: 0x0600CE74 RID: 52852 RVA: 0x002F8314 File Offset: 0x002F6514
[Token(Token = "0x600CE74")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public UriComparer()
{
}
}
}
+390
View File
@@ -0,0 +1,390 @@
using System;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200188B RID: 6283
[Token(Token = "0x200188B")]
internal abstract class ConnectionBase : IDisposable
{
// Token: 0x1700172F RID: 5935
// (get) Token: 0x060092E9 RID: 37609 RVA: 0x001E17C0 File Offset: 0x001DF9C0
// (set) Token: 0x060092EA RID: 37610 RVA: 0x001E17D4 File Offset: 0x001DF9D4
[Token(Token = "0x1700172F")]
public string ServerAddress
{
[Token(Token = "0x60092E9")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x60092EA")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
protected set;
}
// Token: 0x17001730 RID: 5936
// (get) Token: 0x060092EB RID: 37611 RVA: 0x001E17E8 File Offset: 0x001DF9E8
// (set) Token: 0x060092EC RID: 37612 RVA: 0x001E17FC File Offset: 0x001DF9FC
[Token(Token = "0x17001730")]
public HTTPConnectionStates State
{
[Token(Token = "0x60092EB")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
get;
[Token(Token = "0x60092EC")]
[Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")]
protected set;
}
// Token: 0x17001731 RID: 5937
// (get) Token: 0x060092ED RID: 37613 RVA: 0x001E1810 File Offset: 0x001DFA10
[Token(Token = "0x17001731")]
public bool IsFree
{
[Token(Token = "0x60092ED")]
[Address(RVA = "0x1961C30", Offset = "0x1960A30", VA = "0x181961C30")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates == HTTPConnectionStates.Free;
}
}
// Token: 0x17001732 RID: 5938
// (get) Token: 0x060092EE RID: 37614 RVA: 0x001E1830 File Offset: 0x001DFA30
[Token(Token = "0x17001732")]
public bool IsActive
{
[Token(Token = "0x60092EE")]
[Address(RVA = "0x1961C10", Offset = "0x1960A10", VA = "0x181961C10")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return 0 < 6;
}
}
// Token: 0x17001733 RID: 5939
// (get) Token: 0x060092EF RID: 37615 RVA: 0x001E1848 File Offset: 0x001DFA48
// (set) Token: 0x060092F0 RID: 37616 RVA: 0x001E185C File Offset: 0x001DFA5C
[Token(Token = "0x17001733")]
public HTTPRequest CurrentRequest
{
[Token(Token = "0x60092EF")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x60092F0")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
protected set;
}
// Token: 0x17001734 RID: 5940
// (get) Token: 0x060092F1 RID: 37617 RVA: 0x001E1870 File Offset: 0x001DFA70
[Token(Token = "0x17001734")]
public virtual bool IsRemovable
{
[Token(Token = "0x60092F1")]
[Address(RVA = "0x1961C50", Offset = "0x1960A50", VA = "0x181961C50", Slot = "5")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
if (httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates != HTTPConnectionStates.Free)
{
}
DateTime utcNow = DateTime.UtcNow;
DateTime lastProcessTime = this.LastProcessTime;
TimeSpan timeSpan = utcNow - lastProcessTime;
TimeSpan <MaxConnectionIdleTime>k__BackingField = HTTPManager.<MaxConnectionIdleTime>k__BackingField;
return timeSpan > <MaxConnectionIdleTime>k__BackingField;
}
}
// Token: 0x17001735 RID: 5941
// (get) Token: 0x060092F2 RID: 37618 RVA: 0x001E18B8 File Offset: 0x001DFAB8
// (set) Token: 0x060092F3 RID: 37619 RVA: 0x001E18CC File Offset: 0x001DFACC
[Token(Token = "0x17001735")]
public DateTime StartTime
{
[Token(Token = "0x60092F2")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get;
[Token(Token = "0x60092F3")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
protected set;
}
// Token: 0x17001736 RID: 5942
// (get) Token: 0x060092F4 RID: 37620 RVA: 0x001E18E0 File Offset: 0x001DFAE0
// (set) Token: 0x060092F5 RID: 37621 RVA: 0x001E18F4 File Offset: 0x001DFAF4
[Token(Token = "0x17001736")]
public DateTime TimedOutStart
{
[Token(Token = "0x60092F4")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x60092F5")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
protected set;
}
// Token: 0x17001737 RID: 5943
// (get) Token: 0x060092F6 RID: 37622 RVA: 0x001E1908 File Offset: 0x001DFB08
[Token(Token = "0x17001737")]
public bool HasProxy
{
[Token(Token = "0x60092F6")]
[Address(RVA = "0x1961BF0", Offset = "0x19609F0", VA = "0x181961BF0")]
get
{
/*
An exception occurred when decompiling this method (060092F6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.ConnectionBase::get_HasProxy()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_00:
brtrue(IL_00, cne:bool(ldfld:HTTPRequest(ConnectionBase::<CurrentRequest>k__BackingField, ldloc:ConnectionBase(this)), ldc.i4:int32[exp:HTTPRequest](0)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17001738 RID: 5944
// (get) Token: 0x060092F7 RID: 37623 RVA: 0x001E1920 File Offset: 0x001DFB20
// (set) Token: 0x060092F8 RID: 37624 RVA: 0x001E1934 File Offset: 0x001DFB34
[Token(Token = "0x17001738")]
public Uri LastProcessedUri
{
[Token(Token = "0x60092F7")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
get;
[Token(Token = "0x60092F8")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
protected set;
}
// Token: 0x060092F9 RID: 37625 RVA: 0x001E1948 File Offset: 0x001DFB48
[Token(Token = "0x60092F9")]
[Address(RVA = "0x1961AE0", Offset = "0x19608E0", VA = "0x181961AE0")]
public ConnectionBase(string serverAddress)
{
int num = 0;
this.ThreadFunc(num);
this.ServerAddress = serverAddress;
this.State = (HTTPConnectionStates)((ulong)0L);
DateTime utcNow = DateTime.UtcNow;
this.LastProcessTime = utcNow;
this.IsThreaded = true;
}
// Token: 0x060092FA RID: 37626 RVA: 0x001E1984 File Offset: 0x001DFB84
[Token(Token = "0x60092FA")]
[Address(RVA = "0x1961B60", Offset = "0x1960960", VA = "0x181961B60")]
public ConnectionBase(string serverAddress, bool threaded)
{
int num = 0;
this.ThreadFunc(num);
this.ServerAddress = serverAddress;
this.State = (HTTPConnectionStates)((ulong)0L);
DateTime utcNow = DateTime.UtcNow;
this.LastProcessTime = utcNow;
this.IsThreaded = threaded;
}
// Token: 0x060092FB RID: 37627
[Token(Token = "0x60092FB")]
[Address(Slot = "6")]
internal abstract void Abort(HTTPConnectionStates hTTPConnectionStates);
// Token: 0x060092FC RID: 37628 RVA: 0x001E19C0 File Offset: 0x001DFBC0
[Token(Token = "0x60092FC")]
[Address(RVA = "0x1961860", Offset = "0x1960660", VA = "0x181961860")]
internal void Process(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (060092FC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.ConnectionBase::Process(BestHTTP.HTTPRequest)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_41:
stloc:Exception(var_4_4B, newobj:Exception(Exception::.ctor, ldstr:string("Connection already processing a request!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x060092FD RID: 37629 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60092FD")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "7")]
protected virtual void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060092FE RID: 37630 RVA: 0x001E1A1C File Offset: 0x001DFC1C
[Token(Token = "0x60092FE")]
[Address(RVA = "0x1961620", Offset = "0x1960420", VA = "0x181961620")]
internal void HandleProgressCallback()
{
ILogger logger = HTTPManager.Logger;
ILogger logger2 = HTTPManager.Logger;
this.<CurrentRequest>k__BackingField.<UploadProgressChanged>k__BackingField = false;
}
// Token: 0x060092FF RID: 37631 RVA: 0x001E1A68 File Offset: 0x001DFC68
[Token(Token = "0x60092FF")]
[Address(RVA = "0x1961520", Offset = "0x1960320", VA = "0x181961520")]
internal void HandleCallback()
{
this.HandleProgressCallback();
HTTPRequest httprequest = this.<CurrentRequest>k__BackingField;
if (this.<State>k__BackingField != HTTPConnectionStates.Upgraded)
{
httprequest.CallCallback();
}
if (httprequest != 0)
{
HTTPResponse <Response>k__BackingField = httprequest.<Response>k__BackingField;
if (<Response>k__BackingField != 0 && <Response>k__BackingField.<IsUpgraded>k__BackingField)
{
httprequest.UpgradeCallback();
}
}
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)4L);
ILogger logger = HTTPManager.Logger;
}
// Token: 0x06009300 RID: 37632 RVA: 0x001E1ACC File Offset: 0x001DFCCC
[Token(Token = "0x6009300")]
[Address(RVA = "0x1961A20", Offset = "0x1960820", VA = "0x181961A20")]
internal void Recycle(HTTPConnectionRecycledDelegate onConnectionRecycled)
{
this.OnConnectionRecycled = onConnectionRecycled;
if (this.<State>k__BackingField == HTTPConnectionStates.Redirected)
{
DateTime minValue = DateTime.MinValue;
this.LastProcessTime = minValue;
HTTPRequest httprequest = this.<CurrentRequest>k__BackingField;
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)6L);
if (httprequest != 0)
{
httprequest.Dispose();
}
HTTPConnectionRecycledDelegate onConnectionRecycled2 = this.OnConnectionRecycled;
this.<CurrentRequest>k__BackingField = (ulong)0L;
this.OnConnectionRecycled = (ulong)0L;
}
}
// Token: 0x06009301 RID: 37633 RVA: 0x001E1B2C File Offset: 0x001DFD2C
[Token(Token = "0x6009301")]
[Address(RVA = "0x1961970", Offset = "0x1960770", VA = "0x181961970")]
protected void RecycleNow()
{
if (this.<State>k__BackingField <= HTTPConnectionStates.Processing)
{
DateTime minValue = DateTime.MinValue;
this.LastProcessTime = minValue;
}
HTTPRequest httprequest = this.<CurrentRequest>k__BackingField;
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)6L);
if (httprequest != 0)
{
httprequest.Dispose();
}
HTTPConnectionRecycledDelegate onConnectionRecycled = this.OnConnectionRecycled;
this.<CurrentRequest>k__BackingField = (ulong)0L;
if (onConnectionRecycled != 0)
{
onConnectionRecycled(this);
this.OnConnectionRecycled = (ulong)0L;
}
}
// Token: 0x17001739 RID: 5945
// (get) Token: 0x06009302 RID: 37634 RVA: 0x001E1B90 File Offset: 0x001DFD90
// (set) Token: 0x06009303 RID: 37635 RVA: 0x001E1BA4 File Offset: 0x001DFDA4
[Token(Token = "0x17001739")]
private protected bool IsDisposed
{
[Token(Token = "0x6009302")]
[Address(RVA = "0x781F10", Offset = "0x780D10", VA = "0x180781F10")]
protected get;
[Token(Token = "0x6009303")]
[Address(RVA = "0x536B80", Offset = "0x535980", VA = "0x180536B80")]
private set;
}
// Token: 0x06009304 RID: 37636 RVA: 0x001E1BB8 File Offset: 0x001DFDB8
[Token(Token = "0x6009304")]
[Address(RVA = "0x1961430", Offset = "0x1960230", VA = "0x181961430", Slot = "4")]
public void Dispose()
{
GC.SuppressFinalize(this);
}
// Token: 0x06009305 RID: 37637 RVA: 0x001E1BCC File Offset: 0x001DFDCC
[Token(Token = "0x6009305")]
[Address(RVA = "0x1961420", Offset = "0x1960220", VA = "0x181961420", Slot = "8")]
protected virtual void Dispose(bool disposing)
{
this.<IsDisposed>k__BackingField = true;
}
// Token: 0x06009306 RID: 37638 RVA: 0x001E1BE0 File Offset: 0x001DFDE0
[Token(Token = "0x6009306")]
[Address(RVA = "0x19614A0", Offset = "0x19602A0", VA = "0x1819614A0", Slot = "1")]
protected override void Finalize()
{
int num;
do
{
num = 0;
int num2 = 0;
this.ThreadFunc(num2);
int num3 = 0;
this.ThreadFunc(num3);
}
while (num != 0);
}
// Token: 0x04006474 RID: 25716
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006474")]
protected DateTime LastProcessTime;
// Token: 0x04006475 RID: 25717
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4006475")]
protected HTTPConnectionRecycledDelegate OnConnectionRecycled;
// Token: 0x04006476 RID: 25718
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006476")]
private bool IsThreaded;
}
}
+573
View File
@@ -0,0 +1,573 @@
using System;
using System.Collections.Generic;
using System.IO;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Cookies
{
// Token: 0x02001FBE RID: 8126
[Token(Token = "0x2001FBE")]
public sealed class Cookie : IComparable<Cookie>, IEquatable<Cookie>
{
// Token: 0x170020C4 RID: 8388
// (get) Token: 0x0600CDFF RID: 52735 RVA: 0x002F6504 File Offset: 0x002F4704
// (set) Token: 0x0600CE00 RID: 52736 RVA: 0x002F6518 File Offset: 0x002F4718
[Token(Token = "0x170020C4")]
public string Name
{
[Token(Token = "0x600CDFF")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CE00")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
private set;
}
// Token: 0x170020C5 RID: 8389
// (get) Token: 0x0600CE01 RID: 52737 RVA: 0x002F652C File Offset: 0x002F472C
// (set) Token: 0x0600CE02 RID: 52738 RVA: 0x002F6540 File Offset: 0x002F4740
[Token(Token = "0x170020C5")]
public string Value
{
[Token(Token = "0x600CE01")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CE02")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
private set;
}
// Token: 0x170020C6 RID: 8390
// (get) Token: 0x0600CE03 RID: 52739 RVA: 0x002F6554 File Offset: 0x002F4754
// (set) Token: 0x0600CE04 RID: 52740 RVA: 0x002F6568 File Offset: 0x002F4768
[Token(Token = "0x170020C6")]
public DateTime Date
{
[Token(Token = "0x600CE03")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CE04")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
internal set;
}
// Token: 0x170020C7 RID: 8391
// (get) Token: 0x0600CE05 RID: 52741 RVA: 0x002F657C File Offset: 0x002F477C
// (set) Token: 0x0600CE06 RID: 52742 RVA: 0x002F6590 File Offset: 0x002F4790
[Token(Token = "0x170020C7")]
public DateTime LastAccess
{
[Token(Token = "0x600CE05")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get;
[Token(Token = "0x600CE06")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
set;
}
// Token: 0x170020C8 RID: 8392
// (get) Token: 0x0600CE07 RID: 52743 RVA: 0x002F65A4 File Offset: 0x002F47A4
// (set) Token: 0x0600CE08 RID: 52744 RVA: 0x002F65B8 File Offset: 0x002F47B8
[Token(Token = "0x170020C8")]
public DateTime Expires
{
[Token(Token = "0x600CE07")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x600CE08")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
private set;
}
// Token: 0x170020C9 RID: 8393
// (get) Token: 0x0600CE09 RID: 52745 RVA: 0x002F65CC File Offset: 0x002F47CC
// (set) Token: 0x0600CE0A RID: 52746 RVA: 0x002F65E0 File Offset: 0x002F47E0
[Token(Token = "0x170020C9")]
public long MaxAge
{
[Token(Token = "0x600CE09")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
get;
[Token(Token = "0x600CE0A")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
private set;
}
// Token: 0x170020CA RID: 8394
// (get) Token: 0x0600CE0B RID: 52747 RVA: 0x002F65F4 File Offset: 0x002F47F4
// (set) Token: 0x0600CE0C RID: 52748 RVA: 0x002F6608 File Offset: 0x002F4808
[Token(Token = "0x170020CA")]
public bool IsSession
{
[Token(Token = "0x600CE0B")]
[Address(RVA = "0x4363F0", Offset = "0x4351F0", VA = "0x1804363F0")]
get;
[Token(Token = "0x600CE0C")]
[Address(RVA = "0x4366B0", Offset = "0x4354B0", VA = "0x1804366B0")]
private set;
}
// Token: 0x170020CB RID: 8395
// (get) Token: 0x0600CE0D RID: 52749 RVA: 0x002F661C File Offset: 0x002F481C
// (set) Token: 0x0600CE0E RID: 52750 RVA: 0x002F6630 File Offset: 0x002F4830
[Token(Token = "0x170020CB")]
public string Domain
{
[Token(Token = "0x600CE0D")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get;
[Token(Token = "0x600CE0E")]
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
private set;
}
// Token: 0x170020CC RID: 8396
// (get) Token: 0x0600CE0F RID: 52751 RVA: 0x002F6644 File Offset: 0x002F4844
// (set) Token: 0x0600CE10 RID: 52752 RVA: 0x002F6658 File Offset: 0x002F4858
[Token(Token = "0x170020CC")]
public string Path
{
[Token(Token = "0x600CE0F")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get;
[Token(Token = "0x600CE10")]
[Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")]
private set;
}
// Token: 0x170020CD RID: 8397
// (get) Token: 0x0600CE11 RID: 52753 RVA: 0x002F666C File Offset: 0x002F486C
// (set) Token: 0x0600CE12 RID: 52754 RVA: 0x002F6680 File Offset: 0x002F4880
[Token(Token = "0x170020CD")]
public bool IsSecure
{
[Token(Token = "0x600CE11")]
[Address(RVA = "0x40FFA0", Offset = "0x40EDA0", VA = "0x18040FFA0")]
get;
[Token(Token = "0x600CE12")]
[Address(RVA = "0x410010", Offset = "0x40EE10", VA = "0x180410010")]
private set;
}
// Token: 0x170020CE RID: 8398
// (get) Token: 0x0600CE13 RID: 52755 RVA: 0x002F6694 File Offset: 0x002F4894
// (set) Token: 0x0600CE14 RID: 52756 RVA: 0x002F66A8 File Offset: 0x002F48A8
[Token(Token = "0x170020CE")]
public bool IsHttpOnly
{
[Token(Token = "0x600CE13")]
[Address(RVA = "0x46A7B0", Offset = "0x4695B0", VA = "0x18046A7B0")]
get;
[Token(Token = "0x600CE14")]
[Address(RVA = "0xD53F10", Offset = "0xD52D10", VA = "0x180D53F10")]
private set;
}
// Token: 0x0600CE15 RID: 52757 RVA: 0x002F66BC File Offset: 0x002F48BC
[Token(Token = "0x600CE15")]
[Address(RVA = "0x1965C50", Offset = "0x1964A50", VA = "0x181965C50")]
public Cookie(string name, string value)
{
string empty = string.Empty;
}
// Token: 0x0600CE16 RID: 52758 RVA: 0x002F66D0 File Offset: 0x002F48D0
[Token(Token = "0x600CE16")]
[Address(RVA = "0x1965F40", Offset = "0x1964D40", VA = "0x181965F40")]
public Cookie(string name, string value, string path)
{
string empty = string.Empty;
}
// Token: 0x0600CE17 RID: 52759 RVA: 0x002F66E4 File Offset: 0x002F48E4
[Token(Token = "0x600CE17")]
[Address(RVA = "0x1965E90", Offset = "0x1964C90", VA = "0x181965E90")]
public Cookie(string name, string value, string path, string domain)
{
int num = 0;
base.FieldGetter(num, value, path);
this.IsSession = true;
this.MaxAge = (long)((ulong)(-1L));
DateTime utcNow = DateTime.UtcNow;
this.LastAccess = utcNow;
this.Name = name;
this.Value = value;
this.Domain = 0;
this.Path = path;
}
// Token: 0x0600CE18 RID: 52760 RVA: 0x002F6738 File Offset: 0x002F4938
[Token(Token = "0x600CE18")]
[Address(RVA = "0x1965CD0", Offset = "0x1964AD0", VA = "0x181965CD0")]
public Cookie(Uri uri, string name, string value, DateTime expires, bool isSession = true)
{
string absolutePath = uri.AbsolutePath;
string host = uri.Host;
this.Expires = 0;
this.IsSession = false;
DateTime utcNow = DateTime.UtcNow;
this.Date = utcNow;
}
// Token: 0x0600CE19 RID: 52761 RVA: 0x002F6778 File Offset: 0x002F4978
[Token(Token = "0x600CE19")]
[Address(RVA = "0x1965DB0", Offset = "0x1964BB0", VA = "0x181965DB0")]
public Cookie(Uri uri, string name, string value, long maxAge = -1L, bool isSession = true)
{
string absolutePath = uri.AbsolutePath;
string host = uri.Host;
this.MaxAge = 0L;
this.IsSession = false;
DateTime utcNow = DateTime.UtcNow;
this.Date = utcNow;
}
// Token: 0x0600CE1A RID: 52762 RVA: 0x002F67B8 File Offset: 0x002F49B8
[Token(Token = "0x600CE1A")]
[Address(RVA = "0x1965FC0", Offset = "0x1964DC0", VA = "0x181965FC0")]
internal Cookie()
{
this.IsSession = true;
this.MaxAge = (long)((ulong)(-1L));
DateTime utcNow = DateTime.UtcNow;
this.LastAccess = utcNow;
}
// Token: 0x0600CE1B RID: 52763 RVA: 0x002F67EC File Offset: 0x002F49EC
[Token(Token = "0x600CE1B")]
[Address(RVA = "0x1965B40", Offset = "0x1964940", VA = "0x181965B40")]
public bool WillExpireInTheFuture()
{
if (!this.<IsSession>k__BackingField)
{
DateTime utcNow = DateTime.UtcNow;
DateTime dateTime = this.<Date>k__BackingField;
TimeSpan timeSpan = utcNow - dateTime;
int num = 0;
return Math.Max(0L, (long)num) < this.<MaxAge>k__BackingField;
}
return true;
}
// Token: 0x0600CE1C RID: 52764 RVA: 0x002F684C File Offset: 0x002F4A4C
[Token(Token = "0x600CE1C")]
[Address(RVA = "0x1964D00", Offset = "0x1963B00", VA = "0x181964D00")]
public uint GuessSize()
{
/*
An exception occurred when decompiling this method (0600CE1C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.Cookies.Cookie::GuessSize()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_6C:
stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldc.i4:int32(35)))
stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08)))
stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08)))
stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CE1D RID: 52765 RVA: 0x002F68E0 File Offset: 0x002F4AE0
[Token(Token = "0x600CE1D")]
[Address(RVA = "0x19650F0", Offset = "0x1963EF0", VA = "0x1819650F0")]
public static Cookie Parse(string header, Uri defaultDomain)
{
int num = 0;
Cookie cookie = new Cookie();
cookie.<IsSession>k__BackingField = true;
cookie.<MaxAge>k__BackingField = (long)((ulong)(-1L));
DateTime utcNow = DateTime.UtcNow;
cookie.<LastAccess>k__BackingField = utcNow;
List<HeaderValue> list = Cookie.ParseCookieHeader(header);
bool flag;
if (flag)
{
int stringLength = header.m_stringLength;
string text;
if (string.Equals(text, "path"))
{
if (!string.IsNullOrEmpty(text))
{
bool flag2 = text.StartsWith("/");
if (flag2)
{
cookie.<Path>k__BackingField = flag2;
}
}
cookie.<Path>k__BackingField = "/";
}
if (string.Equals(text, "domain") && !string.IsNullOrEmpty(text))
{
string text2;
if (text.StartsWith("."))
{
text2 = text.Substring(1);
}
cookie.<Domain>k__BackingField = text2;
}
if (string.Equals(text, "expires"))
{
DateTime dateTime = DateTime.FromBinary(0L);
DateTime dateTime2 = text.ToDateTime(dateTime);
cookie.<Expires>k__BackingField = dateTime2;
cookie.<IsSession>k__BackingField = false;
}
if (string.Equals(text, "max-age"))
{
long num2;
cookie.<MaxAge>k__BackingField = num2;
cookie.<IsSession>k__BackingField = false;
}
if (string.Equals(text, "secure"))
{
cookie.<IsSecure>k__BackingField = true;
}
bool flag3 = string.Equals(text, "httponly");
if (flag3)
{
cookie.<IsHttpOnly>k__BackingField = true;
}
cookie.<Name>k__BackingField = flag3;
cookie.<Value>k__BackingField = flag3;
}
if (num == 0)
{
if (num != -1)
{
}
cookie.<IsSession>k__BackingField = true;
string text3 = cookie.<Domain>k__BackingField;
string host = defaultDomain.Host;
cookie.<Domain>k__BackingField = host;
string text4 = cookie.<Path>k__BackingField;
if (host != 0)
{
string absolutePath = defaultDomain.AbsolutePath;
cookie.<Path>k__BackingField = absolutePath;
}
DateTime utcNow2 = DateTime.UtcNow;
cookie.<LastAccess>k__BackingField = utcNow2;
cookie.<Date>k__BackingField = utcNow2;
ILogger logger = HTTPManager.Logger;
string[] array = new string[6];
throw new ArrayTypeMismatchException();
}
throw new NullReferenceException();
}
// Token: 0x0600CE1E RID: 52766 RVA: 0x002F6B90 File Offset: 0x002F4D90
[Token(Token = "0x600CE1E")]
[Address(RVA = "0x1965900", Offset = "0x1964700", VA = "0x181965900")]
internal void SaveTo(BinaryWriter stream)
{
stream.Write(1);
string text = this.<Name>k__BackingField;
if (text == 0)
{
}
stream.Write(text);
string empty;
if (this.<Value>k__BackingField == 0)
{
empty = string.Empty;
}
stream.Write(empty);
DateTime dateTime = this.<Date>k__BackingField;
long num;
stream.Write((uint)num);
DateTime dateTime2 = this.<LastAccess>k__BackingField;
long num2;
stream.Write((uint)num2);
DateTime dateTime3 = this.<Expires>k__BackingField;
long num3;
stream.Write((uint)num3);
long num4 = this.<MaxAge>k__BackingField;
stream.Write((uint)num4);
stream.Flush();
string empty2;
if (this.<Domain>k__BackingField == 0)
{
empty2 = string.Empty;
}
stream.Write(empty2);
string empty3;
if (this.<Path>k__BackingField == 0)
{
empty3 = string.Empty;
}
stream.Write(empty3);
stream.Flush();
stream.Flush();
}
// Token: 0x0600CE1F RID: 52767 RVA: 0x002F6C54 File Offset: 0x002F4E54
[Token(Token = "0x600CE1F")]
[Address(RVA = "0x1964D60", Offset = "0x1963B60", VA = "0x181964D60")]
internal void LoadFrom(BinaryReader stream)
{
ushort num = stream.ReadUInt16();
decimal num2 = stream.ReadDecimal();
this.<Name>k__BackingField = num2;
decimal num3 = stream.ReadDecimal();
this.<Value>k__BackingField = num3;
DateTime dateTime = DateTime.FromBinary((long)stream.ReadUInt32());
this.<Date>k__BackingField = dateTime;
DateTime dateTime2 = DateTime.FromBinary((long)stream.ReadUInt32());
this.<LastAccess>k__BackingField = dateTime2;
DateTime dateTime3 = DateTime.FromBinary((long)stream.ReadUInt32());
this.<Expires>k__BackingField = dateTime3;
uint num4 = stream.ReadUInt32();
this.<MaxAge>k__BackingField = (long)num4;
int num5 = stream.Read();
this.<IsSession>k__BackingField = num5 != 0;
decimal num6 = stream.ReadDecimal();
this.<Domain>k__BackingField = num6;
decimal num7 = stream.ReadDecimal();
this.<Path>k__BackingField = num7;
int num8 = stream.Read();
this.<IsSecure>k__BackingField = num8 != 0;
int num9 = stream.Read();
this.<IsHttpOnly>k__BackingField = num9 != 0;
}
// Token: 0x0600CE20 RID: 52768 RVA: 0x002F6D28 File Offset: 0x002F4F28
[Token(Token = "0x600CE20")]
[Address(RVA = "0x1965B00", Offset = "0x1964900", VA = "0x181965B00", Slot = "3")]
public override string ToString()
{
string text = this.<Value>k__BackingField;
return this.<Name>k__BackingField + "=" + text;
}
// Token: 0x0600CE21 RID: 52769 RVA: 0x002F6D50 File Offset: 0x002F4F50
[Token(Token = "0x600CE21")]
[Address(RVA = "0x1964C50", Offset = "0x1963A50", VA = "0x181964C50", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != 0)
{
bool flag;
return flag;
}
}
// Token: 0x0600CE22 RID: 52770 RVA: 0x002F6D64 File Offset: 0x002F4F64
[Token(Token = "0x600CE22")]
[Address(RVA = "0x1964B90", Offset = "0x1963990", VA = "0x181964B90", Slot = "5")]
public bool Equals(Cookie cookie)
{
if (cookie != 0)
{
if (this != cookie)
{
string text = this.<Name>k__BackingField;
string text2 = cookie.<Name>k__BackingField;
if (!text.Equals(text2, StringComparison.Ordinal))
{
goto IL_76;
}
string text3 = this.<Domain>k__BackingField;
if (text3 != 0 || cookie.<Domain>k__BackingField != text3)
{
string text4 = cookie.<Domain>k__BackingField;
if (!text3.Equals(text4, StringComparison.Ordinal))
{
goto IL_76;
}
}
string text5 = this.<Path>k__BackingField;
if (text5 != 0 || cookie.<Path>k__BackingField != text5)
{
string text6 = cookie.<Path>k__BackingField;
return text5.Equals(text6, StringComparison.Ordinal);
}
}
return true;
}
IL_76:
throw new NullReferenceException();
}
// Token: 0x0600CE23 RID: 52771 RVA: 0x002F6DF0 File Offset: 0x002F4FF0
[Token(Token = "0x600CE23")]
[Address(RVA = "0x1964CC0", Offset = "0x1963AC0", VA = "0x181964CC0", Slot = "2")]
public override int GetHashCode()
{
OVRMesh.JAAHPDGFADH jaahpdgfadh = ((OVRMesh.PJPHJNNOBBH)this.GetHashCode()).POCDCJMHEGL();
throw new NullReferenceException();
}
// Token: 0x0600CE24 RID: 52772 RVA: 0x002F6E10 File Offset: 0x002F5010
[Token(Token = "0x600CE24")]
[Address(RVA = "0x1965870", Offset = "0x1964670", VA = "0x181965870")]
private static string ReadValue(string str, ref int pos)
{
string empty = string.Empty;
if (str != 0)
{
}
return empty;
}
// Token: 0x0600CE25 RID: 52773 RVA: 0x002F6E28 File Offset: 0x002F5028
[Token(Token = "0x600CE25")]
[Address(RVA = "0x1964F00", Offset = "0x1963D00", VA = "0x181964F00")]
private static List<HeaderValue> ParseCookieHeader(string str)
{
List<HeaderValue> list = new List();
if (str != 0)
{
int num = 0;
if (num < str.m_stringLength)
{
Func<char, bool> <>9__61_ = Cookie.<>c.<>9__61_0;
if (<>9__61_ == 0)
{
Cookie.<>c.<>9__61_0 = delegate(char ch)
{
bool flag;
return flag;
};
}
HeaderValue headerValue = new HeaderValue(Extensions.Read(str, num, <>9__61_, true).Trim());
if (num < str.m_stringLength)
{
char c = str[num];
string text = Cookie.ReadValue(str, num);
headerValue.<Value>k__BackingField = text;
}
list.Add(headerValue);
}
}
return list;
}
// Token: 0x0600CE26 RID: 52774 RVA: 0x002F6EB0 File Offset: 0x002F50B0
[Token(Token = "0x600CE26")]
[Address(RVA = "0x1964B60", Offset = "0x1963960", VA = "0x181964B60", Slot = "4")]
public int CompareTo(Cookie other)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
DateTime dateTime2 = other.<LastAccess>k__BackingField;
int num;
return num;
}
// Token: 0x040083DA RID: 33754
[Token(Token = "0x40083DA")]
private const int Version = 1;
}
}
@@ -0,0 +1,549 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Cookies
{
// Token: 0x02001FC0 RID: 8128
[Token(Token = "0x2001FC0")]
public static class CookieJar
{
// Token: 0x170020CF RID: 8399
// (get) Token: 0x0600CE2A RID: 52778 RVA: 0x002F6F10 File Offset: 0x002F5110
[Token(Token = "0x170020CF")]
public static bool IsSavingSupported
{
[Token(Token = "0x600CE2A")]
[Address(RVA = "0x1964750", Offset = "0x1963550", VA = "0x181964750")]
get
{
int num;
do
{
num = 0;
IIOService ioservice = HTTPManager.IOService;
string rootCacheFolder = HTTPManager.GetRootCacheFolder();
ILogger logger = HTTPManager.Logger;
}
while (num != 0);
return CookieJar._isSavingSupported;
}
}
// Token: 0x170020D0 RID: 8400
// (get) Token: 0x0600CE2B RID: 52779 RVA: 0x002F6F54 File Offset: 0x002F5154
// (set) Token: 0x0600CE2C RID: 52780 RVA: 0x002F6F68 File Offset: 0x002F5168
[Token(Token = "0x170020D0")]
private static string CookieFolder
{
[Token(Token = "0x600CE2B")]
[Address(RVA = "0x1964690", Offset = "0x1963490", VA = "0x181964690")]
get;
[Token(Token = "0x600CE2C")]
[Address(RVA = "0x1964AA0", Offset = "0x19638A0", VA = "0x181964AA0")]
set;
}
// Token: 0x170020D1 RID: 8401
// (get) Token: 0x0600CE2D RID: 52781 RVA: 0x002F6F7C File Offset: 0x002F517C
// (set) Token: 0x0600CE2E RID: 52782 RVA: 0x002F6F90 File Offset: 0x002F5190
[Token(Token = "0x170020D1")]
private static string LibraryPath
{
[Token(Token = "0x600CE2D")]
[Address(RVA = "0x19649E0", Offset = "0x19637E0", VA = "0x1819649E0")]
get;
[Token(Token = "0x600CE2E")]
[Address(RVA = "0x1964B00", Offset = "0x1963900", VA = "0x181964B00")]
set;
}
// Token: 0x0600CE2F RID: 52783 RVA: 0x002F6FA4 File Offset: 0x002F51A4
[Token(Token = "0x600CE2F")]
[Address(RVA = "0x1964320", Offset = "0x1963120", VA = "0x181964320")]
internal static void SetupFolder()
{
if (CookieJar.IsSavingSupported)
{
bool flag = string.IsNullOrEmpty(CookieJar.<CookieFolder>k__BackingField);
if (flag || flag)
{
CookieJar.<CookieFolder>k__BackingField = Path.Combine(HTTPManager.GetRootCacheFolder(), "Cookies");
CookieJar.<LibraryPath>k__BackingField = Path.Combine(CookieJar.<CookieFolder>k__BackingField, "Library");
}
}
}
// Token: 0x0600CE30 RID: 52784 RVA: 0x002F6FF8 File Offset: 0x002F51F8
[Token(Token = "0x600CE30")]
[Address(RVA = "0x1963EB0", Offset = "0x1962CB0", VA = "0x181963EB0")]
internal static void Set(HTTPResponse response)
{
while (response != 0)
{
object locker = CookieJar.Locker;
CookieJar.Maintain();
List<Cookie> list = new List();
List<string> headerValues = response.GetHeaderValues("set-cookie");
if (headerValues != 0)
{
bool flag;
if (flag)
{
Uri currentUri = response.baseRequest.CurrentUri;
Cookie cookie;
if (cookie == 0)
{
goto IL_90;
}
if (!string.IsNullOrEmpty(cookie.<Value>k__BackingField))
{
int num = 0;
if (cookie.WillExpireInTheFuture())
{
Cookie cookie2;
if (cookie2 != 0)
{
DateTime <Date>k__BackingField = cookie2.<Date>k__BackingField;
cookie.<Date>k__BackingField = <Date>k__BackingField;
CookieJar.Cookies[num] = cookie;
list.Add(cookie);
goto IL_90;
}
goto IL_90;
}
}
IL_9C:
while (cookie == (ulong)(-1L))
{
}
List<Cookie> cookies = CookieJar.Cookies;
goto IL_AA;
IL_90:
CookieJar.Cookies.Add(cookie);
goto IL_9C;
}
IL_AA:
int num2 = 0;
if (response != 0)
{
throw new NullReferenceException();
}
if (num2 != -1)
{
}
response.<Cookies>k__BackingField = list;
num2++;
}
Monitor.Exit(headerValues);
if (headerValues == 0)
{
break;
}
}
}
// Token: 0x0600CE31 RID: 52785 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CE31")]
[Address(RVA = "0x1962E90", Offset = "0x1961C90", VA = "0x181962E90")]
internal static void Maintain()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CE32 RID: 52786 RVA: 0x002F7108 File Offset: 0x002F5308
[Token(Token = "0x600CE32")]
[Address(RVA = "0x1963360", Offset = "0x1962160", VA = "0x181963360")]
internal static void Persist()
{
int num;
do
{
num = 0;
if (!CookieJar.IsSavingSupported)
{
break;
}
object locker = CookieJar.Locker;
CookieJar.Maintain();
IIOService ioservice = HTTPManager.IOService;
IIOService ioservice2 = HTTPManager.IOService;
IIOService ioservice3 = HTTPManager.IOService;
BinaryWriter binaryWriter;
binaryWriter.Write(1);
int num2 = 0;
List<Cookie> cookies = CookieJar.Cookies;
bool flag;
if (flag)
{
num2++;
}
int num3 = 0;
if (num != 0)
{
goto IL_D0;
}
if (num3 != -1)
{
}
binaryWriter.Write((ushort)num2);
List<Cookie> cookies2 = CookieJar.Cookies;
bool flag2;
if (flag2)
{
}
num3++;
if (num != 0)
{
goto IL_D6;
}
if (num3 != -1)
{
}
num3++;
if (binaryWriter != 0)
{
}
if (num != 0)
{
goto IL_EE;
}
if (num3 != -1)
{
}
num3++;
if (num2 != 0)
{
}
if (num != 0)
{
goto IL_EE;
}
if (num3 != -1)
{
}
num3++;
num3++;
Monitor.Exit(num3);
}
while (num != 0);
return;
IL_D0:
throw new NullReferenceException();
IL_D6:
throw new NullReferenceException();
IL_EE:
throw new NullReferenceException();
}
// Token: 0x0600CE33 RID: 52787 RVA: 0x002F7210 File Offset: 0x002F5410
[Token(Token = "0x600CE33")]
[Address(RVA = "0x19627E0", Offset = "0x19615E0", VA = "0x1819627E0")]
internal static void Load()
{
for (;;)
{
int num = 0;
if (!CookieJar.IsSavingSupported)
{
break;
}
object locker = CookieJar.Locker;
CookieJar.SetupFolder();
CookieJar.Cookies.Clear();
IIOService ioservice = HTTPManager.IOService;
IIOService ioservice2 = HTTPManager.IOService;
IIOService ioservice3 = HTTPManager.IOService;
IIOService ioservice4 = HTTPManager.IOService;
BinaryReader binaryReader;
ushort num2 = binaryReader.ReadUInt16();
ushort num3 = binaryReader.ReadUInt16();
int num4 = 0;
if (num4 < (int)num3)
{
Cookie cookie = new Cookie();
cookie.LoadFrom(binaryReader);
if (cookie.WillExpireInTheFuture())
{
CookieJar.Cookies.Add(cookie);
}
num4++;
}
int num5 = 0;
if (binaryReader != 0)
{
}
if (num != 0)
{
goto IL_EE;
}
if (num5 != -1)
{
}
num5++;
if (num != 0)
{
goto IL_EE;
}
if (num5 != -1)
{
}
num5++;
int num6 = 0;
CookieJar.Cookies.Clear();
num6++;
if (num == 0)
{
if (num6 != -1)
{
}
if (num == 0)
{
break;
}
}
}
return;
IL_EE:
throw new NullReferenceException();
}
// Token: 0x0600CE34 RID: 52788 RVA: 0x002F7328 File Offset: 0x002F5528
[Token(Token = "0x600CE34")]
[Address(RVA = "0x1962560", Offset = "0x1961360", VA = "0x181962560")]
public static List<Cookie> Get(Uri uri)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
List<Cookie> cookies = CookieJar.Cookies;
List<Cookie> cookies2 = CookieJar.Cookies;
bool flag;
if (flag)
{
int num2 = 0;
if (uri.Host.IndexOf(num2) != -1)
{
int num3 = 0;
if (uri.AbsolutePath.StartsWith(num3) && num == 0)
{
List<Cookie> list = new List();
}
}
}
num++;
Monitor.Exit(locker);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CE35 RID: 52789 RVA: 0x002F73C0 File Offset: 0x002F55C0
[Token(Token = "0x600CE35")]
[Address(RVA = "0x1963C90", Offset = "0x1962A90", VA = "0x181963C90")]
public static void Set(Uri uri, Cookie cookie)
{
CookieJar.Set(cookie);
}
// Token: 0x0600CE36 RID: 52790 RVA: 0x002F73D4 File Offset: 0x002F55D4
[Token(Token = "0x600CE36")]
[Address(RVA = "0x1963CF0", Offset = "0x1962AF0", VA = "0x181963CF0")]
public static void Set(Cookie cookie)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
CookieJar.Cookies.Add(cookie);
List<Cookie> cookies = CookieJar.Cookies;
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CE37 RID: 52791 RVA: 0x002F7418 File Offset: 0x002F5618
[Token(Token = "0x600CE37")]
[Address(RVA = "0x1962450", Offset = "0x1961250", VA = "0x181962450")]
public static List<Cookie> GetAll()
{
int num;
List<Cookie> cookies;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
cookies = CookieJar.Cookies;
Monitor.Exit(locker);
}
while (num != 0);
return cookies;
}
// Token: 0x0600CE38 RID: 52792 RVA: 0x002F7448 File Offset: 0x002F5648
[Token(Token = "0x600CE38")]
[Address(RVA = "0x1961D70", Offset = "0x1960B70", VA = "0x181961D70")]
public static void Clear()
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
CookieJar.Cookies.Clear();
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CE39 RID: 52793 RVA: 0x002F7480 File Offset: 0x002F5680
[Token(Token = "0x600CE39")]
[Address(RVA = "0x1961E90", Offset = "0x1960C90", VA = "0x181961E90")]
public static void Clear(TimeSpan olderThan)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
List<Cookie> cookies = CookieJar.Cookies;
List<Cookie> cookies2 = CookieJar.Cookies;
bool flag;
if (flag)
{
object locker2 = CookieJar.Locker;
DateTime utcNow = DateTime.UtcNow;
DateTime dateTime;
if (!(dateTime < utcNow))
{
num++;
}
}
CookieJar.Cookies.RemoveAt(num);
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CE3A RID: 52794 RVA: 0x002F74FC File Offset: 0x002F56FC
[Token(Token = "0x600CE3A")]
[Address(RVA = "0x1962100", Offset = "0x1960F00", VA = "0x181962100")]
public static void Clear(string domain)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
List<Cookie> cookies = CookieJar.Cookies;
List<Cookie> cookies2 = CookieJar.Cookies;
bool flag;
int num2;
if (flag && num2 == -1)
{
num++;
}
CookieJar.Cookies.RemoveAt(num);
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CE3B RID: 52795 RVA: 0x002F7568 File Offset: 0x002F5768
[Token(Token = "0x600CE3B")]
[Address(RVA = "0x1963A10", Offset = "0x1962810", VA = "0x181963A10")]
public static void Remove(Uri uri, string name)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
List<Cookie> cookies = CookieJar.Cookies;
List<Cookie> cookies2 = CookieJar.Cookies;
if (CookieJar.<CookieFolder>k__BackingField.Equals(name, StringComparison.OrdinalIgnoreCase))
{
int num2 = 0;
if (uri.Host.IndexOf(num2) != -1)
{
CookieJar.Cookies.RemoveAt(num);
}
}
num++;
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x0600CE3C RID: 52796 RVA: 0x002F75F8 File Offset: 0x002F57F8
[Token(Token = "0x600CE3C")]
[Address(RVA = "0x1962340", Offset = "0x1961140", VA = "0x181962340")]
private static Cookie Find(Cookie cookie, out int idx)
{
int num = 0;
List<Cookie> cookies = CookieJar.Cookies;
List<Cookie> cookies2 = CookieJar.Cookies;
bool flag;
if (!flag)
{
num++;
}
idx.m_value = num;
return typeof(CookieJar).TypeHandle;
}
// Token: 0x0600CE3D RID: 52797 RVA: 0x002F7630 File Offset: 0x002F5830
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CE3D")]
[Address(RVA = "0x19645D0", Offset = "0x19633D0", VA = "0x1819645D0")]
static CookieJar()
{
TimeSpan timeSpan;
CookieJar.AccessThreshold = timeSpan;
CookieJar.Cookies = new List();
CookieJar.Locker = new object();
}
// Token: 0x040083E8 RID: 33768
[Token(Token = "0x40083E8")]
private const int Version = 1;
// Token: 0x040083E9 RID: 33769
[Token(Token = "0x40083E9")]
public static TimeSpan AccessThreshold;
// Token: 0x040083EA RID: 33770
[Token(Token = "0x40083EA")]
private static List<Cookie> Cookies;
// Token: 0x040083ED RID: 33773
[Token(Token = "0x40083ED")]
private static object Locker;
// Token: 0x040083EE RID: 33774
[Token(Token = "0x40083EE")]
private static bool _isSavingSupported;
// Token: 0x040083EF RID: 33775
[Token(Token = "0x40083EF")]
private static bool IsSupportCheckDone;
// Token: 0x040083F0 RID: 33776
[Token(Token = "0x40083F0")]
private static bool Loaded;
}
}
@@ -0,0 +1,499 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Crc
{
// Token: 0x02001FBD RID: 8125
[Token(Token = "0x2001FBD")]
internal class CRC32
{
// Token: 0x170020C2 RID: 8386
// (get) Token: 0x0600CDEC RID: 52716 RVA: 0x002F5FE4 File Offset: 0x002F41E4
[Token(Token = "0x170020C2")]
public long TotalBytesRead
{
[Token(Token = "0x600CDEC")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get
{
return this._TotalBytesRead;
}
}
// Token: 0x170020C3 RID: 8387
// (get) Token: 0x0600CDED RID: 52717 RVA: 0x002F5FF8 File Offset: 0x002F41F8
[Token(Token = "0x170020C3")]
public int Crc32Result
{
[Token(Token = "0x600CDED")]
[Address(RVA = "0x5F70B0", Offset = "0x5F5EB0", VA = "0x1805F70B0")]
get
{
/*
An exception occurred when decompiling this method (0600CDED)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Crc.CRC32::get_Crc32Result()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32(var_0_06, ldfld:uint32(CRC32::_register, ldloc:CRC32(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CDEE RID: 52718 RVA: 0x002F600C File Offset: 0x002F420C
[Token(Token = "0x600CDEE")]
[Address(RVA = "0x1960510", Offset = "0x195F310", VA = "0x181960510")]
public int GetCrc32(Stream input)
{
/*
An exception occurred when decompiling this method (0600CDEE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Crc.CRC32::GetCrc32(System.IO.Stream)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_23:
stloc:Exception(var_4_2D, newobj:Exception(Exception::.ctor, ldstr:string("The input stream must not be null.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDEF RID: 52719 RVA: 0x002F6048 File Offset: 0x002F4248
[Token(Token = "0x600CDEF")]
[Address(RVA = "0x1960390", Offset = "0x195F190", VA = "0x181960390")]
public int GetCrc32AndCopy(Stream input, Stream output)
{
/*
An exception occurred when decompiling this method (0600CDEF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Crc.CRC32::GetCrc32AndCopy(System.IO.Stream,System.IO.Stream)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3B:
stloc:Exception(var_6_45, newobj:Exception(Exception::.ctor, ldstr:string("The input stream must not be null.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDF0 RID: 52720 RVA: 0x002F609C File Offset: 0x002F429C
[Token(Token = "0x600CDF0")]
[Address(RVA = "0x5F68D0", Offset = "0x5F56D0", VA = "0x1805F68D0")]
public int ComputeCrc32(int W, byte B)
{
uint num = this.crc32Table[W];
throw new NullReferenceException();
}
// Token: 0x0600CDF1 RID: 52721 RVA: 0x002F60BC File Offset: 0x002F42BC
[Token(Token = "0x600CDF1")]
[Address(RVA = "0x5F68D0", Offset = "0x5F56D0", VA = "0x1805F68D0")]
internal int _InternalComputeCrc32(uint W, byte B)
{
uint num = this.crc32Table[(int)W];
throw new NullReferenceException();
}
// Token: 0x0600CDF2 RID: 52722 RVA: 0x002F60DC File Offset: 0x002F42DC
[Token(Token = "0x600CDF2")]
[Address(RVA = "0x1960650", Offset = "0x195F450", VA = "0x181960650")]
public void SlurpBlock(byte[] block, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CDF2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Crc.CRC32::SlurpBlock(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_36:
stloc:Exception(var_4_40, newobj:Exception(Exception::.ctor, ldstr:string("The data buffer must not be null.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDF3 RID: 52723 RVA: 0x002F612C File Offset: 0x002F432C
[Token(Token = "0x600CDF3")]
[Address(RVA = "0x1960880", Offset = "0x195F680", VA = "0x181960880")]
public void UpdateCRC(byte b)
{
uint register = this._register;
uint[] array = this.crc32Table;
if (!this.reverseBits)
{
uint num = array[(int)register];
this._register = num;
return;
}
uint num2 = array[(int)register];
this._register = num2;
}
// Token: 0x0600CDF4 RID: 52724 RVA: 0x002F6178 File Offset: 0x002F4378
[Token(Token = "0x600CDF4")]
[Address(RVA = "0x19607B0", Offset = "0x195F5B0", VA = "0x1819607B0")]
public void UpdateCRC(byte b, int n)
{
if (n > 0)
{
int num = n - 1;
uint[] array = this.crc32Table;
if (!this.reverseBits)
{
}
uint register = this._register;
uint num2 = array[(int)register];
this._register = num2;
}
}
// Token: 0x0600CDF5 RID: 52725 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CDF5")]
[Address(RVA = "0x5F6D20", Offset = "0x5F5B20", VA = "0x1805F6D20")]
private static uint ReverseBits(uint data)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CDF6 RID: 52726 RVA: 0x002F61BC File Offset: 0x002F43BC
[Token(Token = "0x600CDF6")]
[Address(RVA = "0x5F6D80", Offset = "0x5F5B80", VA = "0x1805F6D80")]
private static byte ReverseBits(byte data)
{
/*
An exception occurred when decompiling this method (0600CDF6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.Decompression.Crc.CRC32::ReverseBits(System.Byte)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int64(var_0_0F, mul:uint32[exp:int64](mul:uint32(ldloc:uint8[exp:uint32](data), conv.u4:uint32(ldc.i4:int32[exp:uint32](131586))), conv.u4:uint32(ldc.i4:int32[exp:uint32](16781313))))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDF7 RID: 52727 RVA: 0x002F61D8 File Offset: 0x002F43D8
[Token(Token = "0x600CDF7")]
[Address(RVA = "0x1960240", Offset = "0x195F040", VA = "0x181960240")]
private void GenerateLookupTable()
{
uint[] array = new uint[256];
this.crc32Table = array;
int num = 0;
if (num == 1)
{
}
uint num2 = this.dwPolynomial;
while (num != 1)
{
}
uint[] array2 = this.crc32Table;
ulong num3;
if ((this.reverseBits ? 1UL : 0UL) == num3)
{
array2[0] = num2;
}
long num4 = (long)(num * (int)((uint)131586));
num2 += num2;
long num5 = num4 * (long)((uint)16781313);
array2[0] = (uint)num;
num++;
while (num5 != (long)array2.Length)
{
}
}
// Token: 0x0600CDF8 RID: 52728 RVA: 0x002F6260 File Offset: 0x002F4460
[Token(Token = "0x600CDF8")]
[Address(RVA = "0x5F7180", Offset = "0x5F5F80", VA = "0x1805F7180")]
private uint gf2_matrix_times(uint[] matrix, uint vec)
{
int num = 0;
if (vec != (uint)0)
{
if (vec != (uint)1)
{
}
num++;
while (vec >= (uint)2)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600CDF9 RID: 52729 RVA: 0x002F6288 File Offset: 0x002F4488
[Token(Token = "0x600CDF9")]
[Address(RVA = "0x5F70C0", Offset = "0x5F5EC0", VA = "0x1805F70C0")]
private void gf2_matrix_square(uint[] square, uint[] mat)
{
int num = 0;
int length = mat.Length;
int num2 = 0;
uint num3;
if (num3 != (uint)0)
{
if (num3 != (uint)1)
{
}
num2++;
while (num3 >= (uint)2)
{
}
}
num++;
}
// Token: 0x0600CDFA RID: 52730 RVA: 0x002F62C0 File Offset: 0x002F44C0
[Token(Token = "0x600CDFA")]
[Address(RVA = "0x195FE20", Offset = "0x195EC20", VA = "0x18195FE20")]
public void Combine(int crc, int length)
{
uint[] array = new uint[32];
uint[] array2 = new uint[32];
if (length != 0)
{
uint register = this._register;
uint num = this.dwPolynomial;
array2[0] = num;
uint num2;
num2 += (uint)1;
array2[0] = num2;
num2 += num2;
int num3 = 0;
int length2 = array2.Length;
int num4 = 0;
uint num5;
if (num5 != (uint)0)
{
if (num5 != (uint)1)
{
}
num4++;
while (num5 >= (uint)2)
{
}
}
num3++;
int num6 = 0;
int length3 = array.Length;
int num7 = 0;
uint num8;
if (num8 != (uint)0)
{
if (num8 != (uint)1)
{
}
num7++;
while (num8 >= (uint)2)
{
}
}
num6++;
int num9 = 0;
int length4 = array2.Length;
int num10 = 0;
uint num11;
if (num11 != (uint)0)
{
if (num11 != (uint)1)
{
}
num10++;
while (num11 >= (uint)2)
{
}
}
num9++;
int i;
if (length != 1)
{
i = 0;
int num12 = 0;
if (register != (uint)0)
{
if (register != (uint)1)
{
}
num12++;
while (register >= (uint)2)
{
}
}
}
int num16;
if (register != (uint)2)
{
int num13 = 0;
int length5 = array.Length;
int num14 = 0;
uint num15;
if (num15 != (uint)0)
{
num11 = num15;
if (num15 != (uint)1)
{
}
num14++;
while (num11 >= (uint)2)
{
}
}
num13++;
if (length != 1)
{
num16 = 0;
int num17 = 0;
if (i != 0)
{
if (i != 1)
{
}
num17++;
while (i >= 2)
{
}
}
}
while (i != 2)
{
}
}
this._register = (uint)num16;
}
}
// Token: 0x0600CDFB RID: 52731 RVA: 0x002F6424 File Offset: 0x002F4624
[Token(Token = "0x600CDFB")]
[Address(RVA = "0x1960A90", Offset = "0x195F890", VA = "0x181960A90")]
public CRC32()
{
}
// Token: 0x0600CDFC RID: 52732 RVA: 0x002F6434 File Offset: 0x002F4634
[Token(Token = "0x600CDFC")]
[Address(RVA = "0x1960AA0", Offset = "0x195F8A0", VA = "0x181960AA0")]
public CRC32(bool reverseBits)
{
}
// Token: 0x0600CDFD RID: 52733 RVA: 0x002F6444 File Offset: 0x002F4644
[Token(Token = "0x600CDFD")]
[Address(RVA = "0x1960920", Offset = "0x195F720", VA = "0x181960920")]
public CRC32(int polynomial, bool reverseBits)
{
this._register = (uint)((ulong)4294967295L);
base..ctor();
this.reverseBits = reverseBits;
this.dwPolynomial = (uint)polynomial;
uint[] array = new uint[256];
this.crc32Table = array;
int num = 0;
if (num != 1)
{
}
while (num != 1)
{
}
uint[] array2 = this.crc32Table;
ulong num2;
if ((this.reverseBits ? 1UL : 0UL) == num2)
{
array2[0] = (uint)num;
}
long num3 = (long)(num * (int)((uint)131586));
num += num;
long num4 = num3 * (long)((uint)16781313);
array2[0] = (uint)num;
num++;
while (num4 != (long)array2.Length)
{
}
}
// Token: 0x0600CDFE RID: 52734 RVA: 0x002F64E4 File Offset: 0x002F46E4
[Token(Token = "0x600CDFE")]
[Address(RVA = "0x1960640", Offset = "0x195F440", VA = "0x181960640")]
public void Reset()
{
this._register = (uint)((ulong)4294967295L);
}
// Token: 0x040083D4 RID: 33748
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40083D4")]
private uint dwPolynomial;
// Token: 0x040083D5 RID: 33749
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40083D5")]
private long _TotalBytesRead;
// Token: 0x040083D6 RID: 33750
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083D6")]
private bool reverseBits;
// Token: 0x040083D7 RID: 33751
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40083D7")]
private uint[] crc32Table;
// Token: 0x040083D8 RID: 33752
[Token(Token = "0x40083D8")]
private const int BUFFER_SIZE = 8192;
// Token: 0x040083D9 RID: 33753
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40083D9")]
private uint _register;
}
}
@@ -0,0 +1,59 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB7 RID: 8119
[Token(Token = "0x2001FB7")]
public sealed class Adler
{
// Token: 0x0600CDBC RID: 52668 RVA: 0x002F4CD8 File Offset: 0x002F2ED8
[Token(Token = "0x600CDBC")]
[Address(RVA = "0x195DE50", Offset = "0x195CC50", VA = "0x18195DE50")]
public static uint Adler32(uint adler, byte[] buf, int index, int len)
{
if (buf != 0 && len > 0)
{
int i = Adler.NMAX;
int length = buf.Length;
int num = index + 1;
byte b2;
byte b = b2 + 1;
b2 = (byte)((uint)b2 + adler);
b2 = (byte)((uint)b2 + adler);
b2 = (byte)((uint)b2 + adler);
b2 = (byte)((uint)b2 + adler);
b2 = (byte)((uint)b2 + adler);
while (i >= 16)
{
}
if (i != 0)
{
int length2 = buf.Length;
b2 = b;
int num2 = i - 1;
while (num2 != 0)
{
}
}
}
uint num3;
return num3;
}
// Token: 0x0600CDBD RID: 52669 RVA: 0x002F4D54 File Offset: 0x002F2F54
[Token(Token = "0x600CDBD")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public Adler()
{
}
// Token: 0x0400839E RID: 33694
[Token(Token = "0x400839E")]
private static readonly uint BASE;
// Token: 0x0400839F RID: 33695
[Token(Token = "0x400839F")]
private static readonly int NMAX;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA0 RID: 8096
[Token(Token = "0x2001FA0")]
internal enum BlockState
{
// Token: 0x0400828E RID: 33422
[Token(Token = "0x400828E")]
NeedMore,
// Token: 0x0400828F RID: 33423
[Token(Token = "0x400828F")]
BlockDone,
// Token: 0x04008290 RID: 33424
[Token(Token = "0x4008290")]
FinishStarted,
// Token: 0x04008291 RID: 33425
[Token(Token = "0x4008291")]
FinishDone
}
}
@@ -0,0 +1,53 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB0 RID: 8112
[Token(Token = "0x2001FB0")]
public enum CompressionLevel
{
// Token: 0x04008375 RID: 33653
[Token(Token = "0x4008375")]
None,
// Token: 0x04008376 RID: 33654
[Token(Token = "0x4008376")]
Level0 = 0,
// Token: 0x04008377 RID: 33655
[Token(Token = "0x4008377")]
BestSpeed,
// Token: 0x04008378 RID: 33656
[Token(Token = "0x4008378")]
Level1 = 1,
// Token: 0x04008379 RID: 33657
[Token(Token = "0x4008379")]
Level2,
// Token: 0x0400837A RID: 33658
[Token(Token = "0x400837A")]
Level3,
// Token: 0x0400837B RID: 33659
[Token(Token = "0x400837B")]
Level4,
// Token: 0x0400837C RID: 33660
[Token(Token = "0x400837C")]
Level5,
// Token: 0x0400837D RID: 33661
[Token(Token = "0x400837D")]
Default,
// Token: 0x0400837E RID: 33662
[Token(Token = "0x400837E")]
Level6 = 6,
// Token: 0x0400837F RID: 33663
[Token(Token = "0x400837F")]
Level7,
// Token: 0x04008380 RID: 33664
[Token(Token = "0x4008380")]
Level8,
// Token: 0x04008381 RID: 33665
[Token(Token = "0x4008381")]
BestCompression,
// Token: 0x04008382 RID: 33666
[Token(Token = "0x4008382")]
Level9 = 9
}
}
@@ -0,0 +1,17 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB2 RID: 8114
[Token(Token = "0x2001FB2")]
public enum CompressionMode
{
// Token: 0x04008388 RID: 33672
[Token(Token = "0x4008388")]
Compress,
// Token: 0x04008389 RID: 33673
[Token(Token = "0x4008389")]
Decompress
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB1 RID: 8113
[Token(Token = "0x2001FB1")]
public enum CompressionStrategy
{
// Token: 0x04008384 RID: 33668
[Token(Token = "0x4008384")]
Default,
// Token: 0x04008385 RID: 33669
[Token(Token = "0x4008385")]
Filtered,
// Token: 0x04008386 RID: 33670
[Token(Token = "0x4008386")]
HuffmanOnly
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA1 RID: 8097
[Token(Token = "0x2001FA1")]
internal enum DeflateFlavor
{
// Token: 0x04008293 RID: 33427
[Token(Token = "0x4008293")]
Store,
// Token: 0x04008294 RID: 33428
[Token(Token = "0x4008294")]
Fast,
// Token: 0x04008295 RID: 33429
[Token(Token = "0x4008295")]
Slow
}
}
@@ -0,0 +1,2197 @@
using System;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA2 RID: 8098
[Token(Token = "0x2001FA2")]
internal sealed class DeflateManager
{
// Token: 0x0600CD25 RID: 52517 RVA: 0x002EEEA0 File Offset: 0x002ED0A0
[Token(Token = "0x600CD25")]
[Address(RVA = "0x19693D0", Offset = "0x19681D0", VA = "0x1819693D0")]
internal DeflateManager()
{
ZTree ztree = new ZTree();
this.treeLiterals = ztree;
ZTree ztree2 = new ZTree();
this.treeDistances = ztree2;
ZTree ztree3 = new ZTree();
this.treeBitLengths = ztree3;
int num = InternalConstants.MAX_BITS;
num++;
short[] array = new short[num];
this.bl_count = array;
int[] array2 = new int[InternalConstants.L_CODES];
this.heap = array2;
sbyte[] array3 = new sbyte[InternalConstants.L_CODES];
this.depth = array3;
this._WantRfc1950HeaderBytes = true;
base..ctor();
int num2 = DeflateManager.HEAP_SIZE;
num2 += num2;
short[] array4 = new short[num2];
this.dyn_ltree = array4;
short[] array5 = new short[InternalConstants.D_CODES];
this.dyn_dtree = array5;
short[] array6 = new short[InternalConstants.BL_CODES];
this.bl_tree = array6;
}
// Token: 0x0600CD26 RID: 52518 RVA: 0x002EEF6C File Offset: 0x002ED16C
[Token(Token = "0x600CD26")]
[Address(RVA = "0x1968B40", Offset = "0x1967940", VA = "0x181968B40")]
private void _InitializeLazyMatch()
{
int num = this.w_size;
int num2 = this.hash_size;
num += num;
short[] array = this.head;
int num3 = 0;
this.window_size = num;
Array.Clear(array, num3, num2);
int num4 = (int)this.compressionLevel;
DeflateManager.Config config;
this.config = config;
this.SetDeflater();
int num5 = 0;
this.strstart = num5;
this.block_start = num5;
this.lookahead = num5;
int min_MATCH = DeflateManager.MIN_MATCH;
this.match_available = num5;
this.prev_length = min_MATCH;
this.match_length = min_MATCH;
this.ins_h = num5;
}
// Token: 0x0600CD27 RID: 52519 RVA: 0x002EEFFC File Offset: 0x002ED1FC
[Token(Token = "0x600CD27")]
[Address(RVA = "0x1968C30", Offset = "0x1967A30", VA = "0x181968C30")]
private void _InitializeTreeData()
{
ZTree ztree = this.treeLiterals;
short[] array = this.dyn_ltree;
ztree.dyn_tree = array;
ZTree ztree2 = this.treeLiterals;
StaticTree literals = StaticTree.Literals;
ztree2.staticTree = literals;
ZTree ztree3 = this.treeDistances;
short[] array2 = this.dyn_dtree;
ztree3.dyn_tree = array2;
ZTree ztree4 = this.treeDistances;
StaticTree distances = StaticTree.Distances;
ztree4.staticTree = distances;
ZTree ztree5 = this.treeBitLengths;
short[] array3 = this.bl_tree;
ztree5.dyn_tree = array3;
ZTree ztree6 = this.treeBitLengths;
StaticTree bitLengths = StaticTree.BitLengths;
ztree6.staticTree = bitLengths;
int num = 0;
this.bi_buf = (short)num;
this.bi_valid = num;
this.last_eob_len = (int)((ulong)8L);
this._InitializeBlocks();
}
// Token: 0x0600CD28 RID: 52520 RVA: 0x002EF0BC File Offset: 0x002ED2BC
[Token(Token = "0x600CD28")]
[Address(RVA = "0x1968920", Offset = "0x1967720", VA = "0x181968920")]
internal void _InitializeBlocks()
{
int num = 0;
short[] array = this.dyn_ltree;
num++;
num += 2;
array[0] = (short)num;
if ("{il2cpp array field local2->}" == (ulong)2L || "{il2cpp array field local2->}" == num)
{
}
short[] array2 = this.dyn_dtree;
num++;
num += 2;
array2[0] = (short)num;
short[] array3 = this.bl_tree;
num++;
num += 2;
array3[0] = (short)num;
short[] array4 = this.dyn_ltree;
int num2 = DeflateManager.END_BLOCK;
num2 += num2;
uint num3;
array4[0] = (short)num3;
this.opt_len = num;
this.matches = num;
this.last_lit = num;
}
// Token: 0x0600CD29 RID: 52521 RVA: 0x002EF160 File Offset: 0x002ED360
[Token(Token = "0x600CD29")]
[Address(RVA = "0x196B330", Offset = "0x196A130", VA = "0x18196B330")]
internal void pqdownheap(short[] tree, int k)
{
int[] array = this.heap;
int num = this.heap_len;
int num2 = array[k];
int length = this.heap.Length;
int num3 = k + 1;
sbyte[] array2 = this.depth;
if (DeflateManager._IsSmaller(tree, num3, k, array2))
{
}
int[] array3 = this.heap;
sbyte[] array4 = this.depth;
if (!DeflateManager._IsSmaller(tree, num2, k, array4))
{
int[] array5 = this.heap;
int length2 = array5.Length;
int num4;
array5[0] = num4;
int num5 = this.heap_len;
}
int[] array6 = this.heap;
array6[0] = num2;
}
// Token: 0x0600CD2A RID: 52522 RVA: 0x002EF204 File Offset: 0x002ED404
[Token(Token = "0x600CD2A")]
[Address(RVA = "0x1968D70", Offset = "0x1967B70", VA = "0x181968D70")]
internal static bool _IsSmaller(short[] tree, int n, int m, sbyte[] depth)
{
int length = tree.Length;
short num;
short num2;
if (num < num2)
{
return true;
}
if (num != num2)
{
}
int length2 = depth.Length;
bool flag;
return flag;
}
// Token: 0x0600CD2B RID: 52523 RVA: 0x002EF234 File Offset: 0x002ED434
[Token(Token = "0x600CD2B")]
[Address(RVA = "0x196B5E0", Offset = "0x196A3E0", VA = "0x18196B5E0")]
internal void scan_tree(short[] tree, int max_code)
{
int length = tree.Length;
int i = 0;
uint num;
tree[0] = (short)num;
int num2 = 0;
num2 += 3;
uint num3;
if (1U < num3)
{
}
short[] array = this.bl_tree;
if (1UL > (ulong)10L)
{
int num4 = InternalConstants.REPZ_11_138;
num4 += num4;
}
int num5 = InternalConstants.REPZ_3_10;
num5 += num5;
short[] array2 = this.bl_tree;
short[] array3 = this.bl_tree;
int num6 = InternalConstants.REP_3_6;
num6 += num6;
short[] array4 = this.bl_tree;
i++;
num2 += 2;
while (i <= max_code)
{
}
}
// Token: 0x0600CD2C RID: 52524 RVA: 0x002EF2C8 File Offset: 0x002ED4C8
[Token(Token = "0x600CD2C")]
[Address(RVA = "0x196A870", Offset = "0x1969670", VA = "0x18196A870")]
internal int build_bl_tree()
{
int max_code = this.treeLiterals.max_code;
short[] array = this.dyn_ltree;
this.scan_tree(array, max_code);
int max_code2 = this.treeDistances.max_code;
short[] array2 = this.dyn_dtree;
this.scan_tree(array2, max_code2);
this.treeBitLengths.build_tree(this);
int i = InternalConstants.BL_CODES;
short[] array3 = this.bl_tree;
sbyte[] array4 = ZTree.bl_order;
i++;
if ("{il2cpp array field local12->}" == (ulong)0L)
{
while (i >= 3)
{
}
}
array4 += i;
return i;
}
// Token: 0x0600CD2D RID: 52525 RVA: 0x002EF354 File Offset: 0x002ED554
[Token(Token = "0x600CD2D")]
[Address(RVA = "0x196B920", Offset = "0x196A720", VA = "0x18196B920")]
internal void send_all_trees(int lcodes, int dcodes, int blcodes)
{
this.send_bits(lcodes, 5);
this.send_bits(lcodes, 5);
this.send_bits(lcodes, 4);
int num = 0;
if (blcodes > 0)
{
short[] array = this.bl_tree;
sbyte[] bl_order = ZTree.bl_order;
num++;
num++;
}
short[] array2 = this.dyn_ltree;
int num2 = lcodes - 1;
this.send_tree(array2, num2);
short[] array3 = this.dyn_dtree;
this.send_tree(array3, num2);
}
// Token: 0x0600CD2E RID: 52526 RVA: 0x002EF3C4 File Offset: 0x002ED5C4
[Token(Token = "0x600CD2E")]
[Address(RVA = "0x196C1E0", Offset = "0x196AFE0", VA = "0x18196C1E0")]
internal void send_tree(short[] tree, int max_code)
{
int num = 0;
int num2 = 0;
num2 += 3;
uint num3;
if (1U < num3)
{
}
if (1UL > (ulong)10L)
{
short[] array = this.bl_tree;
int repz_11_ = InternalConstants.REPZ_11_138;
this.send_code(repz_11_, array);
uint num4;
this.send_bits(repz_11_, (int)num4);
}
short[] array2 = this.bl_tree;
int repz_3_ = InternalConstants.REPZ_3_10;
this.send_code(repz_3_, array2);
this.send_bits(repz_3_, 3);
short[] array3 = this.bl_tree;
this.send_code((int)num3, array3);
short[] array4 = this.bl_tree;
int rep_3_ = InternalConstants.REP_3_6;
this.send_code(rep_3_, array4);
this.send_bits(rep_3_, 2);
short[] array5 = this.bl_tree;
this.send_code(rep_3_, array5);
num++;
num2 += 2;
}
// Token: 0x0600CD2F RID: 52527 RVA: 0x002EF484 File Offset: 0x002ED684
[Token(Token = "0x600CD2F")]
[Address(RVA = "0x196B590", Offset = "0x196A390", VA = "0x18196B590")]
private void put_bytes(byte[] p, int start, int len)
{
byte[] array = this.pending;
int num = this.pendingCount;
Array.Copy(p, start, array, num, len);
}
// Token: 0x0600CD30 RID: 52528 RVA: 0x002EF4AC File Offset: 0x002ED6AC
[Token(Token = "0x600CD30")]
[Address(RVA = "0x196BC40", Offset = "0x196AA40", VA = "0x18196BC40")]
internal void send_code(int c, short[] tree)
{
int length = tree.Length;
short num;
short num2;
this.send_bits((int)num, (int)num2);
}
// Token: 0x0600CD31 RID: 52529 RVA: 0x002EF4D0 File Offset: 0x002ED6D0
[Token(Token = "0x600CD31")]
[Address(RVA = "0x196BAA0", Offset = "0x196A8A0", VA = "0x18196BAA0")]
internal void send_bits(int value, int length)
{
int num = this.bi_valid;
int num2 = this.bi_valid;
int num3 = DeflateManager.Buf_size;
num3 -= length;
this.bi_buf = (short)value;
this.bi_valid = value;
}
// Token: 0x0600CD32 RID: 52530 RVA: 0x002EF518 File Offset: 0x002ED718
[Token(Token = "0x600CD32")]
[Address(RVA = "0x19699A0", Offset = "0x19687A0", VA = "0x1819699A0")]
internal void _tr_align()
{
int num = DeflateManager.STATIC_TREES;
num += num;
this.send_bits(num, 3);
int length = StaticTree.lengthAndLiteralsTreeCodes.Length;
short num2;
short num3;
this.send_bits((int)num2, (int)num3);
this.bi_flush();
int num4 = this.last_eob_len;
num4 += 11;
if (num4 < 9)
{
int num5 = DeflateManager.STATIC_TREES;
num5 += num5;
this.send_bits(num5, 3);
int length2 = StaticTree.lengthAndLiteralsTreeCodes.Length;
short num6;
short num7;
this.send_bits((int)num6, (int)num7);
this.bi_flush();
}
this.last_eob_len = (int)((ulong)7L);
}
// Token: 0x0600CD33 RID: 52531 RVA: 0x002EF5A8 File Offset: 0x002ED7A8
[Token(Token = "0x600CD33")]
[Address(RVA = "0x196A2A0", Offset = "0x19690A0", VA = "0x18196A2A0")]
internal bool _tr_tally(int dist, int lc)
{
byte[] array = this.pending;
int num = this.last_lit;
int distanceOffset = this._distanceOffset;
byte[] array2 = this.pending;
int num2 = this._distanceOffset;
num2++;
byte[] array3 = this.pending;
num2 = this._lengthOffset;
short[] array4 = this.dyn_ltree;
if (dist != 0)
{
sbyte[] lengthCode = ZTree.LengthCode;
int num3 = InternalConstants.LITERALS;
num3 += typeof(InternalConstants).TypeHandle;
int num4 = dist - 1;
short[] array5 = this.dyn_dtree;
int num5 = ZTree.DistanceCode(num4);
num5 += num5;
}
int num9;
if (this.last_lit == 8191 && this.compressionLevel > CompressionLevel.Level2)
{
int num6 = 0;
short[] array6 = this.dyn_dtree;
int[] extraDistanceBits = ZTree.ExtraDistanceBits;
num6++;
int num7 = extraDistanceBits[num6];
num7 += 5;
int num8 = num7 * num6;
num6 += 2;
num9 = this.last_lit;
num9 -= typeof(InternalConstants).TypeHandle;
if (this.matches < num9)
{
num9 -= typeof(InternalConstants).TypeHandle;
if (lc < num9)
{
}
}
}
int num10 = this.lit_bufsize - 1;
while (num9 == num10)
{
}
throw new NullReferenceException();
}
// Token: 0x0600CD34 RID: 52532 RVA: 0x002EF6C4 File Offset: 0x002ED8C4
[Token(Token = "0x600CD34")]
[Address(RVA = "0x196BCB0", Offset = "0x196AAB0", VA = "0x18196BCB0")]
internal void send_compressed_block(short[] ltree, short[] dtree)
{
int num = 0;
if (this.last_lit != num)
{
int num2 = this._distanceOffset;
byte[] array = this.pending;
num2 += num;
int length = array.Length;
int num3 = num2 + 1;
int num4 = this._lengthOffset;
num4 += num;
num += 2;
num++;
sbyte[] lengthCode = ZTree.LengthCode;
int num5 = InternalConstants.LITERALS;
num5 += num5;
int length2 = ltree.Length;
num5 += 3;
short num6 = ltree[num5];
short num7 = ltree[array];
this.send_bits((int)num7, (int)num6);
int[] extraLengthBits = ZTree.ExtraLengthBits;
int num8;
if (num8 != 0)
{
int[] lengthBase = ZTree.LengthBase;
byte b;
this.send_bits((int)b, num8);
}
byte b2;
int num9 = ZTree.DistanceCode((int)b2);
this.send_bits(1, (int)num6);
if (ZTree.ExtraDistanceBits[num9] != 0)
{
int[] distanceBase = ZTree.DistanceBase;
int length3 = ltree.Length;
num4++;
short num10 = ltree[num4];
short num11 = ltree[num4];
this.send_bits((int)num11, (int)num10);
}
if (num < this.last_lit)
{
}
}
int num12 = DeflateManager.END_BLOCK;
num12 += num12;
int length4 = ltree.Length;
short num13 = ltree[num12];
num12++;
short num14 = ltree[num12];
this.send_bits((int)num13, (int)num14);
int num15 = DeflateManager.END_BLOCK;
num15 += num15;
num15++;
this.last_eob_len = num15;
}
// Token: 0x0600CD35 RID: 52533 RVA: 0x002EF82C File Offset: 0x002EDA2C
[Token(Token = "0x600CD35")]
[Address(RVA = "0x196C4B0", Offset = "0x196B2B0", VA = "0x18196C4B0")]
internal void set_data_type()
{
short[] array = this.dyn_ltree;
int num = 0;
int length = array.Length;
num++;
num += 2;
if (num < 128)
{
num++;
}
short[] array2 = this.dyn_ltree;
num++;
num += array2;
if (num > num)
{
}
int z_ASCII = DeflateManager.Z_ASCII;
this.data_type = (sbyte)z_ASCII;
}
// Token: 0x0600CD36 RID: 52534 RVA: 0x002EF888 File Offset: 0x002EDA88
[Token(Token = "0x600CD36")]
[Address(RVA = "0x196A670", Offset = "0x1969470", VA = "0x18196A670")]
internal void bi_flush()
{
if (this.bi_valid != 16)
{
int num = this.pendingCount;
byte[] array = this.pending;
short num2 = this.bi_buf;
int num3 = num + 1;
this.pendingCount = num3;
this.bi_buf = (short)num3;
return;
}
int num4 = this.pendingCount;
byte[] array2 = this.pending;
short num5 = this.bi_buf;
int num6 = num4 + 1;
this.pendingCount = num6;
int num7 = this.pendingCount;
byte[] array3 = this.pending;
short num8 = this.bi_buf;
int num9 = num7 + 1;
this.pendingCount = num9;
int num10 = 0;
this.bi_buf = (short)num10;
this.bi_valid = num10;
}
// Token: 0x0600CD37 RID: 52535 RVA: 0x002EF92C File Offset: 0x002EDB2C
[Token(Token = "0x600CD37")]
[Address(RVA = "0x196A770", Offset = "0x1969570", VA = "0x18196A770")]
internal void bi_windup()
{
if (this.bi_valid > 0)
{
int num = this.pendingCount;
byte[] array = this.pending;
short num2 = this.bi_buf;
int num3 = num + 1;
this.pendingCount = num3;
int num4 = 0;
this.bi_buf = (short)num4;
this.bi_valid = num4;
return;
}
int num5 = 0;
this.bi_buf = (short)num5;
this.bi_valid = num5;
}
// Token: 0x0600CD38 RID: 52536 RVA: 0x002EF9E0 File Offset: 0x002EDBE0
[Token(Token = "0x600CD38")]
[Address(RVA = "0x196AA00", Offset = "0x1969800", VA = "0x18196AA00")]
internal void copy_block(int buf, int len, bool header)
{
this.bi_windup();
this.last_eob_len = (int)((ulong)8L);
if (header)
{
int num = this.pendingCount;
byte[] array = this.pending;
int num2 = num + 1;
this.pendingCount = num2;
int num3 = this.pendingCount;
byte[] array2 = this.pending;
int num4 = num3 + 1;
this.pendingCount = num4;
int num5 = this.pendingCount;
byte[] array3 = this.pending;
int num6 = num5 + 1;
this.pendingCount = num6;
int num7 = this.pendingCount;
byte[] array4 = this.pending;
int num8 = num7 + 1;
this.pendingCount = num8;
}
int num9 = this.pendingCount;
byte[] array5 = this.pending;
Array.Copy(this.window, buf, array5, num9, len);
}
// Token: 0x0600CD39 RID: 52537 RVA: 0x002EFA98 File Offset: 0x002EDC98
[Token(Token = "0x600CD39")]
[Address(RVA = "0x196AB60", Offset = "0x1969960", VA = "0x18196AB60")]
internal void flush_block_only(bool eof)
{
int num = this.block_start;
int num2 = this.strstart;
num2 -= num;
this._tr_flush_block(num, num2, eof);
ZlibCodec codec = this._codec;
int num3 = this.strstart;
this.block_start = num3;
codec.flush_pending();
}
// Token: 0x0600CD3A RID: 52538 RVA: 0x002EFAE4 File Offset: 0x002EDCE4
[Token(Token = "0x600CD3A")]
[Address(RVA = "0x1966700", Offset = "0x1965500", VA = "0x181966700")]
internal BlockState DeflateNone(FlushType flush)
{
int num3;
do
{
int num = this.pending.Length;
num += -5;
uint num2;
if (num < (int)num2)
{
}
num3 = 0;
int num4 = this.lookahead;
this._fillWindow();
int num5 = this.lookahead;
if (num5 == 0)
{
if (flush == FlushType.None)
{
break;
}
if (num5 == 0)
{
break;
}
}
int num6 = this.block_start;
int num7 = this.strstart;
this.lookahead = num3;
if (num5 != 0)
{
}
num7 -= this;
this.strstart = this;
this.lookahead = num7;
int num8 = 0;
this._tr_flush_block(num6, (int)num2, num8 != 0);
ZlibCodec codec = this._codec;
int num9 = this.strstart;
this.block_start = num9;
codec.flush_pending();
if (this._codec.AvailableBytesOut == num3)
{
break;
}
int num10 = this.strstart;
int num11 = this.block_start;
int num12 = this.w_size;
num10 -= num11;
int num13 = this.block_start;
int num14 = this.strstart;
int num15 = 0;
num14 -= num13;
this._tr_flush_block(num13, num14, num15 != 0);
ZlibCodec codec2 = this._codec;
int num16 = this.strstart;
this.block_start = num16;
codec2.flush_pending();
}
while (this._codec.AvailableBytesOut != num3);
bool flag = flush == FlushType.Finish;
this.flush_block_only(flag);
ZlibCodec codec3 = this._codec;
while (flush != FlushType.Finish)
{
}
throw new NullReferenceException();
}
// Token: 0x0600CD3B RID: 52539 RVA: 0x002EFC38 File Offset: 0x002EDE38
[Token(Token = "0x600CD3B")]
[Address(RVA = "0x196A0E0", Offset = "0x1968EE0", VA = "0x18196A0E0")]
internal void _tr_stored_block(int buf, int stored_len, bool eof)
{
this.send_bits(buf, 3);
this.bi_windup();
int num = this.pendingCount;
byte[] array = this.pending;
this.last_eob_len = (int)((ulong)8L);
int num2 = num + 1;
this.pendingCount = num2;
int num3 = this.pendingCount;
byte[] array2 = this.pending;
int num4 = num3 + 1;
this.pendingCount = num4;
int num5 = this.pendingCount;
byte[] array3 = this.pending;
int num6 = num5 + 1;
this.pendingCount = num6;
int num7 = this.pendingCount;
byte[] array4 = this.pending;
int num8 = num7 + 1;
this.pendingCount = num8;
int num9 = this.pendingCount;
byte[] array5 = this.pending;
Array.Copy(this.window, buf, array5, num9, stored_len);
}
// Token: 0x0600CD3C RID: 52540 RVA: 0x002EFCF4 File Offset: 0x002EDEF4
[Token(Token = "0x600CD3C")]
[Address(RVA = "0x1969BD0", Offset = "0x19689D0", VA = "0x181969BD0")]
internal void _tr_flush_block(int buf, int stored_len, bool eof)
{
int num = 0;
this.set_data_type();
this.treeLiterals.build_tree(this);
this.treeDistances.build_tree(this);
int max_code = this.treeLiterals.max_code;
short[] array = this.dyn_ltree;
this.scan_tree(array, max_code);
int max_code2 = this.treeDistances.max_code;
short[] array2 = this.dyn_dtree;
this.scan_tree(array2, max_code2);
this.treeBitLengths.build_tree(this);
int i = InternalConstants.BL_CODES;
short[] array3 = this.bl_tree;
sbyte[] bl_order = ZTree.bl_order;
i++;
if ("{il2cpp array field local22->}" == num)
{
while (i >= 3)
{
}
}
int num2 = this.static_len;
i += i;
num2 += 10;
int num3 = this.opt_len;
num3 += 10;
if (num2 <= num3)
{
num3 = num2;
}
if (buf != -1)
{
num3 = buf;
this._tr_stored_block(num3, stored_len, eof);
}
if (this != num3)
{
this.send_bits(num3, 3);
ZTree ztree = this.treeLiterals;
ZTree ztree2 = this.treeDistances;
int num4 = i + 1;
int max_code3 = ztree.max_code;
this.send_bits(num3, 5);
this.send_bits(num3, 5);
this.send_bits(num3, 4);
if (num4 > 0)
{
short[] array4 = this.bl_tree;
sbyte[] bl_order2 = ZTree.bl_order;
num++;
this.send_bits(num3, 3);
num++;
}
short[] array5 = this.dyn_ltree;
this.send_tree(array5, max_code3);
short[] array6 = this.dyn_dtree;
this.send_tree(array6, max_code3);
}
short[] distTreeCodes = StaticTree.distTreeCodes;
short[] lengthAndLiteralsTreeCodes = StaticTree.lengthAndLiteralsTreeCodes;
this.send_compressed_block(lengthAndLiteralsTreeCodes, distTreeCodes);
this._InitializeBlocks();
if (eof)
{
this.bi_windup();
}
}
// Token: 0x0600CD3D RID: 52541 RVA: 0x002EFE94 File Offset: 0x002EE094
[Token(Token = "0x600CD3D")]
[Address(RVA = "0x19695B0", Offset = "0x19683B0", VA = "0x1819695B0")]
private void _fillWindow()
{
do
{
int num = 0;
int num2 = this.window_size;
int num3 = this.strstart;
num2 -= num3;
int num4 = this.lookahead;
num2 -= num4;
int num7;
if (num3 != 0 || num4 != 0 || this.w_size != -1)
{
int num5 = this.w_size;
num5 += num5;
byte[] array = this.window;
int num6 = 0;
num7 = this.w_size;
Array.Copy(array, num7, array, num6, num7);
int num8 = this.hash_size;
num7 = num8;
short[] array2 = this.head;
short num9 = array2[num7];
int num10 = this.w_size;
num9 = (short)((int)num9 - num10);
array2[0] = (short)num;
int num11 = num8 - 1;
while (num11 != 0)
{
}
int num12 = this.w_size;
num7 = num12;
short[] array3 = this.prev;
short num13 = array3[num7];
int num14 = this.w_size;
num13 = (short)((int)num13 - num14);
array3[0] = (short)num;
int num15 = num12 - 1;
while (num15 != 0)
{
}
}
ZlibCodec codec = this._codec;
if (codec.AvailableBytesIn == 0)
{
break;
}
int num16 = this.lookahead;
byte[] array4 = this.window;
int num17 = this.strstart;
int num18 = codec.AvailableBytesIn;
if (num18 != 0)
{
num18 -= num18;
codec.AvailableBytesIn = num18;
if (codec.dstate._WantRfc1950HeaderBytes)
{
uint adler = codec._Adler32;
byte[] inputBuffer = codec.InputBuffer;
uint num19 = Adler.Adler32(adler, inputBuffer, num7, num18);
codec._Adler32 = num19;
}
int nextIn = codec.NextIn;
num16 += num17;
Array.Copy(codec.InputBuffer, nextIn, array4, num16, num18);
}
int num20 = this.lookahead;
byte[] array5 = this.window;
int num21 = this.strstart;
byte b;
this.ins_h = (int)b;
int num22 = num21 + 1;
this.ins_h = (int)b;
int num23 = this.lookahead;
}
while (this._codec.AvailableBytesIn != 0);
}
// Token: 0x0600CD3E RID: 52542 RVA: 0x002F008C File Offset: 0x002EE28C
[Token(Token = "0x600CD3E")]
[Address(RVA = "0x1966030", Offset = "0x1964E30", VA = "0x181966030")]
internal BlockState DeflateFast(FlushType flush)
{
do
{
int num = this.lookahead;
this._fillWindow();
int num2 = this.lookahead;
if (flush == FlushType.None)
{
break;
}
if (this.lookahead == 0)
{
break;
}
int num3 = this.lookahead;
int num4 = this.ins_h;
byte[] array = this.window;
int num5 = this.strstart;
int num6 = DeflateManager.MIN_MATCH;
num6 += num5;
short[] array2 = this.head;
this.ins_h = num4;
short num7 = array2[num4];
short[] array3 = this.prev;
int num8 = this.w_mask;
array3[0] = num7;
short[] array4 = this.head;
num8 = this.ins_h;
int num9 = this.strstart;
array4[0] = (short)num9;
int num10 = this.strstart;
int num11 = this.w_size;
num10 -= (int)num7;
if (this.compressionStrategy != CompressionStrategy.HuffmanOnly)
{
int num12 = this.longest_match((int)num7);
this.match_length = num12;
}
int num13 = this.match_length;
byte[] array5 = this.window;
int num14 = this.strstart;
int num15 = 0;
byte b;
bool flag = this._tr_tally(num15, (int)b);
int num16 = this.strstart;
int num17 = this.strstart;
int num18 = this.match_start;
if (this.treeBitLengths == (ulong)0L)
{
}
num17 -= num18;
bool flag2 = this._tr_tally(num17, num16);
int num19 = this.lookahead;
flag = flag2;
int num20 = this.match_length;
num19 -= num20;
DeflateManager.Config config = this.config;
this.lookahead = num19;
int num21 = this.strstart;
int num22 = this.ins_h;
byte[] array6 = this.window;
int num23 = DeflateManager.MIN_MATCH;
num23 += num21;
short[] array7 = this.head;
this.ins_h = num22;
short num24 = array7[num22];
short[] array8 = this.prev;
int num25 = this.w_mask;
array8[0] = num24;
short[] array9 = this.head;
int num26 = this.ins_h;
int num27 = this.strstart;
array9[0] = (short)num27;
while (num26 != array9.Length)
{
}
int num28 = this.strstart;
int num29 = 0;
byte[] array10 = this.window;
this.strstart = num28;
this.match_length = num29;
byte b2;
this.ins_h = (int)b2;
num28++;
this.ins_h = (int)b2;
while (!flag)
{
}
int num30 = this.block_start;
num28 -= num30;
int num31 = 0;
this._tr_flush_block(num30, num28, num31 != 0);
ZlibCodec codec = this._codec;
int num32 = this.strstart;
this.block_start = num32;
codec.flush_pending();
}
while (this._codec.AvailableBytesOut != 0);
int num33 = this.block_start;
int num34 = this.strstart;
bool flag3 = flush == FlushType.Finish;
num34 -= num33;
this._tr_flush_block(num33, num34, flag3);
ZlibCodec codec2 = this._codec;
int num35 = this.strstart;
this.block_start = num35;
codec2.flush_pending();
if (this._codec.AvailableBytesOut != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x0600CD3F RID: 52543 RVA: 0x002F037C File Offset: 0x002EE57C
[Token(Token = "0x600CD3F")]
[Address(RVA = "0x1966940", Offset = "0x1965740", VA = "0x181966940")]
internal BlockState DeflateSlow(FlushType flush)
{
int num = 0;
int num2 = this.lookahead;
this._fillWindow();
int num3 = this.lookahead;
if (flush != FlushType.None)
{
if (this.lookahead != 0)
{
int num4 = this.lookahead;
int num5 = this.ins_h;
byte[] array = this.window;
int num6 = this.strstart;
int num7 = DeflateManager.MIN_MATCH;
num7 += num6;
short[] array2 = this.head;
this.ins_h = num5;
short num8 = array2[num5];
short[] array3 = this.prev;
int num9 = this.w_mask;
array3[0] = num8;
short[] array4 = this.head;
num9 = this.ins_h;
int num10 = this.strstart;
array4[0] = (short)num10;
int num11 = this.match_length;
this.prev_length = num11;
int num12 = this.match_start;
this.prev_match = num12;
int min_MATCH = DeflateManager.MIN_MATCH;
this.match_length = min_MATCH;
int maxLazy = this.config.MaxLazy;
if (this.prev_length < maxLazy)
{
int num13 = this.strstart;
int num14 = this.w_size;
num13 -= (int)num8;
if (this.compressionStrategy != CompressionStrategy.HuffmanOnly)
{
int num15 = this.longest_match((int)num8);
this.match_length = num15;
}
int num16 = this.match_length;
if (this.compressionStrategy == CompressionStrategy.Filtered || this.strstart > 4096)
{
int min_MATCH2 = DeflateManager.MIN_MATCH;
this.match_length = min_MATCH2;
}
}
int num17 = this.prev_length;
int num18 = this.prev_length;
int num19 = this.strstart;
int num20 = this.lookahead;
int num21 = this.strstart;
int num22 = this.prev_length;
num20 += num19;
bool flag = this._tr_tally(num21, num22);
int num23 = this.prev_length;
this.prev_length = 1;
int num24 = this.strstart;
num24++;
this.strstart = num24;
int num25 = this.ins_h;
byte[] array5 = this.window;
int num26 = DeflateManager.MIN_MATCH;
num26 += num24;
short[] array6 = this.head;
this.ins_h = num25;
short num27 = array6[num25];
short[] array7 = this.prev;
int num28 = this.w_mask;
array7[0] = num27;
short[] array8 = this.head;
int num29 = this.ins_h;
int num30 = this.strstart;
array8[0] = (short)num30;
while (num29 != array8.Length)
{
}
int num31 = 0;
this.match_available = num31;
int num32 = this.strstart;
num32++;
int min_MATCH3 = DeflateManager.MIN_MATCH;
this.strstart = num32;
this.match_length = min_MATCH3;
while (!flag)
{
}
int num33 = this.block_start;
num32 -= num33;
int num34 = 0;
this._tr_flush_block(num33, num32, num34 != 0);
ZlibCodec codec = this._codec;
int num35 = this.strstart;
this.block_start = num35;
codec.flush_pending();
if (this._codec.AvailableBytesOut == num31)
{
goto IL_393;
}
if (this.match_available == 0)
{
this.match_available = 1;
}
byte[] array9 = this.window;
int num36 = this.strstart;
int num37 = 0;
byte b;
if (this._tr_tally(num37, (int)b))
{
int num38 = this.block_start;
int num39 = this.strstart;
int num40 = 0;
num39 -= num38;
this._tr_flush_block(num38, num39, num40 != 0);
ZlibCodec codec2 = this._codec;
int num41 = this.strstart;
this.block_start = num41;
codec2.flush_pending();
}
if (this._codec.AvailableBytesOut == 0)
{
goto IL_393;
}
}
if (this.match_available != 0)
{
byte[] array10 = this.window;
int num42 = this.strstart;
int num43 = 0;
byte b2;
bool flag2 = this._tr_tally(num43, (int)b2);
this.match_available = num;
}
bool flag3 = flush == FlushType.Finish;
this.flush_block_only(flag3);
if (this._codec.AvailableBytesOut != 0)
{
}
}
IL_393:
throw new NullReferenceException();
}
// Token: 0x0600CD40 RID: 52544 RVA: 0x002F0724 File Offset: 0x002EE924
[Token(Token = "0x600CD40")]
[Address(RVA = "0x196ABD0", Offset = "0x19699D0", VA = "0x18196ABD0")]
internal int longest_match(int cur_match)
{
DeflateManager.Config config = this.config;
int num = this.strstart;
int num2 = this.prev_length;
int num3 = this.w_size;
if (num > num3)
{
int num4 = this.strstart;
int num5 = this.w_size;
int num6 = DeflateManager.MIN_LOOKAHEAD;
num6 -= num5;
num6 += num4;
}
int niceLength = this.config.NiceLength;
int num7 = this.w_mask;
int num8 = this.strstart;
int num9 = this.window.Length;
DeflateManager.Config config2 = this.config;
int num10 = this.lookahead;
if (niceLength <= num10)
{
}
int num11 = this.prev_length;
byte[] array = this.window;
int num12 = array.Length;
byte b;
if ("{il2cpp array field local22->}" == b)
{
num9 = num;
int num13 = num9 + 1;
num += 2;
num++;
num9 = num12;
int num14 = num9 + 1;
byte b2 = array[num14];
num++;
int num15 = num + 1;
num = num15;
num15 = num12;
num15 += 3;
num++;
int num16 = num + 1;
num = num16;
num16 = num12;
num16 += 5;
num++;
int num17 = num + 1;
num = num17;
num17 = num12;
num17 += 7;
byte b3 = array[num17];
int num18 = num + 1;
num = num18;
num12 += 8;
int num19 = DeflateManager.MAX_MATCH;
num19 -= num8;
num19 += num;
num = num8;
num -= num19;
if (num19 > num2)
{
num2 = num19;
this.match_start = cur_match;
int length = this.window.Length;
int num20 = cur_match - 1;
}
}
short[] array2 = this.prev;
ulong num21;
if ((ulong)array2[num7] > num21)
{
int num22 = niceLength - 1;
while (num22 != 0)
{
}
}
int num23 = this.lookahead;
if (num2 > num23)
{
num2 = num23;
}
return num2;
}
// Token: 0x170020A0 RID: 8352
// (get) Token: 0x0600CD41 RID: 52545 RVA: 0x002F08EC File Offset: 0x002EEAEC
// (set) Token: 0x0600CD42 RID: 52546 RVA: 0x002F0900 File Offset: 0x002EEB00
[Token(Token = "0x170020A0")]
internal bool WantRfc1950HeaderBytes
{
[Token(Token = "0x600CD41")]
[Address(RVA = "0x196ABC0", Offset = "0x19699C0", VA = "0x18196ABC0")]
get
{
return this._WantRfc1950HeaderBytes;
}
[Token(Token = "0x600CD42")]
[Address(RVA = "0x196C4A0", Offset = "0x196B2A0", VA = "0x18196C4A0")]
set
{
this._WantRfc1950HeaderBytes = value;
}
}
// Token: 0x0600CD43 RID: 52547 RVA: 0x002F0914 File Offset: 0x002EEB14
[Token(Token = "0x600CD43")]
[Address(RVA = "0x1967CC0", Offset = "0x1966AC0", VA = "0x181967CC0")]
internal int Initialize(ZlibCodec codec, CompressionLevel level)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600CD44 RID: 52548 RVA: 0x002F092C File Offset: 0x002EEB2C
[Token(Token = "0x600CD44")]
[Address(RVA = "0x1967C10", Offset = "0x1966A10", VA = "0x181967C10")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600CD45 RID: 52549 RVA: 0x002F0944 File Offset: 0x002EEB44
[Token(Token = "0x600CD45")]
[Address(RVA = "0x1968010", Offset = "0x1966E10", VA = "0x181968010")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits, CompressionStrategy compressionStrategy)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600CD46 RID: 52550 RVA: 0x002F0958 File Offset: 0x002EEB58
[Token(Token = "0x600CD46")]
[Address(RVA = "0x1967D60", Offset = "0x1966B60", VA = "0x181967D60")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int windowBits, int memLevel, CompressionStrategy strategy)
{
this._codec = codec;
codec.Message = (ulong)0L;
this._codec.dstate = this;
this.w_bits = windowBits;
this.hash_bits = windowBits;
uint num;
this.w_size = (int)num;
uint num2 = num - 1U;
this.hash_size = (int)num;
this.w_mask = (int)num2;
uint num3 = num - 1U;
this.hash_mask = (int)num3;
int min_MATCH = DeflateManager.MIN_MATCH;
int num4 = windowBits - 1;
num4 += min_MATCH;
this.hash_shift = num4;
int num5 = 0;
byte[] array = VariableSizedBufferPool.Get((long)num4, num5 != 0);
int num6 = this.w_size;
this.window = array;
short[] array2 = new short[num6];
int num7 = this.hash_size;
this.prev = array2;
short[] array3 = new short[num7];
this.head = array3;
this.lit_bufsize = (int)num;
byte[] array4;
this.pending = array4;
int num8 = this.lit_bufsize;
this._distanceOffset = num8;
this.compressionLevel = level;
this._lengthOffset = num8;
this.compressionStrategy = CompressionStrategy.Default;
this.Reset();
return 0;
}
// Token: 0x0600CD47 RID: 52551 RVA: 0x002F0A5C File Offset: 0x002EEC5C
[Token(Token = "0x600CD47")]
[Address(RVA = "0x19680C0", Offset = "0x1966EC0", VA = "0x1819680C0")]
internal void Reset()
{
ZlibCodec codec = this._codec;
int num = 0;
codec.TotalBytesOut = (long)num;
codec.TotalBytesIn = (long)num;
this._codec.Message = num;
this.nextPending = num;
this.Rfc1950BytesEmitted = num != 0;
if ((this._WantRfc1950HeaderBytes ? 1 : 0) != num)
{
}
int busy_STATE = DeflateManager.BUSY_STATE;
this.status = busy_STATE;
this._codec._Adler32 = (uint)((ulong)1L);
this.last_flush = num;
ZTree ztree = this.treeLiterals;
short[] array = this.dyn_ltree;
ztree.dyn_tree = array;
ZTree ztree2 = this.treeLiterals;
StaticTree literals = StaticTree.Literals;
ztree2.staticTree = literals;
ZTree ztree3 = this.treeDistances;
short[] array2 = this.dyn_dtree;
ztree3.dyn_tree = array2;
ZTree ztree4 = this.treeDistances;
StaticTree distances = StaticTree.Distances;
ztree4.staticTree = distances;
ZTree ztree5 = this.treeBitLengths;
short[] array3 = this.bl_tree;
ztree5.dyn_tree = array3;
ZTree ztree6 = this.treeBitLengths;
StaticTree bitLengths = StaticTree.BitLengths;
ztree6.staticTree = bitLengths;
this.bi_buf = (short)num;
this.bi_valid = num;
this.last_eob_len = (int)((ulong)8L);
this._InitializeBlocks();
int num2 = this.w_size;
int num3 = this.hash_size;
num2 += num2;
short[] array4 = this.head;
int num4 = 0;
this.window_size = num2;
Array.Clear(array4, num4, num3);
int num5 = (int)this.compressionLevel;
DeflateManager.Config config;
this.config = config;
this.SetDeflater();
this.strstart = num;
this.block_start = num;
this.lookahead = num;
int min_MATCH = DeflateManager.MIN_MATCH;
this.match_available = num;
this.ins_h = num;
this.prev_length = min_MATCH;
this.match_length = min_MATCH;
}
// Token: 0x0600CD48 RID: 52552 RVA: 0x002F0C00 File Offset: 0x002EEE00
[Token(Token = "0x600CD48")]
[Address(RVA = "0x1967AB0", Offset = "0x19668B0", VA = "0x181967AB0")]
internal int End()
{
int num = this.status;
int num2 = this.status;
int num3 = this.status;
return -2;
}
// Token: 0x0600CD49 RID: 52553 RVA: 0x002F0C2C File Offset: 0x002EEE2C
[Token(Token = "0x600CD49")]
[Address(RVA = "0x19683E0", Offset = "0x19671E0", VA = "0x1819683E0")]
private void SetDeflater()
{
DeflateFlavor flavor = this.config.Flavor;
if (flavor == DeflateFlavor.Store || flavor == DeflateFlavor.Store || flavor == DeflateFlavor.Fast)
{
DeflateManager.CompressFunc compressFunc;
compressFunc.method_ptr = ldftn(DeflateNone);
compressFunc.method = ldftn(DeflateNone);
compressFunc.m_target = this;
this.DeflateFunction = compressFunc;
}
}
// Token: 0x0600CD4A RID: 52554 RVA: 0x002F0C80 File Offset: 0x002EEE80
[Token(Token = "0x600CD4A")]
[Address(RVA = "0x1968830", Offset = "0x1967630", VA = "0x181968830")]
internal int SetParams(CompressionLevel level, CompressionStrategy strategy)
{
int num = 0;
if (this.compressionLevel != level)
{
DeflateFlavor flavor = this.config.Flavor;
DeflateManager.Config config;
if (config.Flavor != flavor)
{
ZlibCodec codec = this._codec;
if (codec.TotalBytesIn != (long)num)
{
int num2 = codec.Deflate(FlushType.Partial);
}
}
this.compressionLevel = level;
this.config = config;
this.SetDeflater();
}
this.compressionStrategy = strategy;
return num;
}
// Token: 0x0600CD4B RID: 52555 RVA: 0x002F0CF4 File Offset: 0x002EEEF4
[Token(Token = "0x600CD4B")]
[Address(RVA = "0x1968480", Offset = "0x1967280", VA = "0x181968480")]
internal int SetDictionary(byte[] dictionary)
{
int num = 0;
int length = dictionary.Length;
int num2 = this.status;
ZlibCodec codec = this._codec;
uint adler = codec._Adler32;
int length2 = dictionary.Length;
int num3 = 0;
uint num4 = Adler.Adler32(adler, dictionary, num3, length2);
codec._Adler32 = num4;
int num5 = this.w_size;
if (length > num5)
{
int num6 = this.w_size;
int num7 = dictionary.Length;
num7 -= num6;
}
byte[] array = this.window;
int num8 = 0;
Array.Copy(dictionary, num, array, num8, length);
byte[] array2 = this.window;
this.strstart = length;
this.block_start = length;
byte b = array2[0];
this.ins_h = (int)b;
this.ins_h = (int)b;
int num9 = this.ins_h;
byte[] array3 = this.window;
int num10 = DeflateManager.MIN_MATCH;
num10 += num;
short[] array4 = this.head;
this.ins_h = num9;
short[] array5 = this.prev;
int num11 = this.w_mask;
short num12 = array4[num9];
array5[0] = num12;
short[] array6 = this.head;
int num13 = this.ins_h;
array6[0] = (short)num;
num++;
return 0;
}
// Token: 0x0600CD4C RID: 52556 RVA: 0x002F0E24 File Offset: 0x002EF024
[Token(Token = "0x600CD4C")]
[Address(RVA = "0x1967160", Offset = "0x1965F60", VA = "0x181967160")]
internal int Deflate(FlushType flush)
{
for (;;)
{
ZlibCodec codec = this._codec;
if (codec.OutputBuffer != (ulong)0L && (codec.InputBuffer != (ulong)0L || codec.AvailableBytesIn == 0))
{
int num = this.status;
if (flush == FlushType.Finish && this._codec.AvailableBytesOut != 0)
{
int num2 = this.last_flush;
int num3 = this.status;
this.last_flush = (int)flush;
CompressionLevel compressionLevel = this.compressionLevel;
if (this.strstart != 0)
{
int preset_DICT = DeflateManager.PRESET_DICT;
}
ulong num4;
num4 += (ulong)1L;
num4 += num4;
long num5 = (long)(num4 * (ulong)((uint)31));
int num6 = this.pendingCount;
byte[] array = this.pending;
int busy_STATE = DeflateManager.BUSY_STATE;
this.status = busy_STATE;
int num7 = num6 + 1;
this.pendingCount = num7;
int num8 = this.pendingCount;
byte[] array2 = this.pending;
int num9 = num8 + 1;
this.pendingCount = num9;
if (this.strstart != 0)
{
int num10 = this.pendingCount;
byte[] array3 = this.pending;
int num11 = num10 + 1;
this.pendingCount = num11;
uint adler = this._codec._Adler32;
int num12 = this.pendingCount;
byte[] array4 = this.pending;
int num13 = num12 + 1;
this.pendingCount = num13;
uint adler2 = this._codec._Adler32;
int num14 = this.pendingCount;
byte[] array5 = this.pending;
int num15 = num14 + 1;
this.pendingCount = num15;
uint adler3 = this._codec._Adler32;
int num16 = this.pendingCount;
byte[] array6 = this.pending;
int num17 = num16 + 1;
this.pendingCount = num17;
uint adler4 = this._codec._Adler32;
}
this._codec._Adler32 = (uint)((ulong)1L);
ZlibCodec codec2 = this._codec;
if (this.Z_ASCII != 0 || (codec2.AvailableBytesIn == 0 && flush != FlushType.Finish))
{
codec2.flush_pending();
if (this._codec.AvailableBytesOut == 0)
{
goto IL_38C;
}
}
int num18 = this.status;
if (this._codec.AvailableBytesIn == 0)
{
break;
}
}
}
}
if (this._codec.AvailableBytesIn == 0 && this.lookahead == 0)
{
if (flush == FlushType.None)
{
goto IL_2A6;
}
int num19 = this.status;
}
DeflateManager.CompressFunc deflateFunction = this.DeflateFunction;
BlockState blockState;
int num20 = (int)blockState;
if (blockState == BlockState.FinishStarted || blockState == BlockState.FinishDone)
{
int finish_STATE = DeflateManager.FINISH_STATE;
this.status = finish_STATE;
}
if (num20 == 0 || num20 == 2)
{
goto IL_38C;
}
if (num20 == 1)
{
if (flush != (FlushType)num20)
{
int num21 = 0;
int num22 = 0;
int num23 = 0;
int num24 = 0;
this._tr_stored_block(num24, num23, num22 != 0);
if (flush == FlushType.Full && this.hash_size > num21)
{
short[] array7 = this.head;
num21++;
array7[0] = (short)num21;
}
}
this._codec.flush_pending();
if (this._codec.AvailableBytesOut == 0)
{
goto IL_38C;
}
}
IL_2A6:
if (flush == FlushType.Finish && this._WantRfc1950HeaderBytes && !this.Rfc1950BytesEmitted)
{
int num25 = this.pendingCount;
byte[] array8 = this.pending;
int num26 = num25 + 1;
this.pendingCount = num26;
uint adler5 = this._codec._Adler32;
int num27 = this.pendingCount;
byte[] array9 = this.pending;
int num28 = num27 + 1;
this.pendingCount = num28;
uint adler6 = this._codec._Adler32;
int num29 = this.pendingCount;
byte[] array10 = this.pending;
int num30 = num29 + 1;
this.pendingCount = num30;
uint adler7 = this._codec._Adler32;
int num31 = this.pendingCount;
byte[] array11 = this.pending;
int num32 = num31 + 1;
this.pendingCount = num32;
uint adler8 = this._codec._Adler32;
this._codec.flush_pending();
this.Rfc1950BytesEmitted = true;
if (this.Z_ASCII == 0)
{
}
}
IL_38C:
throw new NullReferenceException();
}
// Token: 0x0600CD4D RID: 52557 RVA: 0x002F11C4 File Offset: 0x002EF3C4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CD4D")]
[Address(RVA = "0x1968E30", Offset = "0x1967C30", VA = "0x181968E30")]
static DeflateManager()
{
string[] array = new string[10];
if ("need dictionary" != 0)
{
}
array[0] = "need dictionary";
if ("stream end" != 0)
{
}
array[1] = "stream end";
if ("" != 0)
{
}
array[2] = "";
if ("file error" != 0)
{
}
array[3] = "file error";
if ("stream error" != 0)
{
}
array[4] = "stream error";
if ("data error" != 0)
{
}
array[5] = "data error";
if ("insufficient memory" != 0)
{
}
array[6] = "insufficient memory";
if ("buffer error" != 0)
{
}
array[7] = "buffer error";
if ("incompatible version" != 0)
{
}
array[8] = "incompatible version";
if ("" != 0)
{
}
array[9] = "";
int num = 0;
DeflateManager._ErrorMessage = array;
DeflateManager.STORED_BLOCK = num;
DeflateManager.Z_BINARY = num;
int num2 = DeflateManager.MIN_MATCH;
int num3 = DeflateManager.MAX_MATCH;
num2++;
num3 += num2;
DeflateManager.MIN_LOOKAHEAD = num3;
}
// Token: 0x04008296 RID: 33430
[Token(Token = "0x4008296")]
private static readonly int MEM_LEVEL_MAX;
// Token: 0x04008297 RID: 33431
[Token(Token = "0x4008297")]
private static readonly int MEM_LEVEL_DEFAULT;
// Token: 0x04008298 RID: 33432
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008298")]
private DeflateManager.CompressFunc DeflateFunction;
// Token: 0x04008299 RID: 33433
[Token(Token = "0x4008299")]
private static readonly string[] _ErrorMessage;
// Token: 0x0400829A RID: 33434
[Token(Token = "0x400829A")]
private static readonly int PRESET_DICT;
// Token: 0x0400829B RID: 33435
[Token(Token = "0x400829B")]
private static readonly int INIT_STATE;
// Token: 0x0400829C RID: 33436
[Token(Token = "0x400829C")]
private static readonly int BUSY_STATE;
// Token: 0x0400829D RID: 33437
[Token(Token = "0x400829D")]
private static readonly int FINISH_STATE;
// Token: 0x0400829E RID: 33438
[Token(Token = "0x400829E")]
private static readonly int Z_DEFLATED;
// Token: 0x0400829F RID: 33439
[Token(Token = "0x400829F")]
private static readonly int STORED_BLOCK;
// Token: 0x040082A0 RID: 33440
[Token(Token = "0x40082A0")]
private static readonly int STATIC_TREES;
// Token: 0x040082A1 RID: 33441
[Token(Token = "0x40082A1")]
private static readonly int DYN_TREES;
// Token: 0x040082A2 RID: 33442
[Token(Token = "0x40082A2")]
private static readonly int Z_BINARY;
// Token: 0x040082A3 RID: 33443
[Token(Token = "0x40082A3")]
private static readonly int Z_ASCII;
// Token: 0x040082A4 RID: 33444
[Token(Token = "0x40082A4")]
private static readonly int Z_UNKNOWN;
// Token: 0x040082A5 RID: 33445
[Token(Token = "0x40082A5")]
private static readonly int Buf_size;
// Token: 0x040082A6 RID: 33446
[Token(Token = "0x40082A6")]
private static readonly int MIN_MATCH;
// Token: 0x040082A7 RID: 33447
[Token(Token = "0x40082A7")]
private static readonly int MAX_MATCH;
// Token: 0x040082A8 RID: 33448
[Token(Token = "0x40082A8")]
private static readonly int MIN_LOOKAHEAD;
// Token: 0x040082A9 RID: 33449
[Token(Token = "0x40082A9")]
private static readonly int HEAP_SIZE;
// Token: 0x040082AA RID: 33450
[Token(Token = "0x40082AA")]
private static readonly int END_BLOCK;
// Token: 0x040082AB RID: 33451
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40082AB")]
internal ZlibCodec _codec;
// Token: 0x040082AC RID: 33452
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40082AC")]
internal int status;
// Token: 0x040082AD RID: 33453
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40082AD")]
internal byte[] pending;
// Token: 0x040082AE RID: 33454
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40082AE")]
internal int nextPending;
// Token: 0x040082AF RID: 33455
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40082AF")]
internal int pendingCount;
// Token: 0x040082B0 RID: 33456
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40082B0")]
internal sbyte data_type;
// Token: 0x040082B1 RID: 33457
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40082B1")]
internal int last_flush;
// Token: 0x040082B2 RID: 33458
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40082B2")]
internal int w_size;
// Token: 0x040082B3 RID: 33459
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x40082B3")]
internal int w_bits;
// Token: 0x040082B4 RID: 33460
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40082B4")]
internal int w_mask;
// Token: 0x040082B5 RID: 33461
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40082B5")]
internal byte[] window;
// Token: 0x040082B6 RID: 33462
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40082B6")]
internal int window_size;
// Token: 0x040082B7 RID: 33463
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40082B7")]
internal short[] prev;
// Token: 0x040082B8 RID: 33464
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40082B8")]
internal short[] head;
// Token: 0x040082B9 RID: 33465
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40082B9")]
internal int ins_h;
// Token: 0x040082BA RID: 33466
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x40082BA")]
internal int hash_size;
// Token: 0x040082BB RID: 33467
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40082BB")]
internal int hash_bits;
// Token: 0x040082BC RID: 33468
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x40082BC")]
internal int hash_mask;
// Token: 0x040082BD RID: 33469
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40082BD")]
internal int hash_shift;
// Token: 0x040082BE RID: 33470
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x40082BE")]
internal int block_start;
// Token: 0x040082BF RID: 33471
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40082BF")]
private DeflateManager.Config config;
// Token: 0x040082C0 RID: 33472
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40082C0")]
internal int match_length;
// Token: 0x040082C1 RID: 33473
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x40082C1")]
internal int prev_match;
// Token: 0x040082C2 RID: 33474
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x40082C2")]
internal int match_available;
// Token: 0x040082C3 RID: 33475
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x40082C3")]
internal int strstart;
// Token: 0x040082C4 RID: 33476
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x40082C4")]
internal int match_start;
// Token: 0x040082C5 RID: 33477
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x40082C5")]
internal int lookahead;
// Token: 0x040082C6 RID: 33478
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40082C6")]
internal int prev_length;
// Token: 0x040082C7 RID: 33479
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x40082C7")]
internal CompressionLevel compressionLevel;
// Token: 0x040082C8 RID: 33480
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40082C8")]
internal CompressionStrategy compressionStrategy;
// Token: 0x040082C9 RID: 33481
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x40082C9")]
internal short[] dyn_ltree;
// Token: 0x040082CA RID: 33482
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x40082CA")]
internal short[] dyn_dtree;
// Token: 0x040082CB RID: 33483
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x40082CB")]
internal short[] bl_tree;
// Token: 0x040082CC RID: 33484
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x40082CC")]
internal ZTree treeLiterals;
// Token: 0x040082CD RID: 33485
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x40082CD")]
internal ZTree treeDistances;
// Token: 0x040082CE RID: 33486
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x40082CE")]
internal ZTree treeBitLengths;
// Token: 0x040082CF RID: 33487
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x40082CF")]
internal short[] bl_count;
// Token: 0x040082D0 RID: 33488
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x40082D0")]
internal int[] heap;
// Token: 0x040082D1 RID: 33489
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x40082D1")]
internal int heap_len;
// Token: 0x040082D2 RID: 33490
[FieldOffset(Offset = "0xFC")]
[Token(Token = "0x40082D2")]
internal int heap_max;
// Token: 0x040082D3 RID: 33491
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x40082D3")]
internal sbyte[] depth;
// Token: 0x040082D4 RID: 33492
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x40082D4")]
internal int _lengthOffset;
// Token: 0x040082D5 RID: 33493
[FieldOffset(Offset = "0x10C")]
[Token(Token = "0x40082D5")]
internal int lit_bufsize;
// Token: 0x040082D6 RID: 33494
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x40082D6")]
internal int last_lit;
// Token: 0x040082D7 RID: 33495
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x40082D7")]
internal int _distanceOffset;
// Token: 0x040082D8 RID: 33496
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x40082D8")]
internal int opt_len;
// Token: 0x040082D9 RID: 33497
[FieldOffset(Offset = "0x11C")]
[Token(Token = "0x40082D9")]
internal int static_len;
// Token: 0x040082DA RID: 33498
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x40082DA")]
internal int matches;
// Token: 0x040082DB RID: 33499
[FieldOffset(Offset = "0x124")]
[Token(Token = "0x40082DB")]
internal int last_eob_len;
// Token: 0x040082DC RID: 33500
[FieldOffset(Offset = "0x128")]
[Token(Token = "0x40082DC")]
internal short bi_buf;
// Token: 0x040082DD RID: 33501
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x40082DD")]
internal int bi_valid;
// Token: 0x040082DE RID: 33502
[FieldOffset(Offset = "0x130")]
[Token(Token = "0x40082DE")]
private bool Rfc1950BytesEmitted;
// Token: 0x040082DF RID: 33503
[FieldOffset(Offset = "0x131")]
[Token(Token = "0x40082DF")]
private bool _WantRfc1950HeaderBytes;
// Token: 0x02001FA3 RID: 8099
[Token(Token = "0x2001FA3")]
internal sealed class CompressFunc : MulticastDelegate
{
// Token: 0x0600CD4E RID: 52558 RVA: 0x002F12DC File Offset: 0x002EF4DC
[Token(Token = "0x600CD4E")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public CompressFunc(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600CD4F RID: 52559 RVA: 0x002F12F8 File Offset: 0x002EF4F8
[Token(Token = "0x600CD4F")]
[Address(RVA = "0x1960B40", Offset = "0x195F940", VA = "0x181960B40", Slot = "13")]
public BlockState Invoke(FlushType flush)
{
uint num;
do
{
Delegate[] delegates = this.delegates;
if (delegates != 0)
{
}
}
while (num == (uint)0);
throw new ExecutionEngineException();
}
// Token: 0x0600CD50 RID: 52560 RVA: 0x002F137C File Offset: 0x002EF57C
[Token(Token = "0x600CD50")]
[Address(RVA = "0x1960AC0", Offset = "0x195F8C0", VA = "0x181960AC0", Slot = "14")]
public IAsyncResult BeginInvoke(FlushType flush, AsyncCallback callback, object @object)
{
}
// Token: 0x0600CD51 RID: 52561 RVA: 0x002F138C File Offset: 0x002EF58C
[Token(Token = "0x600CD51")]
[Address(RVA = "0x458BC0", Offset = "0x4579C0", VA = "0x180458BC0", Slot = "15")]
public BlockState EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
// Token: 0x02001FA4 RID: 8100
[Token(Token = "0x2001FA4")]
internal class Config
{
// Token: 0x0600CD52 RID: 52562 RVA: 0x002F13A0 File Offset: 0x002EF5A0
[Token(Token = "0x600CD52")]
[Address(RVA = "0x18D7470", Offset = "0x18D6270", VA = "0x1818D7470")]
private Config(int goodLength, int maxLazy, int niceLength, int maxChainLength, DeflateFlavor flavor)
{
this.MaxChainLength = 0;
this.GoodLength = goodLength;
this.NiceLength = niceLength;
this.Flavor = DeflateFlavor.Store;
this.MaxLazy = maxLazy;
}
// Token: 0x0600CD53 RID: 52563 RVA: 0x002F13D8 File Offset: 0x002EF5D8
[Token(Token = "0x600CD53")]
[Address(RVA = "0x1960E20", Offset = "0x195FC20", VA = "0x181960E20")]
public static DeflateManager.Config Lookup(CompressionLevel level)
{
return DeflateManager.Config.Table[(int)level];
}
// Token: 0x0600CD54 RID: 52564 RVA: 0x002F13F8 File Offset: 0x002EF5F8
[Token(Token = "0x600CD54")]
[Address(RVA = "0x1960EB0", Offset = "0x195FCB0", VA = "0x181960EB0")]
static Config()
{
DeflateManager.Config[] array = new DeflateManager.Config[10];
int num = 0;
DeflateManager.Config config;
config.GoodLength = num;
config.NiceLength = num;
config.Flavor = (DeflateFlavor)num;
array[0] = config;
DeflateManager.Config config2;
config2.GoodLength = (int)((ulong)4L);
config2.MaxLazy = (int)((ulong)4L);
config2.NiceLength = (int)((ulong)8L);
config2.MaxChainLength = (int)((ulong)4L);
config2.Flavor = (DeflateFlavor)((ulong)1L);
array[1] = config2;
DeflateManager.Config config3;
config3.GoodLength = (int)((ulong)4L);
config3.MaxLazy = (int)((ulong)5L);
config3.NiceLength = (int)((ulong)16L);
config3.MaxChainLength = (int)((ulong)8L);
config3.Flavor = (DeflateFlavor)((ulong)1L);
array[2] = config3;
DeflateManager.Config config4;
config4.GoodLength = (int)((ulong)4L);
config4.MaxLazy = (int)((ulong)6L);
config4.NiceLength = (int)((ulong)32L);
config4.MaxChainLength = (int)((ulong)32L);
config4.Flavor = (DeflateFlavor)((ulong)1L);
array[3] = config4;
DeflateManager.Config config5;
config5.GoodLength = (int)((ulong)4L);
config5.MaxLazy = (int)((ulong)4L);
config5.NiceLength = (int)((ulong)16L);
config5.MaxChainLength = (int)((ulong)16L);
config5.Flavor = (DeflateFlavor)((ulong)2L);
array[4] = config5;
DeflateManager.Config config6;
config6.GoodLength = (int)((ulong)8L);
config6.MaxLazy = (int)((ulong)16L);
config6.NiceLength = (int)((ulong)32L);
config6.MaxChainLength = (int)((ulong)32L);
config6.Flavor = (DeflateFlavor)((ulong)2L);
array[5] = config6;
DeflateManager.Config config7;
config7.GoodLength = (int)((ulong)8L);
config7.MaxLazy = (int)((ulong)16L);
config7.NiceLength = (int)((ulong)128L);
config7.MaxChainLength = (int)((ulong)128L);
config7.Flavor = (DeflateFlavor)((ulong)2L);
array[6] = config7;
DeflateManager.Config config8;
config8.GoodLength = (int)((ulong)8L);
config8.MaxLazy = (int)((ulong)32L);
config8.NiceLength = (int)((ulong)128L);
config8.MaxChainLength = (int)((ulong)256L);
config8.Flavor = (DeflateFlavor)((ulong)2L);
array[7] = config8;
DeflateManager.Config config9;
config9.GoodLength = (int)((ulong)32L);
config9.MaxLazy = (int)((ulong)128L);
config9.NiceLength = (int)((ulong)258L);
config9.MaxChainLength = (int)((ulong)1024L);
config9.Flavor = (DeflateFlavor)((ulong)2L);
array[8] = config9;
DeflateManager.Config config10;
config10.GoodLength = (int)((ulong)32L);
config10.MaxLazy = (int)((ulong)258L);
config10.NiceLength = (int)((ulong)258L);
config10.MaxChainLength = (int)((ulong)4096L);
config10.Flavor = (DeflateFlavor)((ulong)2L);
array[9] = config10;
DeflateManager.Config.Table = array;
}
// Token: 0x040082E0 RID: 33504
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40082E0")]
internal int GoodLength;
// Token: 0x040082E1 RID: 33505
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40082E1")]
internal int MaxLazy;
// Token: 0x040082E2 RID: 33506
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40082E2")]
internal int NiceLength;
// Token: 0x040082E3 RID: 33507
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40082E3")]
internal int MaxChainLength;
// Token: 0x040082E4 RID: 33508
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40082E4")]
internal DeflateFlavor Flavor;
// Token: 0x040082E5 RID: 33509
[Token(Token = "0x40082E5")]
private static readonly DeflateManager.Config[] Table;
}
}
}
@@ -0,0 +1,529 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA5 RID: 8101
[Token(Token = "0x2001FA5")]
public class DeflateStream : Stream
{
// Token: 0x0600CD55 RID: 52565 RVA: 0x002F167C File Offset: 0x002EF87C
[Token(Token = "0x600CD55")]
[Address(RVA = "0x196C980", Offset = "0x196B780", VA = "0x18196C980")]
public DeflateStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600CD56 RID: 52566 RVA: 0x002F168C File Offset: 0x002EF88C
[Token(Token = "0x600CD56")]
[Address(RVA = "0x196C9B0", Offset = "0x196B7B0", VA = "0x18196C9B0")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600CD57 RID: 52567 RVA: 0x002F169C File Offset: 0x002EF89C
[Token(Token = "0x600CD57")]
[Address(RVA = "0x196C9D0", Offset = "0x196B7D0", VA = "0x18196C9D0")]
public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600CD58 RID: 52568 RVA: 0x002F16AC File Offset: 0x002EF8AC
[Token(Token = "0x600CD58")]
[Address(RVA = "0x196CB30", Offset = "0x196B930", VA = "0x18196CB30")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x0600CD59 RID: 52569 RVA: 0x002F16D0 File Offset: 0x002EF8D0
[Token(Token = "0x600CD59")]
[Address(RVA = "0x196CA00", Offset = "0x196B800", VA = "0x18196CA00")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen, int windowBits)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
zlibBaseStream._streamMode = (ZlibBaseStream.StreamMode)((ulong)2L);
zlibBaseStream._bufferSize = (int)((ulong)16384L);
byte[] array = new byte[1];
zlibBaseStream._buf1 = array;
zlibBaseStream._leaveOpen = false;
zlibBaseStream.windowBitsMax = 0;
zlibBaseStream._flushMode = (FlushType)((ulong)0L);
zlibBaseStream._stream = stream;
zlibBaseStream._compressionMode = mode;
zlibBaseStream._flavor = (ZlibStreamFlavor)((ulong)1951L);
zlibBaseStream._level = level;
this._baseStream = zlibBaseStream;
}
// Token: 0x170020A1 RID: 8353
// (get) Token: 0x0600CD5A RID: 52570 RVA: 0x002F1754 File Offset: 0x002EF954
// (set) Token: 0x0600CD5B RID: 52571 RVA: 0x002F1774 File Offset: 0x002EF974
[Token(Token = "0x170020A1")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600CD5A")]
[Address(RVA = "0x196CD40", Offset = "0x196BB40", VA = "0x18196CD40", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600CD5B")]
[Address(RVA = "0x196CFE0", Offset = "0x196BDE0", VA = "0x18196CFE0", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600CD5B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::set_FlushMode(BestHTTP.Decompression.Zlib.FlushType)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_18:
stloc:ObjectDisposedException(var_1_22, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020A2 RID: 8354
// (get) Token: 0x0600CD5C RID: 52572 RVA: 0x002F17A4 File Offset: 0x002EF9A4
// (set) Token: 0x0600CD5D RID: 52573 RVA: 0x002F17C4 File Offset: 0x002EF9C4
[Token(Token = "0x170020A2")]
public int BufferSize
{
[Token(Token = "0x600CD5C")]
[Address(RVA = "0x196CC00", Offset = "0x196BA00", VA = "0x18196CC00")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600CD5D")]
[Address(RVA = "0x196CE90", Offset = "0x196BC90", VA = "0x18196CE90")]
set
{
/*
An exception occurred when decompiling this method (0600CD5D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::set_BufferSize(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_23:
stloc:ObjectDisposedException(var_1_2D, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020A3 RID: 8355
// (get) Token: 0x0600CD5E RID: 52574 RVA: 0x002F1800 File Offset: 0x002EFA00
// (set) Token: 0x0600CD5F RID: 52575 RVA: 0x002F1820 File Offset: 0x002EFA20
[Token(Token = "0x170020A3")]
public CompressionStrategy Strategy
{
[Token(Token = "0x600CD5E")]
[Address(RVA = "0x196CE10", Offset = "0x196BC10", VA = "0x18196CE10")]
get
{
return this._baseStream.Strategy;
}
[Token(Token = "0x600CD5F")]
[Address(RVA = "0x196D0B0", Offset = "0x196BEB0", VA = "0x18196D0B0")]
set
{
/*
An exception occurred when decompiling this method (0600CD5F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::set_Strategy(BestHTTP.Decompression.Zlib.CompressionStrategy)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_18:
stloc:ObjectDisposedException(var_1_22, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020A4 RID: 8356
// (get) Token: 0x0600CD60 RID: 52576 RVA: 0x002F1850 File Offset: 0x002EFA50
[Token(Token = "0x170020A4")]
public virtual long TotalIn
{
[Token(Token = "0x600CD60")]
[Address(RVA = "0x196CE30", Offset = "0x196BC30", VA = "0x18196CE30", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x170020A5 RID: 8357
// (get) Token: 0x0600CD61 RID: 52577 RVA: 0x002F1874 File Offset: 0x002EFA74
[Token(Token = "0x170020A5")]
public virtual long TotalOut
{
[Token(Token = "0x600CD61")]
[Address(RVA = "0x196CE60", Offset = "0x196BC60", VA = "0x18196CE60", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600CD62 RID: 52578 RVA: 0x002F1898 File Offset: 0x002EFA98
[Token(Token = "0x600CD62")]
[Address(RVA = "0x196C690", Offset = "0x196B490", VA = "0x18196C690", Slot = "16")]
protected override void Dispose(bool disposing)
{
int num;
do
{
num = 0;
if ((this._disposed ? 1 : 0) == num)
{
if (disposing)
{
ZlibBaseStream baseStream = this._baseStream;
if (baseStream != 0)
{
int writeTimeout = baseStream.WriteTimeout;
}
}
this._disposed = true;
}
base.Dispose(disposing);
}
while (num != 0);
}
// Token: 0x170020A6 RID: 8358
// (get) Token: 0x0600CD63 RID: 52579 RVA: 0x002F18D8 File Offset: 0x002EFAD8
[Token(Token = "0x170020A6")]
public override bool CanRead
{
[Token(Token = "0x600CD63")]
[Address(RVA = "0x196CC20", Offset = "0x196BA20", VA = "0x18196CC20", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600CD63)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Decompression.Zlib.DeflateStream::get_CanRead()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:ObjectDisposedException(var_0_24, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020A7 RID: 8359
// (get) Token: 0x0600CD64 RID: 52580 RVA: 0x002F190C File Offset: 0x002EFB0C
[Token(Token = "0x170020A7")]
public override bool CanSeek
{
[Token(Token = "0x600CD64")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "8")]
get
{
}
}
// Token: 0x170020A8 RID: 8360
// (get) Token: 0x0600CD65 RID: 52581 RVA: 0x002F191C File Offset: 0x002EFB1C
[Token(Token = "0x170020A8")]
public override bool CanWrite
{
[Token(Token = "0x600CD65")]
[Address(RVA = "0x196CCB0", Offset = "0x196BAB0", VA = "0x18196CCB0", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600CD65)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Decompression.Zlib.DeflateStream::get_CanWrite()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:ObjectDisposedException(var_0_24, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CD66 RID: 52582 RVA: 0x002F1950 File Offset: 0x002EFB50
[Token(Token = "0x600CD66")]
[Address(RVA = "0x196C730", Offset = "0x196B530", VA = "0x18196C730", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600CD66)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::Flush()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_15:
stloc:ObjectDisposedException(var_0_1F, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x170020A9 RID: 8361
// (get) Token: 0x0600CD67 RID: 52583 RVA: 0x002F197C File Offset: 0x002EFB7C
[Token(Token = "0x170020A9")]
public override long Length
{
[Token(Token = "0x600CD67")]
[Address(RVA = "0x196CD60", Offset = "0x196BB60", VA = "0x18196CD60", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600CD67)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.DeflateStream::get_Length()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020AA RID: 8362
// (get) Token: 0x0600CD68 RID: 52584 RVA: 0x002F1990 File Offset: 0x002EFB90
// (set) Token: 0x0600CD69 RID: 52585 RVA: 0x002F19D4 File Offset: 0x002EFBD4
[Token(Token = "0x170020AA")]
public override long Position
{
[Token(Token = "0x600CD68")]
[Address(RVA = "0x196CDB0", Offset = "0x196BBB0", VA = "0x18196CDB0", Slot = "11")]
get
{
ZlibBaseStream baseStream = this._baseStream;
ZlibBaseStream.StreamMode streamMode = baseStream._streamMode;
if (streamMode != ZlibBaseStream.StreamMode.Writer)
{
if (streamMode != ZlibBaseStream.StreamMode.Reader)
{
}
return baseStream._z.TotalBytesIn;
}
return baseStream._z.TotalBytesOut;
}
[Token(Token = "0x600CD69")]
[Address(RVA = "0x196D060", Offset = "0x196BE60", VA = "0x18196D060", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CD69)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CD6A RID: 52586 RVA: 0x002F19E8 File Offset: 0x002EFBE8
[Token(Token = "0x600CD6A")]
[Address(RVA = "0x196C7B0", Offset = "0x196B5B0", VA = "0x18196C7B0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CD6A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.DeflateStream::Read(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_18:
stloc:ObjectDisposedException(var_0_22, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD6B RID: 52587 RVA: 0x002F1A18 File Offset: 0x002EFC18
[Token(Token = "0x600CD6B")]
[Address(RVA = "0x196C870", Offset = "0x196B670", VA = "0x18196C870", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600CD6B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.DeflateStream::Seek(System.Int64,System.IO.SeekOrigin)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD6C RID: 52588 RVA: 0x002F1A2C File Offset: 0x002EFC2C
[Token(Token = "0x600CD6C")]
[Address(RVA = "0x44E4A0", Offset = "0x44D2A0", VA = "0x18044E4A0", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600CD6D RID: 52589 RVA: 0x002F1A4C File Offset: 0x002EFC4C
[Token(Token = "0x600CD6D")]
[Address(RVA = "0x196C8C0", Offset = "0x196B6C0", VA = "0x18196C8C0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CD6D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.DeflateStream::Write(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:ObjectDisposedException(var_1_23, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("DeflateStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x040082E6 RID: 33510
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40082E6")]
internal ZlibBaseStream _baseStream;
// Token: 0x040082E7 RID: 33511
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40082E7")]
internal Stream _innerStream;
// Token: 0x040082E8 RID: 33512
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40082E8")]
private bool _disposed;
}
}
@@ -0,0 +1,26 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FAF RID: 8111
[Token(Token = "0x2001FAF")]
public enum FlushType
{
// Token: 0x0400836F RID: 33647
[Token(Token = "0x400836F")]
None,
// Token: 0x04008370 RID: 33648
[Token(Token = "0x4008370")]
Partial,
// Token: 0x04008371 RID: 33649
[Token(Token = "0x4008371")]
Sync,
// Token: 0x04008372 RID: 33650
[Token(Token = "0x4008372")]
Full,
// Token: 0x04008373 RID: 33651
[Token(Token = "0x4008373")]
Finish
}
}
@@ -0,0 +1,662 @@
using System;
using System.IO;
using System.Text;
using BestHTTP.Decompression.Crc;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA6 RID: 8102
[Token(Token = "0x2001FA6")]
public class GZipStream : Stream
{
// Token: 0x170020AB RID: 8363
// (get) Token: 0x0600CD6E RID: 52590 RVA: 0x002F1A7C File Offset: 0x002EFC7C
// (set) Token: 0x0600CD6F RID: 52591 RVA: 0x002F1A90 File Offset: 0x002EFC90
[Token(Token = "0x170020AB")]
public string Comment
{
[Token(Token = "0x600CD6E")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this._Comment;
}
[Token(Token = "0x600CD6F")]
[Address(RVA = "0x196E140", Offset = "0x196CF40", VA = "0x18196E140")]
set
{
/*
An exception occurred when decompiling this method (0600CD6F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::set_Comment(System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:ObjectDisposedException(var_0_1B, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020AC RID: 8364
// (get) Token: 0x0600CD70 RID: 52592 RVA: 0x002F1AB8 File Offset: 0x002EFCB8
// (set) Token: 0x0600CD71 RID: 52593 RVA: 0x002F1ACC File Offset: 0x002EFCCC
[Token(Token = "0x170020AC")]
public string FileName
{
[Token(Token = "0x600CD70")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get
{
return this._FileName;
}
[Token(Token = "0x600CD71")]
[Address(RVA = "0x196E1C0", Offset = "0x196CFC0", VA = "0x18196E1C0")]
set
{
/*
An exception occurred when decompiling this method (0600CD71)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::set_FileName(System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_84:
stloc:Exception(var_3_8E, newobj:Exception(Exception::.ctor, ldstr:string("Illegal filename")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020AD RID: 8365
// (get) Token: 0x0600CD72 RID: 52594 RVA: 0x002F1B68 File Offset: 0x002EFD68
[Token(Token = "0x170020AD")]
public int Crc32
{
[Token(Token = "0x600CD72")]
[Address(RVA = "0xD17AD0", Offset = "0xD168D0", VA = "0x180D17AD0")]
get
{
return this._Crc32;
}
}
// Token: 0x0600CD73 RID: 52595 RVA: 0x002F1B7C File Offset: 0x002EFD7C
[Token(Token = "0x600CD73")]
[Address(RVA = "0x196DC20", Offset = "0x196CA20", VA = "0x18196DC20")]
public GZipStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600CD74 RID: 52596 RVA: 0x002F1B8C File Offset: 0x002EFD8C
[Token(Token = "0x600CD74")]
[Address(RVA = "0x196DD20", Offset = "0x196CB20", VA = "0x18196DD20")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600CD75 RID: 52597 RVA: 0x002F1B9C File Offset: 0x002EFD9C
[Token(Token = "0x600CD75")]
[Address(RVA = "0x196DD40", Offset = "0x196CB40", VA = "0x18196DD40")]
public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600CD76 RID: 52598 RVA: 0x002F1BAC File Offset: 0x002EFDAC
[Token(Token = "0x600CD76")]
[Address(RVA = "0x196DC50", Offset = "0x196CA50", VA = "0x18196DC50")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x170020AE RID: 8366
// (get) Token: 0x0600CD77 RID: 52599 RVA: 0x002F1BC8 File Offset: 0x002EFDC8
// (set) Token: 0x0600CD78 RID: 52600 RVA: 0x002F1BE8 File Offset: 0x002EFDE8
[Token(Token = "0x170020AE")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600CD77")]
[Address(RVA = "0x196DEB0", Offset = "0x196CCB0", VA = "0x18196DEB0", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600CD78")]
[Address(RVA = "0x196E330", Offset = "0x196D130", VA = "0x18196E330", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600CD78)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::set_FlushMode(BestHTTP.Decompression.Zlib.FlushType)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_18:
stloc:ObjectDisposedException(var_1_22, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020AF RID: 8367
// (get) Token: 0x0600CD79 RID: 52601 RVA: 0x002F1C18 File Offset: 0x002EFE18
// (set) Token: 0x0600CD7A RID: 52602 RVA: 0x002F1C38 File Offset: 0x002EFE38
[Token(Token = "0x170020AF")]
public int BufferSize
{
[Token(Token = "0x600CD79")]
[Address(RVA = "0x196DD70", Offset = "0x196CB70", VA = "0x18196DD70")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600CD7A")]
[Address(RVA = "0x196DFF0", Offset = "0x196CDF0", VA = "0x18196DFF0")]
set
{
/*
An exception occurred when decompiling this method (0600CD7A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::set_BufferSize(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_23:
stloc:ObjectDisposedException(var_1_2D, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020B0 RID: 8368
// (get) Token: 0x0600CD7B RID: 52603 RVA: 0x002F1C74 File Offset: 0x002EFE74
[Token(Token = "0x170020B0")]
public virtual long TotalIn
{
[Token(Token = "0x600CD7B")]
[Address(RVA = "0x196DF90", Offset = "0x196CD90", VA = "0x18196DF90", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x170020B1 RID: 8369
// (get) Token: 0x0600CD7C RID: 52604 RVA: 0x002F1C98 File Offset: 0x002EFE98
[Token(Token = "0x170020B1")]
public virtual long TotalOut
{
[Token(Token = "0x600CD7C")]
[Address(RVA = "0x196DFC0", Offset = "0x196CDC0", VA = "0x18196DFC0", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600CD7D RID: 52605 RVA: 0x002F1CBC File Offset: 0x002EFEBC
[Token(Token = "0x600CD7D")]
[Address(RVA = "0x196D130", Offset = "0x196BF30", VA = "0x18196D130", Slot = "16")]
protected override void Dispose(bool disposing)
{
int num = 0;
if ((this._disposed ? 1 : 0) == num)
{
if (disposing)
{
ZlibBaseStream baseStream = this._baseStream;
if (baseStream != 0)
{
int writeTimeout = baseStream.WriteTimeout;
CRC32 crc = this._baseStream.crc;
if (crc == 0)
{
goto IL_53;
}
uint register = crc._register;
this._Crc32 = (int)register;
}
}
this._disposed = true;
}
base.Dispose(disposing);
if (num != 0)
{
throw new NullReferenceException();
}
IL_53:
this._Crc32 = num;
}
// Token: 0x170020B2 RID: 8370
// (get) Token: 0x0600CD7E RID: 52606 RVA: 0x002F1D2C File Offset: 0x002EFF2C
[Token(Token = "0x170020B2")]
public override bool CanRead
{
[Token(Token = "0x600CD7E")]
[Address(RVA = "0x196DD90", Offset = "0x196CB90", VA = "0x18196DD90", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600CD7E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Decompression.Zlib.GZipStream::get_CanRead()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:ObjectDisposedException(var_0_24, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020B3 RID: 8371
// (get) Token: 0x0600CD7F RID: 52607 RVA: 0x002F1D60 File Offset: 0x002EFF60
[Token(Token = "0x170020B3")]
public override bool CanSeek
{
[Token(Token = "0x600CD7F")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "8")]
get
{
}
}
// Token: 0x170020B4 RID: 8372
// (get) Token: 0x0600CD80 RID: 52608 RVA: 0x002F1D70 File Offset: 0x002EFF70
[Token(Token = "0x170020B4")]
public override bool CanWrite
{
[Token(Token = "0x600CD80")]
[Address(RVA = "0x196DE20", Offset = "0x196CC20", VA = "0x18196DE20", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600CD80)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Decompression.Zlib.GZipStream::get_CanWrite()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:ObjectDisposedException(var_0_24, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CD81 RID: 52609 RVA: 0x002F1DA4 File Offset: 0x002EFFA4
[Token(Token = "0x600CD81")]
[Address(RVA = "0x196D6D0", Offset = "0x196C4D0", VA = "0x18196D6D0", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600CD81)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::Flush()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_15:
stloc:ObjectDisposedException(var_0_1F, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x170020B5 RID: 8373
// (get) Token: 0x0600CD82 RID: 52610 RVA: 0x002F1DD0 File Offset: 0x002EFFD0
[Token(Token = "0x170020B5")]
public override long Length
{
[Token(Token = "0x600CD82")]
[Address(RVA = "0x196DED0", Offset = "0x196CCD0", VA = "0x18196DED0", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600CD82)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.GZipStream::get_Length()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x170020B6 RID: 8374
// (get) Token: 0x0600CD83 RID: 52611 RVA: 0x002F1DE4 File Offset: 0x002EFFE4
// (set) Token: 0x0600CD84 RID: 52612 RVA: 0x002F1E30 File Offset: 0x002F0030
[Token(Token = "0x170020B6")]
public override long Position
{
[Token(Token = "0x600CD83")]
[Address(RVA = "0x196DF20", Offset = "0x196CD20", VA = "0x18196DF20", Slot = "11")]
get
{
ZlibBaseStream baseStream = this._baseStream;
ZlibBaseStream.StreamMode streamMode = baseStream._streamMode;
if (streamMode != ZlibBaseStream.StreamMode.Writer)
{
if (streamMode != ZlibBaseStream.StreamMode.Reader)
{
}
ZlibCodec z = baseStream._z;
int gzipHeaderByteCount = baseStream._gzipHeaderByteCount;
}
ZlibCodec z2 = baseStream._z;
int headerByteCount = this._headerByteCount;
throw new NullReferenceException();
}
[Token(Token = "0x600CD84")]
[Address(RVA = "0x196E3B0", Offset = "0x196D1B0", VA = "0x18196E3B0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CD84)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CD85 RID: 52613 RVA: 0x002F1E44 File Offset: 0x002F0044
[Token(Token = "0x600CD85")]
[Address(RVA = "0x196D750", Offset = "0x196C550", VA = "0x18196D750", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CD85)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.GZipStream::Read(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_E4:
stloc:ObjectDisposedException(var_8_EE, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("GZipStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD86 RID: 52614 RVA: 0x002F1F40 File Offset: 0x002F0140
[Token(Token = "0x600CD86")]
[Address(RVA = "0x196D9F0", Offset = "0x196C7F0", VA = "0x18196D9F0", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600CD86)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.GZipStream::Seek(System.Int64,System.IO.SeekOrigin)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD87 RID: 52615 RVA: 0x002F1F54 File Offset: 0x002F0154
[Token(Token = "0x600CD87")]
[Address(RVA = "0x196DA40", Offset = "0x196C840", VA = "0x18196DA40", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600CD88 RID: 52616 RVA: 0x002F1F74 File Offset: 0x002F0174
[Token(Token = "0x600CD88")]
[Address(RVA = "0x196DA70", Offset = "0x196C870", VA = "0x18196DA70", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CD88)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.GZipStream::Write(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_46:
stloc:InvalidOperationException(var_4_4B, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD89 RID: 52617 RVA: 0x002F1FD0 File Offset: 0x002F01D0
[Token(Token = "0x600CD89")]
[Address(RVA = "0x196D200", Offset = "0x196C000", VA = "0x18196D200")]
private int EmitHeader()
{
if (this._Comment == 0)
{
}
string comment = this._Comment;
Encoding encoding = GZipStream.iso8859dash1;
if (this._FileName == 0)
{
}
string fileName = this._FileName;
Encoding encoding2 = GZipStream.iso8859dash1;
int num;
if (this._Comment == (ulong)0L)
{
num = 0;
}
num++;
int num2;
if (this._FileName == (ulong)0L)
{
num2 = 0;
}
num2++;
int num3 = 0;
byte[] array;
array[0] = (byte)num3;
DateTime now = DateTime.Now;
int num4 = 0;
this.LastModified = num4;
DateTime unixEpoch = GZipStream._unixEpoch;
DateTime dateTime;
TimeSpan timeSpan = dateTime - unixEpoch;
int num5 = 0;
int num6 = 0;
byte[] array2;
ulong num7;
Array.Copy(array2, num6, array, 4, (int)num7);
array[1] = (byte)num5;
if (num2 != 0)
{
num2 += 9;
}
if (num != 0)
{
}
int num8 = this._baseStream._stream.ReadByte();
VariableSizedBufferPool.Release(array);
return array.Length;
}
// Token: 0x040082E9 RID: 33513
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40082E9")]
public DateTime? LastModified;
// Token: 0x040082EA RID: 33514
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40082EA")]
private int _headerByteCount;
// Token: 0x040082EB RID: 33515
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40082EB")]
internal ZlibBaseStream _baseStream;
// Token: 0x040082EC RID: 33516
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40082EC")]
private bool _disposed;
// Token: 0x040082ED RID: 33517
[FieldOffset(Offset = "0x49")]
[Token(Token = "0x40082ED")]
private bool _firstReadDone;
// Token: 0x040082EE RID: 33518
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40082EE")]
private string _FileName;
// Token: 0x040082EF RID: 33519
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40082EF")]
private string _Comment;
// Token: 0x040082F0 RID: 33520
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40082F0")]
private int _Crc32;
// Token: 0x040082F1 RID: 33521
[Token(Token = "0x40082F1")]
internal static readonly DateTime _unixEpoch = 0;
// Token: 0x040082F2 RID: 33522
[Token(Token = "0x40082F2")]
internal static readonly Encoding iso8859dash1 = Encoding.GetEncoding("iso-8859-1");
}
}
@@ -0,0 +1,441 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA7 RID: 8103
[Token(Token = "0x2001FA7")]
internal sealed class InfTree
{
// Token: 0x0600CD8B RID: 52619 RVA: 0x002F20E4 File Offset: 0x002F02E4
[Token(Token = "0x600CD8B")]
[Address(RVA = "0x196E5E0", Offset = "0x196D3E0", VA = "0x18196E5E0")]
private int huft_build(int[] b, int bindex, int n, int s, int[] d, int[] e, int[] t, int[] m, int[] hp, int[] hn, int[] v)
{
int[] array;
do
{
array = this.c;
}
while (b[bindex] != array.Length);
int length = this.c.Length;
if ("{il2cpp array field local14->}" != n)
{
uint num;
if ("{il2cpp array field local14->}" == (ulong)0L)
{
num += (uint)1;
while (num <= (uint)15)
{
}
}
if ("{il2cpp array field local14->}" == (ulong)0L)
{
while ("{il2cpp array field local14->}" != (ulong)0L)
{
}
}
uint num2;
uint num3;
if (num < num2)
{
int[] array2 = this.c;
num += (uint)1;
num3 += num3;
}
this.c[0] = (int)num3;
int num4 = 0;
int[] array3 = this.x;
uint num5 = num2 - 1U;
array3[0] = num4;
if (num5 != (uint)0)
{
int[] array4 = this.c;
int[] array5 = this.x;
int num6;
num6 += num4;
array5[0] = num6;
while (1 != array5.Length)
{
}
}
int num7 = b[bindex];
if (num7 != 0)
{
int[] array6 = this.x;
int num8 = array6[num7] + 1;
array6[0] = num8;
}
int[] array7 = this.x;
int length2 = array7.Length;
int num9 = array7[(int)num2];
int num10 = 0;
int num11 = 0;
array7[0] = num10;
int[] array8 = this.u;
int num12 = 0;
array8[0] = num11;
int num13 = this.c[(int)num];
int num14 = num13 - 1;
if (num13 != 0)
{
int num15 = num14 + 1;
if (num > (uint)num13)
{
uint num16;
num16 += (uint)1;
num13 = num9;
uint num17;
num17 -= (uint)num14;
if (num9 < num15)
{
int num18 = num9 + 1;
num9 = num18;
if (num18 < num15)
{
int[] array9 = this.c;
num17 += num17;
num += (uint)1;
int num19 = array9[(int)num];
if (num17 > (uint)num19)
{
num18++;
num17 -= (uint)num19;
num9 = num18;
}
}
}
this.u[0] = num12;
if (num16 == (uint)0)
{
}
int[] array10 = this.x;
array10[0] = num10;
this.r[0] = array10;
this.r[0] = array10;
int[] array11 = this.u;
num13 -= (int)num;
int[] array12 = this.r;
num12 -= num10;
array12[1] = num12;
int num20 = this.u[(int)num16];
num20 += num10;
int[] array13 = this.r;
}
int[] array14 = this.r;
num -= (uint)num13;
array14[0] = (int)num;
if (num11 < num9)
{
int[] array15 = this.r;
num11++;
int num21;
num21 += 80;
array15[0] = array14;
int num22;
this.r[1] = num22;
int[] array16 = this.r;
num11++;
uint num23;
array16[0] = (int)num23;
this.r[1] = (int)num23;
}
int[] array17 = this.r;
num -= (uint)num13;
uint num24;
if (num10 < (int)num24)
{
int[] array18 = this.r;
uint num25;
num10 += (int)num25;
}
uint num26;
if (num10 != (int)num26)
{
while (num10 != (int)num26)
{
}
}
int[] array19 = this.x;
uint num27;
if (num27 != "{il2cpp array field local79->}")
{
num13 -= (int)num;
}
while (num14 != 0)
{
}
}
num += (uint)1;
while (num <= num2)
{
}
if (num2 != (uint)1)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600CD8C RID: 52620 RVA: 0x002F2400 File Offset: 0x002F0600
[Token(Token = "0x600CD8C")]
[Address(RVA = "0x196F1C0", Offset = "0x196DFC0", VA = "0x18196F1C0")]
internal int inflate_trees_bits(int[] c, int[] bb, int[] tb, int[] hp, ZlibCodec z)
{
this.initWorkArea(19);
int[] array = this.hn;
int num = 0;
array[0] = num;
int[] array2 = this.v;
int[] array3 = this.hn;
int num2;
if (num2 == -3 || num2 == -5 || "{il2cpp array field bb->}" == (ulong)0L)
{
}
return num2;
}
// Token: 0x0600CD8D RID: 52621 RVA: 0x002F2454 File Offset: 0x002F0654
[Token(Token = "0x600CD8D")]
[Address(RVA = "0x196F310", Offset = "0x196E110", VA = "0x18196F310")]
internal int inflate_trees_dynamic(int nl, int nd, int[] c, int[] bl, int[] bd, int[] tl, int[] td, int[] hp, ZlibCodec z)
{
this.initWorkArea(288);
int[] array = this.hn;
int num = 0;
array[0] = num;
int[] array2 = this.hn;
int[] array3 = InfTree.cplens;
int[] array4 = InfTree.cplext;
int[] array5 = this.v;
int num2;
if (num2 == 0)
{
this.initWorkArea(288);
int[] array6 = this.hn;
int[] array7 = InfTree.cpdist;
int[] array8 = InfTree.cpdext;
int[] array9 = this.v;
int num3;
if (num3 == 0)
{
}
if (num3 == -3 || num3 == -5 || num3 != -4)
{
}
return num3;
}
if (num2 != -3)
{
while (num2 == -4)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600CD8E RID: 52622 RVA: 0x002F24F4 File Offset: 0x002F06F4
[Token(Token = "0x600CD8E")]
[Address(RVA = "0x196F620", Offset = "0x196E420", VA = "0x18196F620")]
internal static int inflate_trees_fixed(int[] bl, int[] bd, int[][] tl, int[][] td, ZlibCodec z)
{
int[] array = InfTree.fixed_tl;
if (array != 0)
{
}
tl[0] = array;
int[] array2 = InfTree.fixed_td;
if (array2 != 0)
{
}
int num = 0;
td[0] = array2;
return num;
}
// Token: 0x0600CD8F RID: 52623 RVA: 0x002F2530 File Offset: 0x002F0730
[Token(Token = "0x600CD8F")]
[Address(RVA = "0x196F7B0", Offset = "0x196E5B0", VA = "0x18196F7B0")]
private void initWorkArea(int vsize)
{
if (this.cplens != (ulong)0L)
{
int[] array = this.v;
if (array.Length < vsize)
{
int[] array2 = new int[vsize];
this.v = array2;
}
int num = 0;
Array.Clear(array, num, vsize);
int[] array3 = this.c;
int num2 = 0;
Array.Clear(array3, num2, 16);
int[] array4 = this.r;
int num3 = 0;
array4[0] = num3;
this.r[0] = num3;
this.r[1] = num3;
int[] array5 = this.u;
int num4 = 0;
Array.Clear(array5, num4, 15);
int[] array6 = this.x;
int num5 = 0;
Array.Clear(array6, num5, 16);
return;
}
int[] array7 = new int[1];
this.hn = array7;
int[] array8 = new int[vsize];
this.v = array8;
int[] array9 = new int[16];
this.c = array9;
int[] array10 = new int[3];
this.r = array10;
int[] array11 = new int[15];
this.u = array11;
int[] array12 = new int[16];
this.x = array12;
}
// Token: 0x0600CD90 RID: 52624 RVA: 0x002F2650 File Offset: 0x002F0850
[Token(Token = "0x600CD90")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public InfTree()
{
}
// Token: 0x0600CD91 RID: 52625 RVA: 0x002F2664 File Offset: 0x002F0864
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CD91")]
[Address(RVA = "0x196E460", Offset = "0x196D260", VA = "0x18196E460")]
static InfTree()
{
int[] array = new int[1536];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A474A0BEC4E2CE8491839502AE85F6EA8504C6BD).FieldHandle);
InfTree.fixed_tl = array;
int[] array2 = new int[96];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.1B180C6E41F096D53222F5E8EF558B78182CA401).FieldHandle);
InfTree.fixed_td = array2;
int[] array3 = new int[31];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8ED8F61DAA454B49CD5059AE4486C59174324E9E).FieldHandle);
InfTree.cplens = array3;
int[] array4 = new int[31];
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.DACFCC5E985D9E113ABB74724C5D3CC4FDC4FB8A).FieldHandle);
InfTree.cplext = array4;
int[] array5 = new int[30];
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.D068832E6B13A623916709C1E0E25ADCBE7B455F).FieldHandle);
InfTree.cpdist = array5;
int[] array6 = new int[30];
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.79D521E6E3E55103005E9CC3FA43B3174FAF090F).FieldHandle);
InfTree.cpdext = array6;
}
// Token: 0x040082F3 RID: 33523
[Token(Token = "0x40082F3")]
private const int MANY = 1440;
// Token: 0x040082F4 RID: 33524
[Token(Token = "0x40082F4")]
private const int Z_OK = 0;
// Token: 0x040082F5 RID: 33525
[Token(Token = "0x40082F5")]
private const int Z_STREAM_END = 1;
// Token: 0x040082F6 RID: 33526
[Token(Token = "0x40082F6")]
private const int Z_NEED_DICT = 2;
// Token: 0x040082F7 RID: 33527
[Token(Token = "0x40082F7")]
private const int Z_ERRNO = -1;
// Token: 0x040082F8 RID: 33528
[Token(Token = "0x40082F8")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040082F9 RID: 33529
[Token(Token = "0x40082F9")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040082FA RID: 33530
[Token(Token = "0x40082FA")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040082FB RID: 33531
[Token(Token = "0x40082FB")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040082FC RID: 33532
[Token(Token = "0x40082FC")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040082FD RID: 33533
[Token(Token = "0x40082FD")]
internal const int fixed_bl = 9;
// Token: 0x040082FE RID: 33534
[Token(Token = "0x40082FE")]
internal const int fixed_bd = 5;
// Token: 0x040082FF RID: 33535
[Token(Token = "0x40082FF")]
internal static readonly int[] fixed_tl;
// Token: 0x04008300 RID: 33536
[Token(Token = "0x4008300")]
internal static readonly int[] fixed_td;
// Token: 0x04008301 RID: 33537
[Token(Token = "0x4008301")]
internal static readonly int[] cplens;
// Token: 0x04008302 RID: 33538
[Token(Token = "0x4008302")]
internal static readonly int[] cplext;
// Token: 0x04008303 RID: 33539
[Token(Token = "0x4008303")]
internal static readonly int[] cpdist;
// Token: 0x04008304 RID: 33540
[Token(Token = "0x4008304")]
internal static readonly int[] cpdext;
// Token: 0x04008305 RID: 33541
[Token(Token = "0x4008305")]
internal const int BMAX = 15;
// Token: 0x04008306 RID: 33542
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008306")]
internal int[] hn;
// Token: 0x04008307 RID: 33543
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008307")]
internal int[] v;
// Token: 0x04008308 RID: 33544
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008308")]
internal int[] c;
// Token: 0x04008309 RID: 33545
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008309")]
internal int[] r;
// Token: 0x0400830A RID: 33546
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400830A")]
internal int[] u;
// Token: 0x0400830B RID: 33547
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400830B")]
internal int[] x;
}
}
@@ -0,0 +1,352 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FA8 RID: 8104
[Token(Token = "0x2001FA8")]
internal sealed class InflateBlocks
{
// Token: 0x0600CD92 RID: 52626 RVA: 0x002F2710 File Offset: 0x002F0910
[Token(Token = "0x600CD92")]
[Address(RVA = "0x1971390", Offset = "0x1970190", VA = "0x181971390")]
internal InflateBlocks(ZlibCodec codec, object checkfn, int w)
{
int[] array = new int[1];
this.bb = array;
int[] array2 = new int[1];
this.tb = array2;
InflateCodes inflateCodes = new InflateCodes();
this.codes = inflateCodes;
InfTree infTree = new InfTree();
this.inftree = infTree;
base..ctor();
this._codec = codec;
int[] array3 = new int[4320];
this.hufts = array3;
byte[] array4 = VariableSizedBufferPool.Get((long)w, true);
this.window = array4;
this.end = w;
this.checkfn = checkfn;
this.mode = (InflateBlocks.InflateBlockMode)((ulong)0L);
uint num = this.Reset();
}
// Token: 0x0600CD93 RID: 52627 RVA: 0x002F27A4 File Offset: 0x002F09A4
[Token(Token = "0x600CD93")]
[Address(RVA = "0x1971220", Offset = "0x1970020", VA = "0x181971220")]
internal uint Reset()
{
uint num = this.check;
int num2 = 0;
this.mode = (InflateBlocks.InflateBlockMode)num2;
this.bitk = num2;
this.readAt = num2;
if (this.checkfn != num2)
{
ZlibCodec codec = this._codec;
this.check = (uint)((ulong)1L);
codec._Adler32 = (uint)((ulong)1L);
}
return num;
}
// Token: 0x0600CD94 RID: 52628 RVA: 0x002F27F8 File Offset: 0x002F09F8
[Token(Token = "0x600CD94")]
[Address(RVA = "0x196FBA0", Offset = "0x196E9A0", VA = "0x18196FBA0")]
internal int Process(int r)
{
/*
An exception occurred when decompiling this method (0600CD94)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateBlocks::Process(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_B98:
stloc:ZlibCodec(var_179_B9E, ldfld:ZlibCodec(InflateBlocks::_codec, ldloc:InflateBlocks(this)))
stfld:int32(InflateBlocks::bitb, ldloc:InflateBlocks(this), ldc.i4:int32(0))
stfld:int32(InflateBlocks::bitk, ldloc:InflateBlocks(this), ldc.i4:int32(0))
stfld:int32(ZlibCodec::AvailableBytesIn, ldloc:ZlibCodec(var_179_B9E), ldc.i4:int32(0))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD95 RID: 52629 RVA: 0x002F33BC File Offset: 0x002F15BC
[Token(Token = "0x600CD95")]
[Address(RVA = "0x196FB20", Offset = "0x196E920", VA = "0x18196FB20")]
internal void Free()
{
uint num = this.Reset();
VariableSizedBufferPool.Release(this.window);
int num2 = 0;
this.window = num2;
this.hufts = num2;
}
// Token: 0x0600CD96 RID: 52630 RVA: 0x002F33EC File Offset: 0x002F15EC
[Token(Token = "0x600CD96")]
[Address(RVA = "0x19712E0", Offset = "0x19700E0", VA = "0x1819712E0")]
internal void SetDictionary(byte[] d, int start, int n)
{
byte[] array = this.window;
int num = 0;
Array.Copy(d, start, array, num, n);
this.writeAt = n;
this.readAt = n;
}
// Token: 0x0600CD97 RID: 52631 RVA: 0x002F341C File Offset: 0x002F161C
[Token(Token = "0x600CD97")]
[Address(RVA = "0x18E13F0", Offset = "0x18E01F0", VA = "0x1818E13F0")]
internal int SyncPoint()
{
/*
An exception occurred when decompiling this method (0600CD97)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateBlocks::SyncPoint()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:bool(var_0_09, ceq:bool(ldfld:InflateBlockMode(InflateBlocks::mode, ldloc:InflateBlocks(this)), ldc.i4:InflateBlockMode(1)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD98 RID: 52632 RVA: 0x002F3434 File Offset: 0x002F1634
[Token(Token = "0x600CD98")]
[Address(RVA = "0x196F970", Offset = "0x196E770", VA = "0x18196F970")]
internal int Flush(int r)
{
int num = this.readAt;
int num2 = 0;
int num3 = this.writeAt;
if (num2 != 0 || num > num3)
{
}
num3 -= num;
if (num3 != 0)
{
ZlibCodec codec = this._codec;
int num4 = codec.AvailableBytesOut;
if (num3 > num4)
{
num3 = num4;
}
if (num3 != 0)
{
}
num4 -= num3;
codec.AvailableBytesOut = num4;
ZlibCodec codec2 = this._codec;
if (this.checkfn != num2)
{
int num5 = this.readAt;
ZlibCodec codec3 = this._codec;
uint num6 = this.check;
byte[] array = this.window;
uint num7 = Adler.Adler32(num6, array, num5, num3);
this.check = num7;
codec3._Adler32 = num7;
}
ZlibCodec codec4 = this._codec;
int nextOut = codec4.NextOut;
byte[] outputBuffer = codec4.OutputBuffer;
int num8 = this.readAt;
Array.Copy(this.window, num8, outputBuffer, nextOut, num3);
ZlibCodec codec5 = this._codec;
int num9 = this.readAt;
int num10 = this.end;
num9 += num3;
this.readAt = num9;
if (num9 == num10 && num2 == 0)
{
this.readAt = num2;
if (this.writeAt != num10)
{
goto IL_11C;
}
this.writeAt = num2;
}
num2++;
IL_11C:
num2++;
}
return num2;
}
// Token: 0x0600CD99 RID: 52633 RVA: 0x002F3568 File Offset: 0x002F1768
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CD99")]
[Address(RVA = "0x1971330", Offset = "0x1970130", VA = "0x181971330")]
static InflateBlocks()
{
int[] array = new int[19];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.1FDC8DB567F5AAA7068D0D2A601CD71657CBDF38).FieldHandle);
InflateBlocks.border = array;
}
// Token: 0x0400830C RID: 33548
[Token(Token = "0x400830C")]
private const int MANY = 1440;
// Token: 0x0400830D RID: 33549
[Token(Token = "0x400830D")]
internal static readonly int[] border;
// Token: 0x0400830E RID: 33550
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400830E")]
private InflateBlocks.InflateBlockMode mode;
// Token: 0x0400830F RID: 33551
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400830F")]
internal int left;
// Token: 0x04008310 RID: 33552
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008310")]
internal int table;
// Token: 0x04008311 RID: 33553
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4008311")]
internal int index;
// Token: 0x04008312 RID: 33554
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008312")]
internal int[] blens;
// Token: 0x04008313 RID: 33555
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008313")]
internal int[] bb;
// Token: 0x04008314 RID: 33556
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008314")]
internal int[] tb;
// Token: 0x04008315 RID: 33557
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008315")]
internal InflateCodes codes;
// Token: 0x04008316 RID: 33558
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008316")]
internal int last;
// Token: 0x04008317 RID: 33559
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008317")]
internal ZlibCodec _codec;
// Token: 0x04008318 RID: 33560
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4008318")]
internal int bitk;
// Token: 0x04008319 RID: 33561
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4008319")]
internal int bitb;
// Token: 0x0400831A RID: 33562
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400831A")]
internal int[] hufts;
// Token: 0x0400831B RID: 33563
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400831B")]
internal byte[] window;
// Token: 0x0400831C RID: 33564
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400831C")]
internal int end;
// Token: 0x0400831D RID: 33565
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x400831D")]
internal int readAt;
// Token: 0x0400831E RID: 33566
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400831E")]
internal int writeAt;
// Token: 0x0400831F RID: 33567
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400831F")]
internal object checkfn;
// Token: 0x04008320 RID: 33568
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4008320")]
internal uint check;
// Token: 0x04008321 RID: 33569
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4008321")]
internal InfTree inftree;
// Token: 0x02001FA9 RID: 8105
[Token(Token = "0x2001FA9")]
private enum InflateBlockMode
{
// Token: 0x04008323 RID: 33571
[Token(Token = "0x4008323")]
TYPE,
// Token: 0x04008324 RID: 33572
[Token(Token = "0x4008324")]
LENS,
// Token: 0x04008325 RID: 33573
[Token(Token = "0x4008325")]
STORED,
// Token: 0x04008326 RID: 33574
[Token(Token = "0x4008326")]
TABLE,
// Token: 0x04008327 RID: 33575
[Token(Token = "0x4008327")]
BTREE,
// Token: 0x04008328 RID: 33576
[Token(Token = "0x4008328")]
DTREE,
// Token: 0x04008329 RID: 33577
[Token(Token = "0x4008329")]
CODES,
// Token: 0x0400832A RID: 33578
[Token(Token = "0x400832A")]
DRY,
// Token: 0x0400832B RID: 33579
[Token(Token = "0x400832B")]
DONE,
// Token: 0x0400832C RID: 33580
[Token(Token = "0x400832C")]
BAD
}
}
}
@@ -0,0 +1,431 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FAB RID: 8107
[Token(Token = "0x2001FAB")]
internal sealed class InflateCodes
{
// Token: 0x0600CD9B RID: 52635 RVA: 0x002F35B0 File Offset: 0x002F17B0
[Token(Token = "0x600CD9B")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
internal InflateCodes()
{
}
// Token: 0x0600CD9C RID: 52636 RVA: 0x002F35C4 File Offset: 0x002F17C4
[Token(Token = "0x600CD9C")]
[Address(RVA = "0x18E2030", Offset = "0x18E0E30", VA = "0x1818E2030")]
internal void Init(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index)
{
int num = 0;
this.ltree_index = 0;
this.dtree = 0;
this.dtree_index = 0;
this.mode = num;
this.lbits = (byte)bl;
this.dbits = (byte)bd;
this.ltree = tl;
this.tree = num;
}
// Token: 0x0600CD9D RID: 52637 RVA: 0x002F360C File Offset: 0x002F180C
[Token(Token = "0x600CD9D")]
[Address(RVA = "0x1972090", Offset = "0x1970E90", VA = "0x181972090")]
internal int Process(InflateBlocks blocks, int r)
{
ZlibCodec codec = blocks._codec;
int writeAt = blocks.writeAt;
int num = blocks.readAt;
int bitb = blocks.bitb;
int nextIn = codec.NextIn;
int availableBytesIn = codec.AvailableBytesIn;
int bitk = blocks.bitk;
if (writeAt < num)
{
num -= writeAt;
}
int num2 = blocks.end;
num2 -= writeAt;
blocks.bitb = bitb;
blocks.bitk = bitk;
codec.AvailableBytesIn = availableBytesIn;
codec.NextIn = nextIn;
blocks.writeAt = writeAt;
int writeAt2 = blocks.writeAt;
int num3 = blocks.readAt;
int bitb2 = blocks.bitb;
int num4 = codec.NextIn;
int availableBytesIn2 = codec.AvailableBytesIn;
int num5 = blocks.bitk;
if (writeAt2 < num3)
{
num3 -= writeAt2;
}
int num6 = blocks.end;
num6 -= writeAt2;
int num7;
if (num7 != 0)
{
}
uint num8;
if (num5 < (int)num8)
{
if (availableBytesIn2 == 0)
{
goto IL_31B;
}
byte[] inputBuffer = codec.InputBuffer;
num4++;
num5 += 8;
}
uint num9;
int num10;
if (num5 < (int)num9)
{
if (availableBytesIn2 == 0)
{
goto IL_31B;
}
num10 = 0;
byte[] inputBuffer2 = codec.InputBuffer;
num4++;
num5 += 8;
}
num5 -= (int)num9;
if (num5 < (int)num9)
{
if (availableBytesIn2 == 0)
{
goto IL_349;
}
byte[] inputBuffer3 = codec.InputBuffer;
num4++;
num5 += 8;
}
num5 -= num10;
uint num11;
int num12;
if (num5 < (int)num11)
{
if (availableBytesIn2 == 0)
{
goto IL_31B;
}
num12 = 0;
byte[] inputBuffer4 = codec.InputBuffer;
num4++;
num5 += 8;
}
num5 -= (int)num11;
int num14;
int num15;
int num16;
if (num6 == 0)
{
int num13 = blocks.end;
if (writeAt2 == num13)
{
int readAt = blocks.readAt;
if (readAt != 0)
{
if (readAt > 0)
{
}
if (num13 != 0)
{
goto IL_203;
}
}
}
blocks.writeAt = writeAt2;
num14 = blocks.Flush(num12);
int writeAt3 = blocks.writeAt;
int end = blocks.end;
int readAt2 = blocks.readAt;
if (writeAt3 < readAt2)
{
num13 = readAt2;
num13 -= writeAt3;
}
num13 -= writeAt3;
if (writeAt3 == end && readAt2 != 0)
{
num15 = 0;
num16 = readAt2 - 1;
if (readAt2 <= 0)
{
}
}
if (num16 == 0)
{
goto IL_358;
}
}
IL_203:
byte[] window = blocks.window;
int num17 = writeAt2 + 1;
num15++;
int length = window.Length;
int end2 = blocks.end;
int i;
if (num16 == 0)
{
int end3 = blocks.end;
int num18;
if (num15 == end3)
{
int readAt3 = blocks.readAt;
if (readAt3 != 0)
{
num18 = 0;
int num19;
if (readAt3 > 0)
{
num19 = readAt3 - 1;
}
if (num19 != 0)
{
goto IL_2D0;
}
}
}
blocks.writeAt = num18;
int num20 = blocks.Flush(num14);
int readAt4 = blocks.readAt;
num14 = num20;
int writeAt4 = blocks.writeAt;
if (writeAt4 < readAt4)
{
int num19 = readAt4;
num19 -= writeAt4;
}
int num21 = blocks.end;
num21 -= writeAt4;
int end4 = blocks.end;
int num22;
if (writeAt4 == end4 && readAt4 != 0)
{
i = 0;
num22 = readAt4 - 1;
num22 = end4;
}
if (num22 == 0)
{
goto IL_36E;
}
}
IL_2D0:
byte[] window2 = blocks.window;
int num23 = 0;
i++;
while (i <= 9)
{
}
blocks.bitb = bitb2;
blocks.bitk = num5;
codec.AvailableBytesIn = availableBytesIn2;
int num24 = 0;
codec.NextIn = num4;
blocks.writeAt = i;
return blocks.Flush(-2);
IL_31B:
blocks.bitb = num24;
blocks.bitk = 0;
blocks.writeAt = 0;
blocks.bitb = 0;
blocks.bitk = 0;
int num25 = 0;
blocks.writeAt = 0;
IL_349:
blocks.bitb = num25;
blocks.bitk = 0;
IL_358:
blocks.bitb = bitb2;
blocks.bitk = 0;
blocks.writeAt = 0;
IL_36E:
blocks.bitb = bitb2;
blocks.bitk = 0;
blocks.writeAt = 0;
blocks.writeAt = 0;
int num26 = blocks.Flush(num23);
int writeAt5 = blocks.writeAt;
while (blocks.readAt != writeAt5)
{
}
blocks.bitb = bitb2;
blocks.bitk = 0;
int num27 = 0;
blocks.writeAt = writeAt5;
blocks.bitb = num27;
throw new NullReferenceException();
}
// Token: 0x0600CD9E RID: 52638 RVA: 0x002F39E8 File Offset: 0x002F1BE8
[Token(Token = "0x600CD9E")]
[Address(RVA = "0x19714C0", Offset = "0x19702C0", VA = "0x1819714C0")]
internal int InflateFast(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index, InflateBlocks s, ZlibCodec z)
{
int num6;
if (bl != 0)
{
int num = bd + 1;
if (bl == 16)
{
if (bl != 64)
{
goto IL_67;
}
while (bl != 0)
{
}
int num2 = bd + 1;
}
int num3 = bd + 1;
if (bl == 16 && bl != 64)
{
goto IL_73;
}
int num4 = bd - 1;
while (num4 != 0)
{
}
int num5 = 0;
num6 = 0;
if (num5 != 1)
{
num6 += 2;
num4 -= num6;
if (num4 > 0)
{
num6++;
while (num4 != 0)
{
}
}
}
Array.Copy(num6, num6, num6, 1, num4);
}
IL_67:
if (num6 == 32)
{
}
uint num7;
num7 -= tl;
IL_73:
throw new NullReferenceException();
}
// Token: 0x0400832E RID: 33582
[Token(Token = "0x400832E")]
private const int START = 0;
// Token: 0x0400832F RID: 33583
[Token(Token = "0x400832F")]
private const int LEN = 1;
// Token: 0x04008330 RID: 33584
[Token(Token = "0x4008330")]
private const int LENEXT = 2;
// Token: 0x04008331 RID: 33585
[Token(Token = "0x4008331")]
private const int DIST = 3;
// Token: 0x04008332 RID: 33586
[Token(Token = "0x4008332")]
private const int DISTEXT = 4;
// Token: 0x04008333 RID: 33587
[Token(Token = "0x4008333")]
private const int COPY = 5;
// Token: 0x04008334 RID: 33588
[Token(Token = "0x4008334")]
private const int LIT = 6;
// Token: 0x04008335 RID: 33589
[Token(Token = "0x4008335")]
private const int WASH = 7;
// Token: 0x04008336 RID: 33590
[Token(Token = "0x4008336")]
private const int END = 8;
// Token: 0x04008337 RID: 33591
[Token(Token = "0x4008337")]
private const int BADCODE = 9;
// Token: 0x04008338 RID: 33592
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008338")]
internal int mode;
// Token: 0x04008339 RID: 33593
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4008339")]
internal int len;
// Token: 0x0400833A RID: 33594
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400833A")]
internal int[] tree;
// Token: 0x0400833B RID: 33595
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400833B")]
internal int tree_index;
// Token: 0x0400833C RID: 33596
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x400833C")]
internal int need;
// Token: 0x0400833D RID: 33597
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400833D")]
internal int lit;
// Token: 0x0400833E RID: 33598
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400833E")]
internal int bitsToGet;
// Token: 0x0400833F RID: 33599
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400833F")]
internal int dist;
// Token: 0x04008340 RID: 33600
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4008340")]
internal byte lbits;
// Token: 0x04008341 RID: 33601
[FieldOffset(Offset = "0x35")]
[Token(Token = "0x4008341")]
internal byte dbits;
// Token: 0x04008342 RID: 33602
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008342")]
internal int[] ltree;
// Token: 0x04008343 RID: 33603
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008343")]
internal int ltree_index;
// Token: 0x04008344 RID: 33604
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008344")]
internal int[] dtree;
// Token: 0x04008345 RID: 33605
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4008345")]
internal int dtree_index;
}
}
@@ -0,0 +1,358 @@
using System;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FAC RID: 8108
[Token(Token = "0x2001FAC")]
internal sealed class InflateManager
{
// Token: 0x170020B7 RID: 8375
// (get) Token: 0x0600CD9F RID: 52639 RVA: 0x002F3A70 File Offset: 0x002F1C70
// (set) Token: 0x0600CDA0 RID: 52640 RVA: 0x002F3A84 File Offset: 0x002F1C84
[Token(Token = "0x170020B7")]
internal bool HandleRfc1950HeaderBytes
{
[Token(Token = "0x600CD9F")]
[Address(RVA = "0x4364F0", Offset = "0x4352F0", VA = "0x1804364F0")]
get
{
return this._handleRfc1950HeaderBytes;
}
[Token(Token = "0x600CDA0")]
[Address(RVA = "0x436790", Offset = "0x435590", VA = "0x180436790")]
set
{
this._handleRfc1950HeaderBytes = value;
}
}
// Token: 0x0600CDA1 RID: 52641 RVA: 0x002F3A98 File Offset: 0x002F1C98
[Token(Token = "0x600CDA1")]
[Address(RVA = "0x106D240", Offset = "0x106C040", VA = "0x18106D240")]
public InflateManager()
{
}
// Token: 0x0600CDA2 RID: 52642 RVA: 0x002F3AB4 File Offset: 0x002F1CB4
[Token(Token = "0x600CDA2")]
[Address(RVA = "0x1973E60", Offset = "0x1972C60", VA = "0x181973E60")]
public InflateManager(bool expectRfc1950HeaderBytes)
{
this._handleRfc1950HeaderBytes = expectRfc1950HeaderBytes;
}
// Token: 0x0600CDA3 RID: 52643 RVA: 0x002F3AD8 File Offset: 0x002F1CD8
[Token(Token = "0x600CDA3")]
[Address(RVA = "0x1973950", Offset = "0x1972750", VA = "0x181973950")]
internal int Reset()
{
ZlibCodec codec = this._codec;
int num = 0;
codec.TotalBytesOut = (long)num;
codec.TotalBytesIn = (long)num;
this._codec.Message = num;
this.mode = (InflateManager.InflateManagerMode)((uint)7);
uint num2 = this.blocks.Reset();
return 0;
}
// Token: 0x0600CDA4 RID: 52644 RVA: 0x002F3B24 File Offset: 0x002F1D24
[Token(Token = "0x600CDA4")]
[Address(RVA = "0x1972D60", Offset = "0x1971B60", VA = "0x181972D60")]
internal int End()
{
InflateBlocks inflateBlocks = this.blocks;
if (inflateBlocks != 0)
{
uint num = inflateBlocks.Reset();
VariableSizedBufferPool.Release(inflateBlocks.window);
int num2 = 0;
inflateBlocks.window = num2;
inflateBlocks.hufts = num2;
this.blocks = num2;
return num2;
}
int num3 = 0;
this.blocks = num3;
return num3;
}
// Token: 0x0600CDA5 RID: 52645 RVA: 0x002F3B74 File Offset: 0x002F1D74
[Token(Token = "0x600CDA5")]
[Address(RVA = "0x1973730", Offset = "0x1972530", VA = "0x181973730")]
internal int Initialize(ZlibCodec codec, int w)
{
this._codec = codec;
int num = 0;
codec.Message = num;
this.blocks = num;
this.wbits = w;
int[] array = new int[1];
InflateBlocks inflateBlocks;
inflateBlocks.bb = array;
int[] array2 = new int[1];
inflateBlocks.tb = array2;
InflateCodes inflateCodes = new InflateCodes();
inflateBlocks.codes = inflateCodes;
InfTree infTree = new InfTree();
inflateBlocks.inftree = infTree;
inflateBlocks._codec = codec;
int[] array3 = new int[4320];
inflateBlocks.hufts = array3;
byte[] array4;
inflateBlocks.window = array4;
inflateBlocks.checkfn = num;
inflateBlocks.mode = (InflateBlocks.InflateBlockMode)num;
uint num2 = inflateBlocks.Reset();
this.blocks = inflateBlocks;
ZlibCodec codec2 = this._codec;
codec2.TotalBytesOut = (long)num;
codec2.TotalBytesIn = (long)num;
this._codec.Message = num;
this.mode = (InflateManager.InflateManagerMode)((uint)7);
uint num3 = this.blocks.Reset();
return 0;
}
// Token: 0x0600CDA6 RID: 52646 RVA: 0x002F3C70 File Offset: 0x002F1E70
[Token(Token = "0x600CDA6")]
[Address(RVA = "0x1972E00", Offset = "0x1971C00", VA = "0x181972E00")]
internal int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600CDA6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateManager::Inflate(BestHTTP.Decompression.Zlib.FlushType)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_5BD:
stloc:ZlibException(var_104_5C7, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Stream error.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDA7 RID: 52647 RVA: 0x002F4248 File Offset: 0x002F2448
[Token(Token = "0x600CDA7")]
[Address(RVA = "0x19739A0", Offset = "0x19727A0", VA = "0x1819739A0")]
internal int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600CDA7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateManager::SetDictionary(System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_9A:
stloc:ZlibException(var_14_A4, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Stream error.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDA8 RID: 52648 RVA: 0x002F42FC File Offset: 0x002F24FC
[Token(Token = "0x600CDA8")]
[Address(RVA = "0x1973B60", Offset = "0x1972960", VA = "0x181973B60")]
internal int Sync()
{
int num = 0;
if (this.mode != InflateManager.InflateManagerMode.BAD)
{
this.mode = (InflateManager.InflateManagerMode)((ulong)13L);
this.marker = num;
}
ZlibCodec codec = this._codec;
int availableBytesIn = codec.AvailableBytesIn;
if (availableBytesIn != 0)
{
int num2 = codec.NextIn;
int num3 = this.marker;
if (num3 < 4)
{
byte b = this._codec.InputBuffer[num2];
byte[] array = InflateManager.mark;
byte[] inputBuffer = this._codec.InputBuffer;
if ("{il2cpp array field local11->}" == num)
{
uint num4;
num4 -= (uint)num3;
}
num++;
num2++;
while ("{il2cpp array field local11->}" != num)
{
}
}
ZlibCodec codec2 = this._codec;
this._codec.NextIn = num2;
this._codec.AvailableBytesIn = availableBytesIn;
this.marker = num;
if (num == 4)
{
ZlibCodec codec3 = this._codec;
long totalBytesIn = codec3.TotalBytesIn;
long totalBytesOut = codec3.TotalBytesOut;
codec3.TotalBytesOut = (long)num;
codec3.TotalBytesIn = (long)num;
this._codec.Message = num;
uint num5;
this.mode = (InflateManager.InflateManagerMode)num5;
uint num6 = this.blocks.Reset();
this._codec.TotalBytesIn = totalBytesIn;
this._codec.TotalBytesOut = totalBytesOut;
int num7 = 0;
this.mode = (InflateManager.InflateManagerMode)num5;
return num7;
}
}
throw new NullReferenceException();
}
// Token: 0x0600CDA9 RID: 52649 RVA: 0x002F4438 File Offset: 0x002F2638
[Token(Token = "0x600CDA9")]
[Address(RVA = "0x1973B30", Offset = "0x1972930", VA = "0x181973B30")]
internal int SyncPoint(ZlibCodec z)
{
bool flag = this.blocks.mode == InflateBlocks.InflateBlockMode.LENS;
throw new NullReferenceException();
}
// Token: 0x0600CDAA RID: 52650 RVA: 0x002F445C File Offset: 0x002F265C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CDAA")]
[Address(RVA = "0x1973DD0", Offset = "0x1972BD0", VA = "0x181973DD0")]
static InflateManager()
{
byte[] array = new byte[4];
array[0] = (byte)((ulong)255L);
array[0] = (byte)((ulong)255L);
InflateManager.mark = array;
}
// Token: 0x04008346 RID: 33606
[Token(Token = "0x4008346")]
private const int PRESET_DICT = 32;
// Token: 0x04008347 RID: 33607
[Token(Token = "0x4008347")]
private const int Z_DEFLATED = 8;
// Token: 0x04008348 RID: 33608
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008348")]
private InflateManager.InflateManagerMode mode;
// Token: 0x04008349 RID: 33609
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008349")]
internal ZlibCodec _codec;
// Token: 0x0400834A RID: 33610
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400834A")]
internal int method;
// Token: 0x0400834B RID: 33611
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x400834B")]
internal uint computedCheck;
// Token: 0x0400834C RID: 33612
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400834C")]
internal uint expectedCheck;
// Token: 0x0400834D RID: 33613
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400834D")]
internal int marker;
// Token: 0x0400834E RID: 33614
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400834E")]
private bool _handleRfc1950HeaderBytes = true;
// Token: 0x0400834F RID: 33615
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x400834F")]
internal int wbits;
// Token: 0x04008350 RID: 33616
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008350")]
internal InflateBlocks blocks;
// Token: 0x04008351 RID: 33617
[Token(Token = "0x4008351")]
private static readonly byte[] mark;
// Token: 0x02001FAD RID: 8109
[Token(Token = "0x2001FAD")]
private enum InflateManagerMode
{
// Token: 0x04008353 RID: 33619
[Token(Token = "0x4008353")]
METHOD,
// Token: 0x04008354 RID: 33620
[Token(Token = "0x4008354")]
FLAG,
// Token: 0x04008355 RID: 33621
[Token(Token = "0x4008355")]
DICT4,
// Token: 0x04008356 RID: 33622
[Token(Token = "0x4008356")]
DICT3,
// Token: 0x04008357 RID: 33623
[Token(Token = "0x4008357")]
DICT2,
// Token: 0x04008358 RID: 33624
[Token(Token = "0x4008358")]
DICT1,
// Token: 0x04008359 RID: 33625
[Token(Token = "0x4008359")]
DICT0,
// Token: 0x0400835A RID: 33626
[Token(Token = "0x400835A")]
BLOCKS,
// Token: 0x0400835B RID: 33627
[Token(Token = "0x400835B")]
CHECK4,
// Token: 0x0400835C RID: 33628
[Token(Token = "0x400835C")]
CHECK3,
// Token: 0x0400835D RID: 33629
[Token(Token = "0x400835D")]
CHECK2,
// Token: 0x0400835E RID: 33630
[Token(Token = "0x400835E")]
CHECK1,
// Token: 0x0400835F RID: 33631
[Token(Token = "0x400835F")]
DONE,
// Token: 0x04008360 RID: 33632
[Token(Token = "0x4008360")]
BAD
}
}
}
@@ -0,0 +1,63 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB5 RID: 8117
[Token(Token = "0x2001FB5")]
internal static class InternalConstants
{
// Token: 0x0600CDB9 RID: 52665 RVA: 0x002F4B40 File Offset: 0x002F2D40
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CDB9")]
[Address(RVA = "0x1973E90", Offset = "0x1972C90", VA = "0x181973E90")]
static InternalConstants()
{
int num = InternalConstants.LITERALS;
int num2 = InternalConstants.LENGTH_CODES;
num++;
num2 += num;
InternalConstants.L_CODES = num2;
}
// Token: 0x0400838A RID: 33674
[Token(Token = "0x400838A")]
internal static readonly int MAX_BITS;
// Token: 0x0400838B RID: 33675
[Token(Token = "0x400838B")]
internal static readonly int BL_CODES;
// Token: 0x0400838C RID: 33676
[Token(Token = "0x400838C")]
internal static readonly int D_CODES;
// Token: 0x0400838D RID: 33677
[Token(Token = "0x400838D")]
internal static readonly int LITERALS;
// Token: 0x0400838E RID: 33678
[Token(Token = "0x400838E")]
internal static readonly int LENGTH_CODES;
// Token: 0x0400838F RID: 33679
[Token(Token = "0x400838F")]
internal static readonly int L_CODES;
// Token: 0x04008390 RID: 33680
[Token(Token = "0x4008390")]
internal static readonly int MAX_BL_BITS;
// Token: 0x04008391 RID: 33681
[Token(Token = "0x4008391")]
internal static readonly int REP_3_6;
// Token: 0x04008392 RID: 33682
[Token(Token = "0x4008392")]
internal static readonly int REPZ_3_10;
// Token: 0x04008393 RID: 33683
[Token(Token = "0x4008393")]
internal static readonly int REPZ_11_138;
}
}
@@ -0,0 +1,24 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FAA RID: 8106
[Token(Token = "0x2001FAA")]
internal static class InternalInflateConstants
{
// Token: 0x0600CD9A RID: 52634 RVA: 0x002F3590 File Offset: 0x002F1790
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CD9A")]
[Address(RVA = "0x1973F90", Offset = "0x1972D90", VA = "0x181973F90")]
static InternalInflateConstants()
{
RuntimeHelpers.InitializeArray(new int[17], fieldof(<PrivateImplementationDetails>.F584B6C7CCA3CD4ECC3B9B1E20D2F2EFB73DBBDF).FieldHandle);
}
// Token: 0x0400832D RID: 33581
[Token(Token = "0x400832D")]
internal static readonly int[] InflateMask;
}
}
@@ -0,0 +1,66 @@
using System;
using System.IO;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB4 RID: 8116
[Token(Token = "0x2001FB4")]
internal class SharedUtils
{
// Token: 0x0600CDB4 RID: 52660 RVA: 0x002F4AA8 File Offset: 0x002F2CA8
[Token(Token = "0x600CDB4")]
[Address(RVA = "0x1974140", Offset = "0x1972F40", VA = "0x181974140")]
public static int URShift(int number, int bits)
{
return number;
}
// Token: 0x0600CDB5 RID: 52661 RVA: 0x002F4AB8 File Offset: 0x002F2CB8
[Token(Token = "0x600CDB5")]
[Address(RVA = "0x1973FF0", Offset = "0x1972DF0", VA = "0x181973FF0")]
public static int ReadInput(TextReader sourceTextReader, byte[] target, int start, int count)
{
int length = target.Length;
if (length != 0)
{
char[] array = new char[length];
if (sourceTextReader.Read() != 0)
{
if (start < array)
{
char c = array[start];
}
return start;
}
}
throw new NullReferenceException();
}
// Token: 0x0600CDB6 RID: 52662 RVA: 0x002F4AF4 File Offset: 0x002F2CF4
[Token(Token = "0x600CDB6")]
[Address(RVA = "0x18E7E50", Offset = "0x18E6C50", VA = "0x1818E7E50")]
internal static byte[] ToByteArray(string sourceString)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600CDB7 RID: 52663 RVA: 0x002F4B10 File Offset: 0x002F2D10
[Token(Token = "0x600CDB7")]
[Address(RVA = "0x1974100", Offset = "0x1972F00", VA = "0x181974100")]
internal static char[] ToCharArray(byte[] byteArray)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600CDB8 RID: 52664 RVA: 0x002F4B2C File Offset: 0x002F2D2C
[Token(Token = "0x600CDB8")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public SharedUtils()
{
}
}
}
@@ -0,0 +1,116 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB6 RID: 8118
[Token(Token = "0x2001FB6")]
internal sealed class StaticTree
{
// Token: 0x0600CDBA RID: 52666 RVA: 0x002F4B68 File Offset: 0x002F2D68
[Token(Token = "0x600CDBA")]
[Address(RVA = "0x1625C10", Offset = "0x1624A10", VA = "0x181625C10")]
private StaticTree(short[] treeCodes, int[] extraBits, int extraBase, int elems, int maxLength)
{
this.elems = 0;
this.treeCodes = treeCodes;
this.extraBase = extraBase;
this.maxLength = 0;
this.extraBits = extraBits;
}
// Token: 0x0600CDBB RID: 52667 RVA: 0x002F4BA0 File Offset: 0x002F2DA0
[Token(Token = "0x600CDBB")]
[Address(RVA = "0x1974150", Offset = "0x1972F50", VA = "0x181974150")]
static StaticTree()
{
short[] array = new short[576];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.EB6F545AEF284339D25594F900E7A395212460EB).FieldHandle);
StaticTree.lengthAndLiteralsTreeCodes = array;
short[] array2 = new short[60];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.850D4DC092689E1F0D8A70B6281848B27DEC0014).FieldHandle);
StaticTree.distTreeCodes = array2;
short[] array3 = StaticTree.lengthAndLiteralsTreeCodes;
int[] extraLengthBits = ZTree.ExtraLengthBits;
int literals = InternalConstants.LITERALS;
int l_CODES = InternalConstants.L_CODES;
int max_BITS = InternalConstants.MAX_BITS;
StaticTree staticTree;
staticTree.treeCodes = array3;
int num = literals + 1;
staticTree.extraBase = num;
staticTree.extraBits = extraLengthBits;
staticTree.elems = l_CODES;
staticTree.maxLength = max_BITS;
StaticTree.Literals = staticTree;
short[] array4 = StaticTree.distTreeCodes;
int[] extraDistanceBits = ZTree.ExtraDistanceBits;
int d_CODES = InternalConstants.D_CODES;
int max_BITS2 = InternalConstants.MAX_BITS;
StaticTree staticTree2;
staticTree2.treeCodes = array4;
int num2 = 0;
staticTree2.extraBase = num2;
staticTree2.extraBits = extraDistanceBits;
staticTree2.elems = d_CODES;
staticTree2.maxLength = max_BITS2;
StaticTree.Distances = staticTree2;
int[] extra_blbits = ZTree.extra_blbits;
int bl_CODES = InternalConstants.BL_CODES;
int max_BL_BITS = InternalConstants.MAX_BL_BITS;
StaticTree staticTree3;
staticTree3.extraBits = extra_blbits;
staticTree3.elems = bl_CODES;
staticTree3.treeCodes = num2;
staticTree3.extraBase = num2;
staticTree3.maxLength = max_BL_BITS;
StaticTree.BitLengths = staticTree3;
}
// Token: 0x04008394 RID: 33684
[Token(Token = "0x4008394")]
internal static readonly short[] lengthAndLiteralsTreeCodes;
// Token: 0x04008395 RID: 33685
[Token(Token = "0x4008395")]
internal static readonly short[] distTreeCodes;
// Token: 0x04008396 RID: 33686
[Token(Token = "0x4008396")]
internal static readonly StaticTree Literals;
// Token: 0x04008397 RID: 33687
[Token(Token = "0x4008397")]
internal static readonly StaticTree Distances;
// Token: 0x04008398 RID: 33688
[Token(Token = "0x4008398")]
internal static readonly StaticTree BitLengths;
// Token: 0x04008399 RID: 33689
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008399")]
internal short[] treeCodes;
// Token: 0x0400839A RID: 33690
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400839A")]
internal int[] extraBits;
// Token: 0x0400839B RID: 33691
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400839B")]
internal int extraBase;
// Token: 0x0400839C RID: 33692
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x400839C")]
internal int elems;
// Token: 0x0400839D RID: 33693
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400839D")]
internal int maxLength;
}
}
@@ -0,0 +1,347 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FAE RID: 8110
[Token(Token = "0x2001FAE")]
internal sealed class ZTree
{
// Token: 0x0600CDAB RID: 52651 RVA: 0x002F4498 File Offset: 0x002F2698
[Token(Token = "0x600CDAB")]
[Address(RVA = "0x1974E30", Offset = "0x1973C30", VA = "0x181974E30")]
internal static int DistanceCode(int dist)
{
if (dist < 256)
{
sbyte[] dist_code = ZTree._dist_code;
return dist;
}
sbyte[] dist_code2 = ZTree._dist_code;
throw new NullReferenceException();
}
// Token: 0x0600CDAC RID: 52652 RVA: 0x002F44C0 File Offset: 0x002F26C0
[Token(Token = "0x600CDAC")]
[Address(RVA = "0x1975850", Offset = "0x1974650", VA = "0x181975850")]
internal void gen_bitlen(DeflateManager s)
{
StaticTree staticTree = this.staticTree;
short[] array = this.dyn_tree;
short[] treeCodes = staticTree.treeCodes;
int num = 0;
int[] extraBits = staticTree.extraBits;
int extraBase = staticTree.extraBase;
int num2 = staticTree.maxLength;
int num3 = 0;
short[] bl_count = s.bl_count;
num++;
bl_count[0] = (short)num3;
int[] heap = s.heap;
int num4 = s.heap_max;
num4++;
array[0] = (short)num3;
int num5 = s.heap_max;
num5++;
int[] heap2 = s.heap;
int num6 = array.Length;
int num7 = heap2[num5];
num5 += num5;
num5++;
num5++;
num6 = num2;
if (num5 <= num2)
{
num6 = num5;
}
array[0] = (short)num6;
short[] bl_count2 = s.bl_count;
num5 = num6;
num7 -= extraBase;
int num8 = extraBits[num7];
int num9 = num7 * num7;
while (treeCodes == 0)
{
}
num9 += num8;
if (num != 0)
{
short[] bl_count3 = s.bl_count;
int num10 = num2 - 1;
short num11 = bl_count3[num10];
bl_count3[0] = num11;
short[] bl_count4 = s.bl_count;
num10++;
short[] bl_count5 = s.bl_count;
if (num2 != 0)
{
short[] bl_count6 = s.bl_count;
if (num10 != 0)
{
int[] heap3 = s.heap;
num2 = num5;
int num12 = heap3[num2];
int num13 = array.Length;
num12 += num12;
int num14 = num12 + 1;
if (num6 != num2)
{
num13 = num2;
num13 -= num6;
array[0] = (short)num2;
}
while (num10 != 0)
{
}
}
while (num10 != 0)
{
}
}
}
}
// Token: 0x0600CDAD RID: 52653 RVA: 0x002F4660 File Offset: 0x002F2860
[Token(Token = "0x600CDAD")]
[Address(RVA = "0x1975150", Offset = "0x1973F50", VA = "0x181975150")]
internal void build_tree(DeflateManager s)
{
StaticTree staticTree = this.staticTree;
short[] array = this.dyn_tree;
short[] treeCodes = staticTree.treeCodes;
int num = staticTree.elems;
int num2 = 0;
s.heap_len = num2;
int heap_SIZE = ZTree.HEAP_SIZE;
s.heap_max = heap_SIZE;
if (num > 0)
{
int length = array.Length;
if ("{il2cpp array field local3->}" == num2)
{
num2++;
array[0] = (short)num2;
}
int heap_len = s.heap_len;
int[] heap = s.heap;
int num3 = heap_len + 1;
s.heap_len = num3;
int num4 = heap_len + 1;
heap[0] = num2;
sbyte[] depth = s.depth;
num2++;
num2 += 2;
}
int num5 = s.heap_len;
if (num5 < 2)
{
int[] heap2 = s.heap;
int num6 = num5 + 1;
s.heap_len = num6;
if (num2 < 2)
{
}
num5++;
heap2[0] = num2;
uint num7;
array[0] = (short)num7;
sbyte[] depth2 = s.depth;
while (treeCodes == 0)
{
}
}
this.max_code = 1;
int i = s.heap_len;
i -= 0;
s.pqdownheap(array, i);
while (i >= 1)
{
}
int[] heap3 = s.heap;
int heap_len2 = s.heap_len;
int num8 = heap3[0];
int num9 = heap_len2 - 1;
s.heap_len = num9;
int length2 = heap3.Length;
int num10 = heap3[heap_len2];
heap3[0] = num10;
uint num11;
s.pqdownheap(array, (int)num11);
int[] heap4 = s.heap;
int heap_max = s.heap_max;
int num12 = heap4[0];
int num13 = heap_max - 1;
s.heap_max = num13;
int num14 = heap_max - 1;
heap4[0] = num8;
int heap_max2 = s.heap_max;
int[] heap5 = s.heap;
int num15 = heap_max2 - 1;
s.heap_max = num15;
int num16 = heap_max2 - 1;
heap5[0] = num12;
int length3 = array.Length;
short num17 = array[heap5];
array[0] = num17;
int length4 = s.depth.Length;
sbyte b2;
sbyte b3;
byte b = Math.Max((byte)b2, (byte)b3);
array[0] = (short)num;
int num18 = heap_max2 + 1;
array[0] = (short)num;
i += 2;
int[] heap6 = s.heap;
num++;
heap6[0] = num;
s.pqdownheap(array, 1);
while (s.heap_len >= 2)
{
}
int heap_max3 = s.heap_max;
int[] heap7 = s.heap;
int num19 = heap_max3 - 1;
s.heap_max = num19;
int num20 = s.heap[0];
int num21 = heap_max3 - 1;
heap7[0] = num20;
short[] bl_count = s.bl_count;
int num22;
ZTree.gen_codes(array, num22, bl_count);
}
// Token: 0x0600CDAE RID: 52654 RVA: 0x002F4904 File Offset: 0x002F2B04
[Token(Token = "0x600CDAE")]
[Address(RVA = "0x1975D70", Offset = "0x1974B70", VA = "0x181975D70")]
internal static void gen_codes(short[] tree, int max_code, short[] bl_count)
{
int num = InternalConstants.MAX_BITS;
num++;
short[] array = new short[num];
int i = 0;
short num2;
i += (int)num2;
i += i;
array[0] = (short)i;
if (1 != 0)
{
short num4;
short num3 = num4 + 1;
array[0] = num3;
int num5 = 0;
num5 += num5;
tree[0] = (short)num5;
}
i++;
i += 2;
while (i <= max_code)
{
}
}
// Token: 0x0600CDAF RID: 52655 RVA: 0x002F496C File Offset: 0x002F2B6C
[Token(Token = "0x600CDAF")]
[Address(RVA = "0x1639D80", Offset = "0x1638B80", VA = "0x181639D80")]
internal static int bi_reverse(int code, int len)
{
int num = 0;
int num2 = len - 1;
return num + num;
}
// Token: 0x0600CDB0 RID: 52656 RVA: 0x002F4984 File Offset: 0x002F2B84
[Token(Token = "0x600CDB0")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public ZTree()
{
}
// Token: 0x0600CDB1 RID: 52657 RVA: 0x002F4998 File Offset: 0x002F2B98
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CDB1")]
[Address(RVA = "0x1974F20", Offset = "0x1973D20", VA = "0x181974F20")]
static ZTree()
{
int[] array = new int[29];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.67C0E784F3654B008A81E2988588CF4956CCF3DA).FieldHandle);
ZTree.ExtraLengthBits = array;
int[] array2 = new int[30];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79D521E6E3E55103005E9CC3FA43B3174FAF090F).FieldHandle);
ZTree.ExtraDistanceBits = array2;
int[] array3 = new int[19];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8457F44B035C9073EE2D1F132D0A8AF5631DCDC8).FieldHandle);
ZTree.extra_blbits = array3;
sbyte[] array4 = new sbyte[19];
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.9F8365E9D6C62D3B47026EC465B05A7B5526B5CD).FieldHandle);
ZTree.bl_order = array4;
sbyte[] array5 = new sbyte[512];
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.3544182260B8A15D332367E48C7530FC0E901FD3).FieldHandle);
ZTree._dist_code = array5;
sbyte[] array6 = new sbyte[256];
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.6A316789EED01119DE92841832701A40AB0CABD6).FieldHandle);
ZTree.LengthCode = array6;
int[] array7 = new int[29];
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.2E868D9F2085DF93F11F58DE61C05E0D8A8F4A71).FieldHandle);
ZTree.LengthBase = array7;
int[] array8 = new int[30];
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.5581A70566F03554D8048EDBFC6E6B399AF9BCB1).FieldHandle);
ZTree.DistanceBase = array8;
}
// Token: 0x04008361 RID: 33633
[Token(Token = "0x4008361")]
private static readonly int HEAP_SIZE;
// Token: 0x04008362 RID: 33634
[Token(Token = "0x4008362")]
internal static readonly int[] ExtraLengthBits;
// Token: 0x04008363 RID: 33635
[Token(Token = "0x4008363")]
internal static readonly int[] ExtraDistanceBits;
// Token: 0x04008364 RID: 33636
[Token(Token = "0x4008364")]
internal static readonly int[] extra_blbits;
// Token: 0x04008365 RID: 33637
[Token(Token = "0x4008365")]
internal static readonly sbyte[] bl_order;
// Token: 0x04008366 RID: 33638
[Token(Token = "0x4008366")]
internal const int Buf_size = 16;
// Token: 0x04008367 RID: 33639
[Token(Token = "0x4008367")]
private static readonly sbyte[] _dist_code;
// Token: 0x04008368 RID: 33640
[Token(Token = "0x4008368")]
internal static readonly sbyte[] LengthCode;
// Token: 0x04008369 RID: 33641
[Token(Token = "0x4008369")]
internal static readonly int[] LengthBase;
// Token: 0x0400836A RID: 33642
[Token(Token = "0x400836A")]
internal static readonly int[] DistanceBase;
// Token: 0x0400836B RID: 33643
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400836B")]
internal short[] dyn_tree;
// Token: 0x0400836C RID: 33644
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400836C")]
internal int max_code;
// Token: 0x0400836D RID: 33645
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400836D")]
internal StaticTree staticTree;
}
}
@@ -0,0 +1,723 @@
using System;
using System.Collections.Generic;
using System.IO;
using BestHTTP.Decompression.Crc;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB9 RID: 8121
[Token(Token = "0x2001FB9")]
internal class ZlibBaseStream : Stream
{
// Token: 0x170020B8 RID: 8376
// (get) Token: 0x0600CDBF RID: 52671 RVA: 0x002F4D78 File Offset: 0x002F2F78
[Token(Token = "0x170020B8")]
internal int Crc32
{
[Token(Token = "0x600CDBF")]
[Address(RVA = "0x1977D10", Offset = "0x1976B10", VA = "0x181977D10")]
get
{
/*
An exception occurred when decompiling this method (0600CDBF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibBaseStream::get_Crc32()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32(var_1_11, ldfld:uint32(CRC32::_register, ldloc:CRC32(var_0_06)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CDC0 RID: 52672 RVA: 0x002F4D98 File Offset: 0x002F2F98
[Token(Token = "0x600CDC0")]
[Address(RVA = "0x1977190", Offset = "0x1975F90", VA = "0x181977190")]
public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen)
{
}
// Token: 0x0600CDC1 RID: 52673 RVA: 0x002F4DA8 File Offset: 0x002F2FA8
[Token(Token = "0x600CDC1")]
[Address(RVA = "0x19771C0", Offset = "0x1975FC0", VA = "0x1819771C0")]
public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen, int windowBits)
{
this._streamMode = (ZlibBaseStream.StreamMode)((ulong)2L);
this._bufferSize = (int)((ulong)16384L);
byte[] array = new byte[1];
this._buf1 = array;
base..ctor();
this._leaveOpen = false;
this.windowBitsMax = 0;
this._flushMode = (FlushType)((ulong)0L);
this._stream = stream;
this._compressionMode = compressionMode;
this._flavor = (ZlibStreamFlavor)0;
this._level = level;
int num;
CRC32 crc = new CRC32(-306674912, num != 0);
num = 0;
this.crc = crc;
}
// Token: 0x170020B9 RID: 8377
// (get) Token: 0x0600CDC2 RID: 52674 RVA: 0x002F4E30 File Offset: 0x002F3030
[Token(Token = "0x170020B9")]
protected internal bool _wantCompress
{
[Token(Token = "0x600CDC2")]
[Address(RVA = "0x6DAE90", Offset = "0x6D9C90", VA = "0x1806DAE90")]
get
{
return this._compressionMode == CompressionMode.Compress;
}
}
// Token: 0x170020BA RID: 8378
// (get) Token: 0x0600CDC3 RID: 52675 RVA: 0x002F4E48 File Offset: 0x002F3048
[Token(Token = "0x170020BA")]
private ZlibCodec z
{
[Token(Token = "0x600CDC3")]
[Address(RVA = "0x1977E20", Offset = "0x1976C20", VA = "0x181977E20")]
get
{
if (this._z == (ulong)0L)
{
bool flag = this._flavor == ZlibStreamFlavor.ZLIB;
ZlibCodec zlibCodec = new ZlibCodec();
zlibCodec.CompressLevel = (CompressionLevel)((ulong)6L);
zlibCodec.WindowBits = (int)((ulong)15L);
this._z = zlibCodec;
if (this._compressionMode != CompressionMode.Decompress)
{
CompressionStrategy strategy = this.Strategy;
zlibCodec.Strategy = strategy;
ZlibCodec z = this._z;
int num = this.windowBitsMax;
CompressionLevel level = this._level;
z.WindowBits = num;
z.CompressLevel = level;
int num2 = z._InternalInitializeDeflate(flag);
}
int num3 = this.windowBitsMax;
int num4 = zlibCodec.InitializeInflate(num3, flag);
}
return this._z;
}
}
// Token: 0x170020BB RID: 8379
// (get) Token: 0x0600CDC4 RID: 52676 RVA: 0x002F4EF8 File Offset: 0x002F30F8
[Token(Token = "0x170020BB")]
private byte[] workingBuffer
{
[Token(Token = "0x600CDC4")]
[Address(RVA = "0x1977DA0", Offset = "0x1976BA0", VA = "0x181977DA0")]
get
{
if (this._workingBuffer == (ulong)0L)
{
byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, true);
this._workingBuffer = array;
}
return this._workingBuffer;
}
}
// Token: 0x0600CDC5 RID: 52677 RVA: 0x002F4F2C File Offset: 0x002F312C
[Token(Token = "0x600CDC5")]
[Address(RVA = "0x1976910", Offset = "0x1975710", VA = "0x181976910", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
int num;
ZlibCodec z3;
do
{
CRC32 crc = this.crc;
num = 0;
if (crc != 0)
{
crc.SlurpBlock(buffer, offset, count);
}
ZlibBaseStream.StreamMode streamMode = this._streamMode;
if (streamMode != ZlibBaseStream.StreamMode.Undefined && streamMode != ZlibBaseStream.StreamMode.Writer)
{
goto IL_14C;
}
this._streamMode = (ZlibBaseStream.StreamMode)num;
if (count == 0)
{
return;
}
this.z.InputBuffer = buffer;
this._z.NextIn = offset;
this._z.AvailableBytesIn = count;
ZlibCodec z = this._z;
if (this._workingBuffer == num)
{
ulong num2;
byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, num2 != 0UL);
this._workingBuffer = array;
}
byte[] workingBuffer = this._workingBuffer;
z.OutputBuffer = workingBuffer;
this._z.NextOut = num;
byte[] workingBuffer2 = this._workingBuffer;
ZlibCodec z2 = this._z;
int length = workingBuffer2.Length;
z2.AvailableBytesOut = length;
z3 = this._z;
FlushType flushMode = this._flushMode;
if (this._compressionMode == (CompressionMode)num && z3.dstate == 0)
{
goto IL_158;
}
}
while (z3.istate == 0);
int num3;
if (num3 > 1)
{
goto IL_164;
}
byte[] workingBuffer3 = this._workingBuffer;
ZlibCodec z4 = this._z;
int num4 = this._stream.ReadByte();
int availableBytesIn = this._z.AvailableBytesIn;
if (availableBytesIn != 0)
{
}
if (this._flavor != ZlibStreamFlavor.GZIP || this._compressionMode == (CompressionMode)num || availableBytesIn == 8)
{
}
while (num == 0)
{
}
return;
IL_14C:
ZlibException ex = new ZlibException("Cannot Write after Reading.");
IL_158:
ZlibException ex2 = new ZlibException("No Deflate State!");
IL_164:
throw new NullReferenceException();
}
// Token: 0x0600CDC6 RID: 52678 RVA: 0x002F50AC File Offset: 0x002F32AC
[Token(Token = "0x600CDC6")]
[Address(RVA = "0x1977420", Offset = "0x1976220", VA = "0x181977420")]
private void finish()
{
/*
An exception occurred when decompiling this method (0600CDC6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::finish()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_297:
stloc:ZlibException(var_47_2AA, newobj:ZlibException(ZlibException::.ctor, call:string(string::Format, ldstr:string("Bad size in GZIP trailer. (actual({0})!=expected({1}))"), ldloc:ZlibException[exp:object](var_46), ldloc:ZlibException[exp:object](var_46))))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDC7 RID: 52679 RVA: 0x002F5364 File Offset: 0x002F3564
[Token(Token = "0x600CDC7")]
[Address(RVA = "0x19772B0", Offset = "0x19760B0", VA = "0x1819772B0")]
private void end()
{
/*
An exception occurred when decompiling this method (0600CDC7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::end()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_7A:
stloc:ZlibException(var_5_84, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDC8 RID: 52680 RVA: 0x002F53F8 File Offset: 0x002F35F8
[Token(Token = "0x600CDC8")]
[Address(RVA = "0x1975FA0", Offset = "0x1974DA0", VA = "0x181975FA0", Slot = "15")]
public override void Close()
{
/*
An exception occurred when decompiling this method (0600CDC8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::Close()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A0:
stloc:ZlibException(var_6_AA, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDC9 RID: 52681 RVA: 0x002F54B0 File Offset: 0x002F36B0
[Token(Token = "0x600CDC9")]
[Address(RVA = "0x1976190", Offset = "0x1974F90", VA = "0x181976190", Slot = "17")]
public override void Flush()
{
bool canRead = this._stream.CanRead;
}
// Token: 0x0600CDCA RID: 52682 RVA: 0x002F54D0 File Offset: 0x002F36D0
[Token(Token = "0x600CDCA")]
[Address(RVA = "0x1976880", Offset = "0x1975680", VA = "0x181976880", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600CDCA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.ZlibBaseStream::Seek(System.Int64,System.IO.SeekOrigin)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDCB RID: 52683 RVA: 0x002F54E4 File Offset: 0x002F36E4
[Token(Token = "0x600CDCB")]
[Address(RVA = "0x19768D0", Offset = "0x19756D0", VA = "0x1819768D0", Slot = "26")]
public override void SetLength(long value)
{
Stream stream = this._stream;
this.nomoreinput = false;
}
// Token: 0x0600CDCC RID: 52684 RVA: 0x002F5508 File Offset: 0x002F3708
[Token(Token = "0x600CDCC")]
[Address(RVA = "0x19761C0", Offset = "0x1974FC0", VA = "0x1819761C0")]
private string ReadZeroTerminatedString()
{
List<byte> list = new List();
Stream stream = this._stream;
byte b = this._buf1[0];
list.Add(b);
byte[] array = list.ToArray();
return GZipStream.iso8859dash1.GetString(array);
}
// Token: 0x0600CDCD RID: 52685 RVA: 0x002F5550 File Offset: 0x002F3750
[Token(Token = "0x600CDCD")]
[Address(RVA = "0x1976CB0", Offset = "0x1975AB0", VA = "0x181976CB0")]
private int _ReadAndValidateGzipHeader()
{
byte[] array;
do
{
uint num;
ulong num2;
array = VariableSizedBufferPool.Get((long)num, num2 != 0UL);
Stream stream = this._stream;
int length = array.Length;
}
while ("{il2cpp array field local5->}" != (ulong)31L || "{il2cpp array field local5->}" != (ulong)139L || "{il2cpp array field local5->}" != (ulong)8L);
int num3 = BitConverter.ToInt32(array, (int)8.487983164E-314);
DateTime unixEpoch = GZipStream._unixEpoch;
DateTime dateTime;
this._GzipMtime = dateTime;
int length2 = array.Length;
if ("{il2cpp array field local5->}" != (ulong)4L)
{
Stream stream2 = this._stream;
int length3 = array.Length;
byte b = array[0];
byte b2 = array[0];
uint num4;
byte b3 = (byte)((uint)b * num4);
b3 += b2;
Stream stream3 = this._stream;
}
if ("{il2cpp array field local5->}" != (ulong)8L)
{
string text = this.ReadZeroTerminatedString();
this._GzipFileName = text;
int length4 = array.Length;
}
if ("{il2cpp array field local5->}" != (ulong)16L)
{
string text2 = this.ReadZeroTerminatedString();
this._GzipComment = text2;
int length5 = array.Length;
}
if ("{il2cpp array field local5->}" != (ulong)2L)
{
}
VariableSizedBufferPool.Release(array);
VariableSizedBufferPool.Release(array);
throw new NullReferenceException();
}
// Token: 0x0600CDCE RID: 52686 RVA: 0x002F5664 File Offset: 0x002F3864
[Token(Token = "0x600CDCE")]
[Address(RVA = "0x1976350", Offset = "0x1975150", VA = "0x181976350", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
int num;
int num4;
bool flag;
for (;;)
{
num = 0;
if (this._streamMode == ZlibBaseStream.StreamMode.Undefined)
{
this._stream.Dispose();
this._streamMode = (ZlibBaseStream.StreamMode)((ulong)1L);
this.z.AvailableBytesIn = num;
if (this._flavor == ZlibStreamFlavor.GZIP)
{
int num2 = this._ReadAndValidateGzipHeader();
this._gzipHeaderByteCount = num2;
if (num2 == 0)
{
goto IL_1D9;
}
}
}
if (this._streamMode != ZlibBaseStream.StreamMode.Reader || count == 0 || ((this.nomoreinput ? 1 : 0) != num && this._compressionMode == (CompressionMode)num))
{
goto IL_1D9;
}
if (buffer != 0)
{
this._z.OutputBuffer = buffer;
this._z.NextOut = offset;
this._z.AvailableBytesOut = count;
ZlibCodec z = this._z;
byte[] workingBuffer = this.workingBuffer;
z.InputBuffer = workingBuffer;
ZlibCodec z2 = this._z;
ZlibCodec z4;
if (z2.AvailableBytesIn == num && (this.nomoreinput ? 1 : 0) == num)
{
z2.NextIn = num;
byte[] workingBuffer2 = this._workingBuffer;
ZlibCodec z3 = this._z;
Stream stream = this._stream;
int length = workingBuffer2.Length;
z4 = this._z;
if (z4.AvailableBytesIn == num)
{
this.nomoreinput = true;
}
}
FlushType flushMode = this._flushMode;
if (this._compressionMode == (CompressionMode)num)
{
int num3 = z4.Deflate(flushMode);
}
num4 = z4.Inflate(flushMode);
flag = this.nomoreinput;
if (flag && num4 == -5)
{
goto IL_1D9;
}
if (num4 <= 1)
{
break;
}
}
}
ZlibCodec z5;
if ((!flag && num4 != 1) || this._z.AvailableBytesOut != count)
{
z5 = this._z;
if (z5.AvailableBytesOut <= num || flag || num4 == 0)
{
}
}
if (z5.AvailableBytesOut <= num || !flag || this._compressionMode != (CompressionMode)num || z5.Deflate(FlushType.Finish) <= 1)
{
ZlibCodec z6 = this._z;
CRC32 crc = this.crc;
if (crc != 0)
{
crc.SlurpBlock(buffer, offset, count);
}
return count;
}
goto IL_1F1;
IL_1D9:
ZlibException ex = new ZlibException("Cannot Read after Writing.");
ZlibException ex2 = new ZlibException("The stream is not readable.");
IL_1F1:
throw new NullReferenceException();
}
// Token: 0x170020BC RID: 8380
// (get) Token: 0x0600CDCF RID: 52687 RVA: 0x002F587C File Offset: 0x002F3A7C
[Token(Token = "0x170020BC")]
public override bool CanRead
{
[Token(Token = "0x600CDCF")]
[Address(RVA = "0x1977C80", Offset = "0x1976A80", VA = "0x181977C80", Slot = "7")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x170020BD RID: 8381
// (get) Token: 0x0600CDD0 RID: 52688 RVA: 0x002F589C File Offset: 0x002F3A9C
[Token(Token = "0x170020BD")]
public override bool CanSeek
{
[Token(Token = "0x600CDD0")]
[Address(RVA = "0x1977CB0", Offset = "0x1976AB0", VA = "0x181977CB0", Slot = "8")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x170020BE RID: 8382
// (get) Token: 0x0600CDD1 RID: 52689 RVA: 0x002F58BC File Offset: 0x002F3ABC
[Token(Token = "0x170020BE")]
public override bool CanWrite
{
[Token(Token = "0x600CDD1")]
[Address(RVA = "0x1977CE0", Offset = "0x1976AE0", VA = "0x181977CE0", Slot = "9")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x170020BF RID: 8383
// (get) Token: 0x0600CDD2 RID: 52690 RVA: 0x002F58DC File Offset: 0x002F3ADC
[Token(Token = "0x170020BF")]
public override long Length
{
[Token(Token = "0x600CDD2")]
[Address(RVA = "0x1977D20", Offset = "0x1976B20", VA = "0x181977D20", Slot = "10")]
get
{
bool canRead = this._stream.CanRead;
throw new NullReferenceException();
}
}
// Token: 0x170020C0 RID: 8384
// (get) Token: 0x0600CDD3 RID: 52691 RVA: 0x002F58FC File Offset: 0x002F3AFC
// (set) Token: 0x0600CDD4 RID: 52692 RVA: 0x002F5910 File Offset: 0x002F3B10
[Token(Token = "0x170020C0")]
public override long Position
{
[Token(Token = "0x600CDD3")]
[Address(RVA = "0x1977D50", Offset = "0x1976B50", VA = "0x181977D50", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600CDD3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.ZlibBaseStream::get_Position()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
[Token(Token = "0x600CDD4")]
[Address(RVA = "0x1977EF0", Offset = "0x1976CF0", VA = "0x181977EF0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CDD4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x040083A4 RID: 33700
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40083A4")]
protected internal ZlibCodec _z;
// Token: 0x040083A5 RID: 33701
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40083A5")]
protected internal ZlibBaseStream.StreamMode _streamMode;
// Token: 0x040083A6 RID: 33702
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40083A6")]
protected internal FlushType _flushMode;
// Token: 0x040083A7 RID: 33703
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40083A7")]
protected internal ZlibStreamFlavor _flavor;
// Token: 0x040083A8 RID: 33704
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40083A8")]
protected internal CompressionMode _compressionMode;
// Token: 0x040083A9 RID: 33705
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40083A9")]
protected internal CompressionLevel _level;
// Token: 0x040083AA RID: 33706
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x40083AA")]
protected internal bool _leaveOpen;
// Token: 0x040083AB RID: 33707
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40083AB")]
protected internal byte[] _workingBuffer;
// Token: 0x040083AC RID: 33708
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40083AC")]
protected internal int _bufferSize;
// Token: 0x040083AD RID: 33709
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x40083AD")]
protected internal int windowBitsMax;
// Token: 0x040083AE RID: 33710
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40083AE")]
protected internal byte[] _buf1;
// Token: 0x040083AF RID: 33711
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40083AF")]
protected internal Stream _stream;
// Token: 0x040083B0 RID: 33712
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40083B0")]
protected internal CompressionStrategy Strategy;
// Token: 0x040083B1 RID: 33713
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40083B1")]
private CRC32 crc;
// Token: 0x040083B2 RID: 33714
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40083B2")]
protected internal string _GzipFileName;
// Token: 0x040083B3 RID: 33715
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40083B3")]
protected internal string _GzipComment;
// Token: 0x040083B4 RID: 33716
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40083B4")]
protected internal DateTime _GzipMtime;
// Token: 0x040083B5 RID: 33717
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40083B5")]
protected internal int _gzipHeaderByteCount;
// Token: 0x040083B6 RID: 33718
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x40083B6")]
private bool nomoreinput;
// Token: 0x02001FBA RID: 8122
[Token(Token = "0x2001FBA")]
internal enum StreamMode
{
// Token: 0x040083B8 RID: 33720
[Token(Token = "0x40083B8")]
Writer,
// Token: 0x040083B9 RID: 33721
[Token(Token = "0x40083B9")]
Reader,
// Token: 0x040083BA RID: 33722
[Token(Token = "0x40083BA")]
Undefined
}
}
}
@@ -0,0 +1,580 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FBB RID: 8123
[Token(Token = "0x2001FBB")]
internal sealed class ZlibCodec
{
// Token: 0x170020C1 RID: 8385
// (get) Token: 0x0600CDD5 RID: 52693 RVA: 0x002F5924 File Offset: 0x002F3B24
[Token(Token = "0x170020C1")]
public int Adler32
{
[Token(Token = "0x600CDD5")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get
{
/*
An exception occurred when decompiling this method (0600CDD5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::get_Adler32()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:uint32(var_0_06, ldfld:uint32(ZlibCodec::_Adler32, ldloc:ZlibCodec(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CDD6 RID: 52694 RVA: 0x002F5938 File Offset: 0x002F3B38
[Token(Token = "0x600CDD6")]
[Address(RVA = "0x19789F0", Offset = "0x19777F0", VA = "0x1819789F0")]
public ZlibCodec()
{
this.CompressLevel = (CompressionLevel)((ulong)6L);
this.WindowBits = (int)((ulong)15L);
base..ctor();
}
// Token: 0x0600CDD7 RID: 52695 RVA: 0x002F5960 File Offset: 0x002F3B60
[Token(Token = "0x600CDD7")]
[Address(RVA = "0x1978A10", Offset = "0x1977810", VA = "0x181978A10")]
public ZlibCodec(CompressionMode mode)
{
/*
An exception occurred when decompiling this method (0600CDD7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibCodec::.ctor(BestHTTP.Decompression.Zlib.CompressionMode)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_56:
stloc:ZlibException(var_4_60, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Cannot initialize for deflate.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDD8 RID: 52696 RVA: 0x002F59D0 File Offset: 0x002F3BD0
[Token(Token = "0x600CDD8")]
[Address(RVA = "0x19781B0", Offset = "0x1976FB0", VA = "0x1819781B0")]
public int InitializeInflate()
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600CDD9 RID: 52697 RVA: 0x002F59EC File Offset: 0x002F3BEC
[Token(Token = "0x600CDD9")]
[Address(RVA = "0x19781C0", Offset = "0x1976FC0", VA = "0x1819781C0")]
public int InitializeInflate(bool expectRfc1950Header)
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, expectRfc1950Header);
}
// Token: 0x0600CDDA RID: 52698 RVA: 0x002F5A08 File Offset: 0x002F3C08
[Token(Token = "0x600CDDA")]
[Address(RVA = "0x1978290", Offset = "0x1977090", VA = "0x181978290")]
public int InitializeInflate(int windowBits)
{
this.WindowBits = windowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600CDDB RID: 52699 RVA: 0x002F5A24 File Offset: 0x002F3C24
[Token(Token = "0x600CDDB")]
[Address(RVA = "0x19781D0", Offset = "0x1976FD0", VA = "0x1819781D0")]
public int InitializeInflate(int windowBits, bool expectRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600CDDB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::InitializeInflate(System.Int32,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_36:
stloc:ZlibException(var_1_40, newobj:ZlibException(ZlibException::.ctor, ldstr:string("You may not call InitializeInflate() after calling InitializeDeflate().")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDDC RID: 52700 RVA: 0x002F5A74 File Offset: 0x002F3C74
[Token(Token = "0x600CDDC")]
[Address(RVA = "0x19780B0", Offset = "0x1976EB0", VA = "0x1819780B0")]
public int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600CDDC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::Inflate(BestHTTP.Decompression.Zlib.FlushType)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_0B:
stloc:ZlibException(var_1_15, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Inflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDDD RID: 52701 RVA: 0x002F5A98 File Offset: 0x002F3C98
[Token(Token = "0x600CDDD")]
[Address(RVA = "0x1978030", Offset = "0x1976E30", VA = "0x181978030")]
public int EndInflate()
{
/*
An exception occurred when decompiling this method (0600CDDD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::EndInflate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1D:
stloc:ZlibException(var_2_27, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Inflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDDE RID: 52702 RVA: 0x002F5ACC File Offset: 0x002F3CCC
[Token(Token = "0x600CDDE")]
[Address(RVA = "0x1978680", Offset = "0x1977480", VA = "0x181978680")]
public int SyncInflate()
{
/*
An exception occurred when decompiling this method (0600CDDE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::SyncInflate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_12:
stloc:ZlibException(var_1_1C, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Inflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDDF RID: 52703 RVA: 0x002F5AF8 File Offset: 0x002F3CF8
[Token(Token = "0x600CDDF")]
[Address(RVA = "0x1978160", Offset = "0x1976F60", VA = "0x181978160")]
public int InitializeDeflate()
{
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600CDE0 RID: 52704 RVA: 0x002F5B0C File Offset: 0x002F3D0C
[Token(Token = "0x600CDE0")]
[Address(RVA = "0x1978150", Offset = "0x1976F50", VA = "0x181978150")]
public int InitializeDeflate(CompressionLevel level)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600CDE1 RID: 52705 RVA: 0x002F5B28 File Offset: 0x002F3D28
[Token(Token = "0x600CDE1")]
[Address(RVA = "0x1978190", Offset = "0x1976F90", VA = "0x181978190")]
public int InitializeDeflate(CompressionLevel level, bool wantRfc1950Header)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600CDE2 RID: 52706 RVA: 0x002F5B44 File Offset: 0x002F3D44
[Token(Token = "0x600CDE2")]
[Address(RVA = "0x1978130", Offset = "0x1976F30", VA = "0x181978130")]
public int InitializeDeflate(CompressionLevel level, int bits)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600CDE3 RID: 52707 RVA: 0x002F5B68 File Offset: 0x002F3D68
[Token(Token = "0x600CDE3")]
[Address(RVA = "0x1978170", Offset = "0x1976F70", VA = "0x181978170")]
public int InitializeDeflate(CompressionLevel level, int bits, bool wantRfc1950Header)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600CDE4 RID: 52708 RVA: 0x002F5B8C File Offset: 0x002F3D8C
[Token(Token = "0x600CDE4")]
[Address(RVA = "0x19786F0", Offset = "0x19774F0", VA = "0x1819786F0")]
private int _InternalInitializeDeflate(bool wantRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600CDE4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::_InternalInitializeDeflate(System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_FF:
stloc:ZlibException(var_18_109, newobj:ZlibException(ZlibException::.ctor, ldstr:string("You may not call InitializeDeflate() after calling InitializeInflate().")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDE5 RID: 52709 RVA: 0x002F5CA4 File Offset: 0x002F3EA4
[Token(Token = "0x600CDE5")]
[Address(RVA = "0x1977F40", Offset = "0x1976D40", VA = "0x181977F40")]
public int Deflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600CDE5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::Deflate(BestHTTP.Decompression.Zlib.FlushType)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_0B:
stloc:ZlibException(var_1_15, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDE6 RID: 52710 RVA: 0x002F5CC8 File Offset: 0x002F3EC8
[Token(Token = "0x600CDE6")]
[Address(RVA = "0x1977FC0", Offset = "0x1976DC0", VA = "0x181977FC0")]
public int EndDeflate()
{
/*
An exception occurred when decompiling this method (0600CDE6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::EndDeflate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_16:
stloc:ZlibException(var_0_20, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDE7 RID: 52711 RVA: 0x002F5CF8 File Offset: 0x002F3EF8
[Token(Token = "0x600CDE7")]
[Address(RVA = "0x19782A0", Offset = "0x19770A0", VA = "0x1819782A0")]
public void ResetDeflate()
{
/*
An exception occurred when decompiling this method (0600CDE7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibCodec::ResetDeflate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_12:
stloc:ZlibException(var_1_1C, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDE8 RID: 52712 RVA: 0x002F5D24 File Offset: 0x002F3F24
[Token(Token = "0x600CDE8")]
[Address(RVA = "0x1978310", Offset = "0x1977110", VA = "0x181978310")]
public int SetDeflateParams(CompressionLevel level, CompressionStrategy strategy)
{
/*
An exception occurred when decompiling this method (0600CDE8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::SetDeflateParams(BestHTTP.Decompression.Zlib.CompressionLevel,BestHTTP.Decompression.Zlib.CompressionStrategy)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_6C:
stloc:ZlibException(var_8_76, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDE9 RID: 52713 RVA: 0x002F5DA8 File Offset: 0x002F3FA8
[Token(Token = "0x600CDE9")]
[Address(RVA = "0x1978470", Offset = "0x1977270", VA = "0x181978470")]
public int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600CDE9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::SetDictionary(System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_C6:
stloc:ZlibException(var_16_D0, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Stream error.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CDEA RID: 52714 RVA: 0x002F5E88 File Offset: 0x002F4088
[Token(Token = "0x600CDEA")]
[Address(RVA = "0x1978B30", Offset = "0x1977930", VA = "0x181978B30")]
internal void flush_pending()
{
DeflateManager deflateManager = this.dstate;
int availableBytesOut = this.AvailableBytesOut;
int pendingCount;
if (deflateManager.Z_ASCII <= availableBytesOut)
{
pendingCount = deflateManager.pendingCount;
}
if (pendingCount != 0)
{
byte[] pending = deflateManager.pending;
int length = pending.Length;
int nextPending = deflateManager.nextPending;
if (length > nextPending)
{
byte[] outputBuffer = this.OutputBuffer;
int length2 = outputBuffer.Length;
int nextOut = this.NextOut;
if (length2 > nextOut)
{
int num = 0;
Array.Copy(pending, nextPending, outputBuffer, nextOut, pendingCount);
DeflateManager deflateManager2 = this.dstate;
DeflateManager deflateManager3 = this.dstate;
DeflateManager deflateManager4 = this.dstate;
if (deflateManager4.Z_ASCII == num)
{
deflateManager4.nextPending = num;
return;
}
return;
}
}
throw new NullReferenceException();
}
}
// Token: 0x0600CDEB RID: 52715 RVA: 0x002F5F6C File Offset: 0x002F416C
[Token(Token = "0x600CDEB")]
[Address(RVA = "0x1978D10", Offset = "0x1977B10", VA = "0x181978D10")]
internal int read_buf(byte[] buf, int start, int size)
{
int num = this.AvailableBytesIn;
if (num > size)
{
num = size;
}
if (num != 0)
{
num -= num;
this.AvailableBytesIn = num;
if (this.dstate._WantRfc1950HeaderBytes)
{
uint adler = this._Adler32;
byte[] inputBuffer = this.InputBuffer;
uint num2 = Adler.Adler32(adler, inputBuffer, start, size);
this._Adler32 = num2;
}
int nextIn = this.NextIn;
Array.Copy(this.InputBuffer, nextIn, buf, size, num);
}
return 0;
}
// Token: 0x040083BB RID: 33723
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40083BB")]
public byte[] InputBuffer;
// Token: 0x040083BC RID: 33724
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40083BC")]
public int NextIn;
// Token: 0x040083BD RID: 33725
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40083BD")]
public int AvailableBytesIn;
// Token: 0x040083BE RID: 33726
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083BE")]
public long TotalBytesIn;
// Token: 0x040083BF RID: 33727
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40083BF")]
public byte[] OutputBuffer;
// Token: 0x040083C0 RID: 33728
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40083C0")]
public int NextOut;
// Token: 0x040083C1 RID: 33729
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40083C1")]
public int AvailableBytesOut;
// Token: 0x040083C2 RID: 33730
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40083C2")]
public long TotalBytesOut;
// Token: 0x040083C3 RID: 33731
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40083C3")]
public string Message;
// Token: 0x040083C4 RID: 33732
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40083C4")]
internal DeflateManager dstate;
// Token: 0x040083C5 RID: 33733
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40083C5")]
internal InflateManager istate;
// Token: 0x040083C6 RID: 33734
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40083C6")]
internal uint _Adler32;
// Token: 0x040083C7 RID: 33735
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x40083C7")]
public CompressionLevel CompressLevel;
// Token: 0x040083C8 RID: 33736
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40083C8")]
public int WindowBits;
// Token: 0x040083C9 RID: 33737
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x40083C9")]
public CompressionStrategy Strategy;
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FBC RID: 8124
[Token(Token = "0x2001FBC")]
public static class ZlibConstants
{
// Token: 0x040083CA RID: 33738
[Token(Token = "0x40083CA")]
public const int WindowBitsMax = 15;
// Token: 0x040083CB RID: 33739
[Token(Token = "0x40083CB")]
public const int WindowBitsDefault = 15;
// Token: 0x040083CC RID: 33740
[Token(Token = "0x40083CC")]
public const int Z_OK = 0;
// Token: 0x040083CD RID: 33741
[Token(Token = "0x40083CD")]
public const int Z_STREAM_END = 1;
// Token: 0x040083CE RID: 33742
[Token(Token = "0x40083CE")]
public const int Z_NEED_DICT = 2;
// Token: 0x040083CF RID: 33743
[Token(Token = "0x40083CF")]
public const int Z_STREAM_ERROR = -2;
// Token: 0x040083D0 RID: 33744
[Token(Token = "0x40083D0")]
public const int Z_DATA_ERROR = -3;
// Token: 0x040083D1 RID: 33745
[Token(Token = "0x40083D1")]
public const int Z_BUF_ERROR = -5;
// Token: 0x040083D2 RID: 33746
[Token(Token = "0x40083D2")]
public const int WorkingBufferSizeDefault = 16384;
// Token: 0x040083D3 RID: 33747
[Token(Token = "0x40083D3")]
public const int WorkingBufferSizeMin = 1024;
}
}
@@ -0,0 +1,27 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB3 RID: 8115
[Token(Token = "0x2001FB3")]
[Guid("ebc25cf6-9120-4283-b972-0e5520d0000E")]
internal class ZlibException : Exception
{
// Token: 0x0600CDB2 RID: 52658 RVA: 0x002F4A80 File Offset: 0x002F2C80
[Token(Token = "0x600CDB2")]
[Address(RVA = "0x1978E20", Offset = "0x1977C20", VA = "0x181978E20")]
public ZlibException()
{
}
// Token: 0x0600CDB3 RID: 52659 RVA: 0x002F4A94 File Offset: 0x002F2C94
[Token(Token = "0x600CDB3")]
[Address(RVA = "0x1978E80", Offset = "0x1977C80", VA = "0x181978E80")]
public ZlibException(string s)
: base(s)
{
}
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02001FB8 RID: 8120
[Token(Token = "0x2001FB8")]
internal enum ZlibStreamFlavor
{
// Token: 0x040083A1 RID: 33697
[Token(Token = "0x40083A1")]
ZLIB = 1950,
// Token: 0x040083A2 RID: 33698
[Token(Token = "0x40083A2")]
DEFLATE,
// Token: 0x040083A3 RID: 33699
[Token(Token = "0x40083A3")]
GZIP
}
}
@@ -0,0 +1,45 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F9B RID: 8091
[Token(Token = "0x2001F9B")]
internal struct BufferDesc
{
// Token: 0x0600CD03 RID: 52483 RVA: 0x002EE5D4 File Offset: 0x002EC7D4
[Token(Token = "0x600CD03")]
[Address(RVA = "0x195E3A0", Offset = "0x195D1A0", VA = "0x18195E3A0")]
public BufferDesc(byte[] buff)
{
this.buffer = buff;
DateTime utcNow = DateTime.UtcNow;
this.released = utcNow;
}
// Token: 0x0600CD04 RID: 52484 RVA: 0x002EE5F8 File Offset: 0x002EC7F8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CD04")]
[Address(RVA = "0x195E310", Offset = "0x195D110", VA = "0x18195E310")]
static BufferDesc()
{
DateTime utcNow = DateTime.UtcNow;
ulong num;
BufferDesc.Empty = num;
}
// Token: 0x04008276 RID: 33398
[Token(Token = "0x4008276")]
public static readonly BufferDesc Empty;
// Token: 0x04008277 RID: 33399
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008277")]
public byte[] buffer;
// Token: 0x04008278 RID: 33400
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4008278")]
public DateTime released;
}
}
@@ -0,0 +1,738 @@
using System;
using System.IO;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Extensions
{
// Token: 0x02001F8D RID: 8077
[Token(Token = "0x2001F8D")]
public sealed class BufferPoolMemoryStream : Stream
{
// Token: 0x0600CC86 RID: 52358 RVA: 0x002ECEFC File Offset: 0x002EB0FC
[Token(Token = "0x600CC86")]
[Address(RVA = "0x195F6D0", Offset = "0x195E4D0", VA = "0x18195F6D0")]
public BufferPoolMemoryStream()
{
this.canWrite = true;
byte[] noData = VariableSizedBufferPool.NoData;
this.internalBuffer = noData;
int num = noData.Length;
this.capacity = num;
this.expandable = true;
this.allowGetBuffer = true;
}
// Token: 0x0600CC87 RID: 52359 RVA: 0x002ECF48 File Offset: 0x002EB148
[Token(Token = "0x600CC87")]
[Address(RVA = "0x195F500", Offset = "0x195E300", VA = "0x18195F500")]
public BufferPoolMemoryStream(int capacity)
{
this.canWrite = true;
if (capacity > 0)
{
byte[] array = VariableSizedBufferPool.Get((long)capacity, true);
}
byte[] noData = VariableSizedBufferPool.NoData;
this.internalBuffer = noData;
int num = noData.Length;
this.capacity = num;
this.expandable = true;
this.allowGetBuffer = true;
}
// Token: 0x0600CC88 RID: 52360 RVA: 0x002ECFA4 File Offset: 0x002EB1A4
[Token(Token = "0x600CC88")]
[Address(RVA = "0x195F780", Offset = "0x195E580", VA = "0x18195F780")]
public BufferPoolMemoryStream(byte[] buffer)
{
/*
An exception occurred when decompiling this method (0600CC88)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::.ctor(System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_20:
stloc:ArgumentNullException(var_5_2A, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buffer")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC89 RID: 52361 RVA: 0x002ECFDC File Offset: 0x002EB1DC
[Token(Token = "0x600CC89")]
[Address(RVA = "0x195F430", Offset = "0x195E230", VA = "0x18195F430")]
public BufferPoolMemoryStream(byte[] buffer, bool writable)
{
/*
An exception occurred when decompiling this method (0600CC89)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::.ctor(System.Byte[],System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1F:
stloc:ArgumentNullException(var_4_29, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buffer")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC8A RID: 52362 RVA: 0x002ED014 File Offset: 0x002EB214
[Token(Token = "0x600CC8A")]
[Address(RVA = "0x195F390", Offset = "0x195E190", VA = "0x18195F390")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count)
{
ulong num;
ulong num2;
this.InternalConstructor(buffer, index, count, num != 0UL, num2 != 0UL);
}
// Token: 0x0600CC8B RID: 52363 RVA: 0x002ED034 File Offset: 0x002EB234
[Token(Token = "0x600CC8B")]
[Address(RVA = "0x195F840", Offset = "0x195E640", VA = "0x18195F840")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable)
{
}
// Token: 0x0600CC8C RID: 52364 RVA: 0x002ED048 File Offset: 0x002EB248
[Token(Token = "0x600CC8C")]
[Address(RVA = "0x195F620", Offset = "0x195E420", VA = "0x18195F620")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable, bool publiclyVisible)
{
}
// Token: 0x0600CC8D RID: 52365 RVA: 0x002ED05C File Offset: 0x002EB25C
[Token(Token = "0x600CC8D")]
[Address(RVA = "0x195E700", Offset = "0x195D500", VA = "0x18195E700")]
private void InternalConstructor(byte[] buffer, int index, int count, bool writable, bool publicallyVisible)
{
/*
An exception occurred when decompiling this method (0600CC8D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::InternalConstructor(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_48:
stloc:ArgumentNullException(var_1_52, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buffer")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC8E RID: 52366 RVA: 0x002ED0BC File Offset: 0x002EB2BC
[Token(Token = "0x600CC8E")]
[Address(RVA = "0x195E4C0", Offset = "0x195D2C0", VA = "0x18195E4C0")]
private void CheckIfClosedThrowDisposed()
{
/*
An exception occurred when decompiling this method (0600CC8E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::CheckIfClosedThrowDisposed()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_0A:
stloc:ObjectDisposedException(var_0_14, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x17002086 RID: 8326
// (get) Token: 0x0600CC8F RID: 52367 RVA: 0x002ED0E0 File Offset: 0x002EB2E0
[Token(Token = "0x17002086")]
public override bool CanRead
{
[Token(Token = "0x600CC8F")]
[Address(RVA = "0x195F8E0", Offset = "0x195E6E0", VA = "0x18195F8E0", Slot = "7")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17002087 RID: 8327
// (get) Token: 0x0600CC90 RID: 52368 RVA: 0x002ED0F8 File Offset: 0x002EB2F8
[Token(Token = "0x17002087")]
public override bool CanSeek
{
[Token(Token = "0x600CC90")]
[Address(RVA = "0x195F8E0", Offset = "0x195E6E0", VA = "0x18195F8E0", Slot = "8")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17002088 RID: 8328
// (get) Token: 0x0600CC91 RID: 52369 RVA: 0x002ED110 File Offset: 0x002EB310
[Token(Token = "0x17002088")]
public override bool CanWrite
{
[Token(Token = "0x600CC91")]
[Address(RVA = "0x195F8F0", Offset = "0x195E6F0", VA = "0x18195F8F0", Slot = "9")]
get
{
if (this.streamClosed)
{
}
return this.canWrite;
}
}
// Token: 0x17002089 RID: 8329
// (get) Token: 0x0600CC92 RID: 52370 RVA: 0x002ED130 File Offset: 0x002EB330
// (set) Token: 0x0600CC93 RID: 52371 RVA: 0x002ED158 File Offset: 0x002EB358
[Token(Token = "0x17002089")]
public int Capacity
{
[Token(Token = "0x600CC92")]
[Address(RVA = "0x195F900", Offset = "0x195E700", VA = "0x18195F900")]
get
{
/*
An exception occurred when decompiling this method (0600CC92)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Extensions.BufferPoolMemoryStream::get_Capacity()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_10:
stloc:ObjectDisposedException(var_0_1A, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
[Token(Token = "0x600CC93")]
[Address(RVA = "0x195FA50", Offset = "0x195E850", VA = "0x18195FA50")]
set
{
/*
An exception occurred when decompiling this method (0600CC93)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::set_Capacity(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_6E:
stloc:ObjectDisposedException(var_6_78, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x1700208A RID: 8330
// (get) Token: 0x0600CC94 RID: 52372 RVA: 0x002ED1E0 File Offset: 0x002EB3E0
[Token(Token = "0x1700208A")]
public override long Length
{
[Token(Token = "0x600CC94")]
[Address(RVA = "0x195F970", Offset = "0x195E770", VA = "0x18195F970", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600CC94)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.BufferPoolMemoryStream::get_Length()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_10:
stloc:ObjectDisposedException(var_1_1A, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x1700208B RID: 8331
// (get) Token: 0x0600CC95 RID: 52373 RVA: 0x002ED208 File Offset: 0x002EB408
// (set) Token: 0x0600CC96 RID: 52374 RVA: 0x002ED230 File Offset: 0x002EB430
[Token(Token = "0x1700208B")]
public override long Position
{
[Token(Token = "0x600CC95")]
[Address(RVA = "0x195F9E0", Offset = "0x195E7E0", VA = "0x18195F9E0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600CC95)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.BufferPoolMemoryStream::get_Position()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_10:
stloc:ObjectDisposedException(var_1_1A, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
[Token(Token = "0x600CC96")]
[Address(RVA = "0x195FD00", Offset = "0x195EB00", VA = "0x18195FD00", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CC96)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1C:
stloc:ObjectDisposedException(var_1_26, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CC97 RID: 52375 RVA: 0x002ED264 File Offset: 0x002EB464
[Token(Token = "0x600CC97")]
[Address(RVA = "0x195E530", Offset = "0x195D330", VA = "0x18195E530", Slot = "16")]
protected override void Dispose(bool disposing)
{
byte[] array = this.internalBuffer;
this.expandable = false;
if (array != 0)
{
VariableSizedBufferPool.Release(array);
}
this.internalBuffer = (ulong)0L;
}
// Token: 0x0600CC98 RID: 52376 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC98")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "17")]
public override void Flush()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC99 RID: 52377 RVA: 0x002ED294 File Offset: 0x002EB494
[Token(Token = "0x600CC99")]
[Address(RVA = "0x195E6A0", Offset = "0x195D4A0", VA = "0x18195E6A0")]
public byte[] GetBuffer()
{
/*
An exception occurred when decompiling this method (0600CC99)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.Extensions.BufferPoolMemoryStream::GetBuffer()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_10:
stloc:UnauthorizedAccessException(var_0_15, newobj:UnauthorizedAccessException(UnauthorizedAccessException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC9A RID: 52378 RVA: 0x002ED2B8 File Offset: 0x002EB4B8
[Token(Token = "0x600CC9A")]
[Address(RVA = "0x195E8E0", Offset = "0x195D6E0", VA = "0x18195E8E0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CC9A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Extensions.BufferPoolMemoryStream::Read(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_4B:
stloc:ObjectDisposedException(var_4_55, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC9B RID: 52379 RVA: 0x002ED31C File Offset: 0x002EB51C
[Token(Token = "0x600CC9B")]
[Address(RVA = "0x195E830", Offset = "0x195D630", VA = "0x18195E830", Slot = "28")]
public override int ReadByte()
{
/*
An exception occurred when decompiling this method (0600CC9B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Extensions.BufferPoolMemoryStream::ReadByte()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_2D:
stloc:ObjectDisposedException(var_4_37, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC9C RID: 52380 RVA: 0x002ED364 File Offset: 0x002EB564
[Token(Token = "0x600CC9C")]
[Address(RVA = "0x195EA90", Offset = "0x195D890", VA = "0x18195EA90", Slot = "25")]
public override long Seek(long offset, SeekOrigin loc)
{
/*
An exception occurred when decompiling this method (0600CC9C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.BufferPoolMemoryStream::Seek(System.Int64,System.IO.SeekOrigin)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_34:
stloc:ArgumentException(var_3_43, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("loc"), ldstr:string("Invalid SeekOrigin")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC9D RID: 52381 RVA: 0x002ED3B4 File Offset: 0x002EB5B4
[Token(Token = "0x600CC9D")]
[Address(RVA = "0x195E410", Offset = "0x195D210", VA = "0x18195E410")]
private int CalculateNewCapacity(int minimum)
{
int num = this.capacity;
num += num;
if (minimum >= num)
{
num = minimum;
}
if (!Mathf.IsPowerOfTwo(num))
{
return Mathf.NextPowerOfTwo(num);
}
return num;
}
// Token: 0x0600CC9E RID: 52382 RVA: 0x002ED3E4 File Offset: 0x002EB5E4
[Token(Token = "0x600CC9E")]
[Address(RVA = "0x195E5B0", Offset = "0x195D3B0", VA = "0x18195E5B0")]
private void Expand(int newSize)
{
int num = this.capacity;
int num2 = this.dirty_bytes;
if (num2 > 0)
{
int num3 = this.length;
Array.Clear(this.internalBuffer, num3, num2);
this.dirty_bytes = (int)((ulong)0L);
return;
}
}
// Token: 0x0600CC9F RID: 52383 RVA: 0x002ED42C File Offset: 0x002EB62C
[Token(Token = "0x600CC9F")]
[Address(RVA = "0x195EC60", Offset = "0x195DA60", VA = "0x18195EC60", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600CC9F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::SetLength(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_57:
stloc:ObjectDisposedException(var_3_61, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CCA0 RID: 52384 RVA: 0x002ED49C File Offset: 0x002EB69C
[Token(Token = "0x600CCA0")]
[Address(RVA = "0x195EEC0", Offset = "0x195DCC0", VA = "0x18195EEC0")]
public byte[] ToArray()
{
int num = this.length;
if (num > 0)
{
int num2 = 0;
byte[] array = VariableSizedBufferPool.Get((long)num, num2 != 0);
}
byte[] noData = VariableSizedBufferPool.NoData;
byte[] array2 = this.internalBuffer;
if (array2 != 0)
{
int num3 = this.initialIndex;
int num4 = 0;
Buffer.BlockCopy(array2, num3, noData, num4, num);
}
return noData;
}
// Token: 0x0600CCA1 RID: 52385 RVA: 0x002ED4EC File Offset: 0x002EB6EC
[Token(Token = "0x600CCA1")]
[Address(RVA = "0x195EDE0", Offset = "0x195DBE0", VA = "0x18195EDE0")]
public byte[] ToArray(bool canBeLarger)
{
int num = this.length;
if (num > 0)
{
byte[] array = VariableSizedBufferPool.Get((long)num, canBeLarger);
}
byte[] noData = VariableSizedBufferPool.NoData;
byte[] array2 = this.internalBuffer;
if (array2 != 0)
{
int num2 = this.initialIndex;
int num3 = 0;
Buffer.BlockCopy(array2, num2, noData, num3, num);
}
return noData;
}
// Token: 0x0600CCA2 RID: 52386 RVA: 0x002ED538 File Offset: 0x002EB738
[Token(Token = "0x600CCA2")]
[Address(RVA = "0x195F1A0", Offset = "0x195DFA0", VA = "0x18195F1A0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CCA2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::Write(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_59:
stloc:ObjectDisposedException(var_6_63, newobj:ObjectDisposedException(ObjectDisposedException::.ctor, ldstr:string("MemoryStream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CCA3 RID: 52387 RVA: 0x002ED5AC File Offset: 0x002EB7AC
[Token(Token = "0x600CCA3")]
[Address(RVA = "0x195EF90", Offset = "0x195DD90", VA = "0x18195EF90", Slot = "30")]
public override void WriteByte(byte value)
{
/*
An exception occurred when decompiling this method (0600CCA3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::WriteByte(System.Byte)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_58:
stloc:NotSupportedException(var_6_62, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Cannot write to this stream.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CCA4 RID: 52388 RVA: 0x002ED61C File Offset: 0x002EB81C
[Token(Token = "0x600CCA4")]
[Address(RVA = "0x195F0B0", Offset = "0x195DEB0", VA = "0x18195F0B0")]
public void WriteTo(Stream stream)
{
/*
An exception occurred when decompiling this method (0600CCA4)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.BufferPoolMemoryStream::WriteTo(System.IO.Stream)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_32:
stloc:ArgumentNullException(var_4_3C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("stream")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x04008250 RID: 33360
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008250")]
private bool canWrite;
// Token: 0x04008251 RID: 33361
[FieldOffset(Offset = "0x29")]
[Token(Token = "0x4008251")]
private bool allowGetBuffer;
// Token: 0x04008252 RID: 33362
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4008252")]
private int capacity;
// Token: 0x04008253 RID: 33363
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008253")]
private int length;
// Token: 0x04008254 RID: 33364
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008254")]
private byte[] internalBuffer;
// Token: 0x04008255 RID: 33365
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008255")]
private int initialIndex;
// Token: 0x04008256 RID: 33366
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4008256")]
private bool expandable;
// Token: 0x04008257 RID: 33367
[FieldOffset(Offset = "0x45")]
[Token(Token = "0x4008257")]
private bool streamClosed;
// Token: 0x04008258 RID: 33368
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008258")]
private int position;
// Token: 0x04008259 RID: 33369
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4008259")]
private int dirty_bytes;
}
}
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F9A RID: 8090
[Token(Token = "0x2001F9A")]
internal struct BufferStore
{
// Token: 0x0600CD01 RID: 52481 RVA: 0x002EE580 File Offset: 0x002EC780
[Token(Token = "0x600CD01")]
[Address(RVA = "0x1712790", Offset = "0x1711590", VA = "0x181712790")]
public BufferStore(long size)
{
this.Size = size;
List<BufferDesc> list = new List();
this.buffers = list;
}
// Token: 0x0600CD02 RID: 52482 RVA: 0x002EE5A4 File Offset: 0x002EC7A4
[Token(Token = "0x600CD02")]
[Address(RVA = "0x17126C0", Offset = "0x17114C0", VA = "0x1817126C0")]
public BufferStore(long size, byte[] buffer)
{
this.Size = size;
List<BufferDesc> list = new List();
int num = 0;
this.buffers = list;
list.Add(num);
}
// Token: 0x04008274 RID: 33396
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008274")]
public readonly long Size;
// Token: 0x04008275 RID: 33397
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4008275")]
public List<BufferDesc> buffers;
}
}
@@ -0,0 +1,95 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F8E RID: 8078
[Token(Token = "0x2001F8E")]
public sealed class CircularBuffer<T>
{
// Token: 0x1700208C RID: 8332
// (get) Token: 0x0600CCA5 RID: 52389 RVA: 0x002ED668 File Offset: 0x002EB868
// (set) Token: 0x0600CCA6 RID: 52390 RVA: 0x002ED67C File Offset: 0x002EB87C
[Token(Token = "0x1700208C")]
public int Capacity
{
[Token(Token = "0x600CCA5")]
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
get;
[Token(Token = "0x600CCA6")]
[Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")]
private set;
}
// Token: 0x1700208D RID: 8333
// (get) Token: 0x0600CCA7 RID: 52391 RVA: 0x002ED690 File Offset: 0x002EB890
// (set) Token: 0x0600CCA8 RID: 52392 RVA: 0x002ED6A4 File Offset: 0x002EB8A4
[Token(Token = "0x1700208D")]
public int Count
{
[Token(Token = "0x600CCA7")]
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
get;
[Token(Token = "0x600CCA8")]
[Address(RVA = "0x52EC20", Offset = "0x52DA20", VA = "0x18052EC20")]
private set;
}
// Token: 0x1700208E RID: 8334
[Token(Token = "0x1700208E")]
public T this[int idx]
{
[Token(Token = "0x600CCA9")]
[Address(RVA = "0x2A33050", Offset = "0x2A31E50", VA = "0x182A33050")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600CCAA")]
[Address(RVA = "0x2A331C0", Offset = "0x2A31FC0", VA = "0x182A331C0")]
set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600CCAB RID: 52395 RVA: 0x002ED6B8 File Offset: 0x002EB8B8
[Token(Token = "0x600CCAB")]
[Address(RVA = "0x2A32FF0", Offset = "0x2A31DF0", VA = "0x182A32FF0")]
public CircularBuffer(int capacity)
{
}
// Token: 0x0600CCAC RID: 52396 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CCAC")]
[Address(RVA = "0x2A32CA0", Offset = "0x2A31AA0", VA = "0x182A32CA0")]
public void Add(T element)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CCAD RID: 52397 RVA: 0x002ED6D4 File Offset: 0x002EB8D4
[Token(Token = "0x600CCAD")]
[Address(RVA = "0x2A32FE0", Offset = "0x2A31DE0", VA = "0x182A32FE0")]
public void Clear()
{
int num = 0;
this.startIdx = num;
}
// Token: 0x0400825C RID: 33372
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400825C")]
private T[] buffer;
// Token: 0x0400825D RID: 33373
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400825D")]
private int startIdx;
// Token: 0x0400825E RID: 33374
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400825E")]
private int endIdx;
}
}
@@ -0,0 +1,18 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F92 RID: 8082
[Token(Token = "0x2001F92")]
public static class ExceptionHelper
{
// Token: 0x0600CCD5 RID: 52437 RVA: 0x002EDEA4 File Offset: 0x002EC0A4
[Token(Token = "0x600CCD5")]
[Address(RVA = "0x17127F0", Offset = "0x17115F0", VA = "0x1817127F0")]
public static Exception ServerClosedTCPStream()
{
return new Exception("TCP Stream closed unexpectedly by the remote server");
}
}
}
@@ -0,0 +1,513 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F8F RID: 8079
[Token(Token = "0x2001F8F")]
public static class Extensions
{
// Token: 0x0600CCAE RID: 52398 RVA: 0x002ED6EC File Offset: 0x002EB8EC
[Token(Token = "0x600CCAE")]
[Address(RVA = "0x1712840", Offset = "0x1711640", VA = "0x181712840")]
public static string AsciiToString(this byte[] bytes)
{
int length;
StringBuilder stringBuilder = new StringBuilder(length);
length = bytes.Length;
int num = 0;
int length2 = bytes.Length;
if (num < length2)
{
byte b;
StringBuilder stringBuilder2 = stringBuilder.Append((char)b);
num++;
}
throw new NullReferenceException();
}
// Token: 0x0600CCAF RID: 52399 RVA: 0x002ED728 File Offset: 0x002EB928
[Token(Token = "0x600CCAF")]
[Address(RVA = "0x1712CF0", Offset = "0x1711AF0", VA = "0x181712CF0")]
public static byte[] GetASCIIBytes(this string str)
{
int stringLength = str.m_stringLength;
int num = 0;
byte[] array = VariableSizedBufferPool.Get((long)stringLength, num != 0);
int num2 = 0;
if (num2 < str.m_stringLength)
{
char c = str[num2];
num2++;
}
return array;
}
// Token: 0x0600CCB0 RID: 52400 RVA: 0x002ED768 File Offset: 0x002EB968
[Token(Token = "0x600CCB0")]
[Address(RVA = "0x1713B60", Offset = "0x1712960", VA = "0x181713B60")]
public static void SendAsASCII(this BinaryWriter stream, string str)
{
int num = 0;
if (num < str.m_stringLength)
{
char c = str[num];
stream.Write(c != '\0');
num++;
}
}
// Token: 0x0600CCB1 RID: 52401 RVA: 0x002ED79C File Offset: 0x002EB99C
[Token(Token = "0x600CCB1")]
[Address(RVA = "0x17140B0", Offset = "0x1712EB0", VA = "0x1817140B0")]
public static void WriteLine(this Stream fs)
{
int num = fs.ReadByte();
}
// Token: 0x0600CCB2 RID: 52402 RVA: 0x002ED7B8 File Offset: 0x002EB9B8
[Token(Token = "0x600CCB2")]
[Address(RVA = "0x1714230", Offset = "0x1713030", VA = "0x181714230")]
public static void WriteLine(this Stream fs, string line)
{
byte[] asciibytes = line.GetASCIIBytes();
int num = fs.ReadByte();
fs.WriteLine();
VariableSizedBufferPool.Release(asciibytes);
}
// Token: 0x0600CCB3 RID: 52403 RVA: 0x002ED7E8 File Offset: 0x002EB9E8
[Token(Token = "0x600CCB3")]
[Address(RVA = "0x1714140", Offset = "0x1712F40", VA = "0x181714140")]
public static void WriteLine(this Stream fs, string format, params object[] values)
{
byte[] asciibytes = string.Format(format, values).GetASCIIBytes();
int num = fs.ReadByte();
fs.WriteLine();
VariableSizedBufferPool.Release(asciibytes);
}
// Token: 0x0600CCB4 RID: 52404 RVA: 0x002ED81C File Offset: 0x002EBA1C
[Token(Token = "0x600CCB4")]
[Address(RVA = "0x1712DD0", Offset = "0x1711BD0", VA = "0x181712DD0")]
public static string GetRequestPathAndQueryURL(this Uri uri)
{
string parts = uri.GetParts(UriComponents.PathAndQuery, UriFormat.UriEscaped);
return "/";
}
// Token: 0x0600CCB5 RID: 52405 RVA: 0x002ED840 File Offset: 0x002EBA40
[Token(Token = "0x600CCB5")]
[Address(RVA = "0x1712B50", Offset = "0x1711950", VA = "0x181712B50")]
public static string[] FindOption(this string str, string option)
{
string text = str.ToLower();
(new char[1])[0] = (char)((uint)44);
string text2 = option.ToLower();
int num = 0;
string[] array;
int length = array.Length;
if (num < length)
{
string text3 = array[num];
int num2 = 0;
if (!text3.Contains(text2))
{
num++;
}
string text4 = array[num];
return text4.Split(new char[] { (char)((uint)61) }, (StringSplitOptions)num2);
}
throw new NullReferenceException();
}
// Token: 0x0600CCB6 RID: 52406 RVA: 0x002ED8C4 File Offset: 0x002EBAC4
[Token(Token = "0x600CCB6")]
[Address(RVA = "0x6D84B0", Offset = "0x6D72B0", VA = "0x1806D84B0")]
public static void WriteArray(this Stream stream, byte[] array)
{
int num = stream.ReadByte();
}
// Token: 0x0600CCB7 RID: 52407 RVA: 0x002ED8E0 File Offset: 0x002EBAE0
[Token(Token = "0x600CCB7")]
[Address(RVA = "0x1712E40", Offset = "0x1711C40", VA = "0x181712E40")]
public static bool IsHostIsAnIPAddress(this Uri uri)
{
int num = 0;
if (!(uri == num))
{
string host = uri.Host;
if (!string.IsNullOrEmpty(host))
{
string text = host.Trim();
bool flag;
if (flag)
{
return true;
}
}
bool flag2;
if (!string.IsNullOrEmpty(uri.Host) && flag2)
{
bool flag3;
return flag3;
}
}
throw new NullReferenceException();
}
// Token: 0x0600CCB8 RID: 52408 RVA: 0x002ED938 File Offset: 0x002EBB38
[Token(Token = "0x600CCB8")]
[Address(RVA = "0x1713050", Offset = "0x1711E50", VA = "0x181713050")]
public static bool IsIpV4AddressValid(string address)
{
if (string.IsNullOrEmpty(address))
{
}
string text = address.Trim();
bool flag;
return flag;
}
// Token: 0x0600CCB9 RID: 52409 RVA: 0x002ED960 File Offset: 0x002EBB60
[Token(Token = "0x600CCB9")]
[Address(RVA = "0x1713100", Offset = "0x1711F00", VA = "0x181713100")]
public static bool IsIpV6AddressValid(string address)
{
bool flag;
if (!string.IsNullOrEmpty(address) && flag)
{
bool flag2;
return flag2;
}
throw new NullReferenceException();
}
// Token: 0x0600CCBA RID: 52410 RVA: 0x002ED984 File Offset: 0x002EBB84
[Token(Token = "0x600CCBA")]
[Address(RVA = "0x1713D40", Offset = "0x1712B40", VA = "0x181713D40")]
public static int ToInt32(this string str, int defaultValue = 0)
{
if (str != 0)
{
return int.Parse(str);
}
return defaultValue;
}
// Token: 0x0600CCBB RID: 52411 RVA: 0x002ED9A0 File Offset: 0x002EBBA0
[Token(Token = "0x600CCBB")]
[Address(RVA = "0x1713DC0", Offset = "0x1712BC0", VA = "0x181713DC0")]
public static long ToInt64(this string str, long defaultValue = 0L)
{
if (str != 0)
{
return long.Parse(str);
}
return defaultValue;
}
// Token: 0x0600CCBC RID: 52412 RVA: 0x002ED9BC File Offset: 0x002EBBBC
[Token(Token = "0x600CCBC")]
[Address(RVA = "0x1713C90", Offset = "0x1712A90", VA = "0x181713C90")]
public static DateTime ToDateTime(this string str, [Optional] DateTime defaultValue)
{
if (str != 0)
{
bool flag = DateTime.TryParse(str, defaultValue);
DateTime dateTime;
return dateTime;
}
return defaultValue;
}
// Token: 0x0600CCBD RID: 52413 RVA: 0x002ED9D8 File Offset: 0x002EBBD8
[Token(Token = "0x600CCBD")]
[Address(RVA = "0x1713E40", Offset = "0x1712C40", VA = "0x181713E40")]
public static string ToStrOrEmpty(this string str)
{
if (str != 0)
{
return str;
}
return string.Empty;
}
// Token: 0x0600CCBE RID: 52414 RVA: 0x002ED9F0 File Offset: 0x002EBBF0
[Token(Token = "0x600CCBE")]
[Address(RVA = "0x1712AB0", Offset = "0x17118B0", VA = "0x181712AB0")]
public static string CalculateMD5Hash(this string input)
{
byte[] asciibytes = input.GetASCIIBytes();
string text = asciibytes.CalculateMD5Hash();
VariableSizedBufferPool.Release(asciibytes);
return text;
}
// Token: 0x0600CCBF RID: 52415 RVA: 0x002EDA14 File Offset: 0x002EBC14
[Token(Token = "0x600CCBF")]
[Address(RVA = "0x1712910", Offset = "0x1711710", VA = "0x181712910")]
public static string CalculateMD5Hash(this byte[] input)
{
int num;
do
{
num = 0;
MD5 md = MD5.Create();
byte[] array = md.ComputeHash(input);
int length;
StringBuilder stringBuilder = new StringBuilder(length);
length = array.Length;
if (num < array.Length)
{
num += 32;
num += array;
string text;
StringBuilder stringBuilder2 = stringBuilder.Append(text);
num++;
}
VariableSizedBufferPool.Release(array);
int hashCode = stringBuilder.GetHashCode();
if (md != 0)
{
}
}
while (num != 0);
throw new IndexOutOfRangeException();
}
// Token: 0x0600CCC0 RID: 52416 RVA: 0x002EDA9C File Offset: 0x002EBC9C
[Token(Token = "0x600CCC0")]
[Address(RVA = "0x1713A70", Offset = "0x1712870", VA = "0x181713A70")]
internal static string Read(this string str, ref int pos, char block, bool needResult = true)
{
Func<char, bool> func = (char ch) => ch != block;
return Extensions.Read(str, ref pos, func, needResult);
}
// Token: 0x0600CCC1 RID: 52417 RVA: 0x002EDAD4 File Offset: 0x002EBCD4
[Token(Token = "0x600CCC1")]
[Address(RVA = "0x1713960", Offset = "0x1712760", VA = "0x181713960")]
internal static string Read(this string str, ref int pos, Func<char, bool> block, bool needResult = true)
{
int stringLength = str.m_stringLength;
str.SkipWhiteSpace(ref pos);
char c;
if (block(c) != 0)
{
}
if (needResult)
{
}
throw new NullReferenceException();
}
// Token: 0x0600CCC2 RID: 52418 RVA: 0x002EDB04 File Offset: 0x002EBD04
[Token(Token = "0x600CCC2")]
[Address(RVA = "0x17137A0", Offset = "0x17125A0", VA = "0x1817137A0")]
internal static string ReadPossibleQuotedText(this string str, ref int pos)
{
string empty = string.Empty;
if (str != 0)
{
Func<char, bool> <>9__21_ = Extensions.<>c.<>9__21_0;
if (<>9__21_ == 0)
{
Extensions.<>c.<>9__21_0 = delegate(char ch)
{
bool flag;
return flag;
};
}
string text = Extensions.Read(str, ref pos, <>9__21_, true);
}
return empty;
}
// Token: 0x0600CCC3 RID: 52419 RVA: 0x002EDB54 File Offset: 0x002EBD54
[Token(Token = "0x600CCC3")]
[Address(RVA = "0x1713BF0", Offset = "0x17129F0", VA = "0x181713BF0")]
internal static void SkipWhiteSpace(this string str, ref int pos)
{
char c;
if (char.IsWhiteSpace(c))
{
}
}
// Token: 0x0600CCC4 RID: 52420 RVA: 0x002EDB70 File Offset: 0x002EBD70
[Token(Token = "0x600CCC4")]
[Address(RVA = "0x1713E90", Offset = "0x1712C90", VA = "0x181713E90")]
internal static string TrimAndLower(this string str)
{
if (str != 0)
{
char[] array = new char[str.m_stringLength];
int num = 0;
int num2 = 0;
if (0 < str.m_stringLength)
{
char c = str[num2];
if (!char.IsWhiteSpace(c) && !char.IsControl(c))
{
num++;
char c2 = char.ToLowerInvariant(c);
array[0] = c2;
}
num2++;
}
string text;
return text;
}
throw new IndexOutOfRangeException();
}
// Token: 0x0600CCC5 RID: 52421 RVA: 0x002EDBE0 File Offset: 0x002EBDE0
[Token(Token = "0x600CCC5")]
[Address(RVA = "0x17135C0", Offset = "0x17123C0", VA = "0x1817135C0")]
internal static char? Peek(this string str, int pos)
{
if (pos < str.m_stringLength)
{
char c = str[pos];
}
throw new NullReferenceException();
}
// Token: 0x0600CCC6 RID: 52422 RVA: 0x002EDC08 File Offset: 0x002EBE08
[Token(Token = "0x600CCC6")]
[Address(RVA = "0x17131A0", Offset = "0x1711FA0", VA = "0x1817131A0")]
internal static List<HeaderValue> ParseOptionalHeader(this string str)
{
List<HeaderValue> list = new List();
if (str != 0)
{
int num = 0;
if (num < str.m_stringLength)
{
Func<char, bool> <>9__25_ = Extensions.<>c.<>9__25_0;
if (<>9__25_ == 0)
{
Extensions.<>c.<>9__25_0 = delegate(char ch)
{
bool flag;
return flag;
};
}
string text = Extensions.Read(str, num, <>9__25_, true).TrimAndLower();
HeaderValue headerValue = new HeaderValue();
headerValue.<Key>k__BackingField = text;
char c = str[-1];
string text2 = str.ReadPossibleQuotedText(num);
headerValue.<Value>k__BackingField = text2;
list.Add(headerValue);
}
}
return list;
}
// Token: 0x0600CCC7 RID: 52423 RVA: 0x002EDC94 File Offset: 0x002EBE94
[Token(Token = "0x600CCC7")]
[Address(RVA = "0x17133A0", Offset = "0x17121A0", VA = "0x1817133A0")]
internal static List<HeaderValue> ParseQualityParams(this string str)
{
List<HeaderValue> list = new List();
if (str != 0)
{
int num = 0;
if (num < str.m_stringLength)
{
Func<char, bool> <>9__26_ = Extensions.<>c.<>9__26_0;
if (<>9__26_ == 0)
{
Extensions.<>c.<>9__26_0 = delegate(char ch)
{
bool flag;
return flag;
};
}
string text = Extensions.Read(str, num, <>9__26_, true).TrimAndLower();
HeaderValue headerValue = new HeaderValue();
headerValue.<Key>k__BackingField = text;
char c = str[-1];
string text2;
headerValue.<Value>k__BackingField = text2;
list.Add(headerValue);
}
}
return list;
}
// Token: 0x0600CCC8 RID: 52424 RVA: 0x002EDD18 File Offset: 0x002EBF18
[Token(Token = "0x600CCC8")]
[Address(RVA = "0x1713650", Offset = "0x1712450", VA = "0x181713650")]
public static void ReadBuffer(this Stream stream, byte[] buffer)
{
int num = 0;
int num2 = buffer.Length;
num2 -= num;
}
// Token: 0x0600CCC9 RID: 52425 RVA: 0x002EDD38 File Offset: 0x002EBF38
[Token(Token = "0x600CCC9")]
[Address(RVA = "0x17136F0", Offset = "0x17124F0", VA = "0x1817136F0")]
public static void ReadBuffer(this Stream stream, byte[] buffer, int length)
{
}
// Token: 0x0600CCCA RID: 52426 RVA: 0x002EDD50 File Offset: 0x002EBF50
[Token(Token = "0x600CCCA")]
[Address(RVA = "0x17144C0", Offset = "0x17132C0", VA = "0x1817144C0")]
public static void WriteString(this BufferPoolMemoryStream ms, string str)
{
object obj = Encoding.UTF8.Clone();
byte[] bytes = Encoding.UTF8.GetBytes(str);
int num = ms.ReadByte();
byte[] array;
VariableSizedBufferPool.Release(array);
}
// Token: 0x0600CCCB RID: 52427 RVA: 0x002EDD90 File Offset: 0x002EBF90
[Token(Token = "0x600CCCB")]
[Address(RVA = "0x1714020", Offset = "0x1712E20", VA = "0x181714020")]
public static void WriteLine(this BufferPoolMemoryStream ms)
{
byte[] eol = HTTPRequest.EOL;
int num = ms.ReadByte();
}
// Token: 0x0600CCCC RID: 52428 RVA: 0x002EDDB0 File Offset: 0x002EBFB0
[Token(Token = "0x600CCCC")]
[Address(RVA = "0x1714300", Offset = "0x1713100", VA = "0x181714300")]
public static void WriteLine(this BufferPoolMemoryStream ms, string str)
{
object obj = Encoding.UTF8.Clone();
byte[] bytes = Encoding.UTF8.GetBytes(str);
int num = ms.ReadByte();
byte[] array;
VariableSizedBufferPool.Release(array);
byte[] eol = HTTPRequest.EOL;
int num2 = ms.ReadByte();
}
// Token: 0x0600CCCD RID: 52429 RVA: 0x002EDDFC File Offset: 0x002EBFFC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600CCCD")]
[Address(RVA = "0x17145E0", Offset = "0x17133E0", VA = "0x1817145E0")]
static Extensions()
{
Regex regex = new Regex("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b", RegexOptions.IgnoreCase);
}
// Token: 0x0400825F RID: 33375
[Token(Token = "0x400825F")]
private static readonly Regex validIpV4AddressRegex;
}
}
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F93 RID: 8083
[Token(Token = "0x2001F93")]
public sealed class HeaderParser : KeyValuePairList
{
// Token: 0x0600CCD6 RID: 52438 RVA: 0x002EDEBC File Offset: 0x002EC0BC
[Token(Token = "0x600CCD6")]
[Address(RVA = "0x17280F0", Offset = "0x1726EF0", VA = "0x1817280F0")]
public HeaderParser(string headerStr)
{
List<HeaderValue> list = this.Parse(headerStr);
this.<Values>k__BackingField = list;
}
// Token: 0x0600CCD7 RID: 52439 RVA: 0x002EDEE0 File Offset: 0x002EC0E0
[Token(Token = "0x600CCD7")]
[Address(RVA = "0x1727F80", Offset = "0x1726D80", VA = "0x181727F80")]
private List<HeaderValue> Parse(string headerStr)
{
List<HeaderValue> list = new List();
int stringLength = headerStr.m_stringLength;
HeaderValue headerValue = new HeaderValue();
list.Add(headerValue);
ILogger logger = HTTPManager.Logger;
return list;
}
}
}
@@ -0,0 +1,171 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F94 RID: 8084
[Token(Token = "0x2001F94")]
public sealed class HeaderValue
{
// Token: 0x1700208F RID: 8335
// (get) Token: 0x0600CCD8 RID: 52440 RVA: 0x002EDF2C File Offset: 0x002EC12C
// (set) Token: 0x0600CCD9 RID: 52441 RVA: 0x002EDF40 File Offset: 0x002EC140
[Token(Token = "0x1700208F")]
public string Key
{
[Token(Token = "0x600CCD8")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CCD9")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x17002090 RID: 8336
// (get) Token: 0x0600CCDA RID: 52442 RVA: 0x002EDF54 File Offset: 0x002EC154
// (set) Token: 0x0600CCDB RID: 52443 RVA: 0x002EDF68 File Offset: 0x002EC168
[Token(Token = "0x17002090")]
public string Value
{
[Token(Token = "0x600CCDA")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CCDB")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
set;
}
// Token: 0x17002091 RID: 8337
// (get) Token: 0x0600CCDC RID: 52444 RVA: 0x002EDF7C File Offset: 0x002EC17C
// (set) Token: 0x0600CCDD RID: 52445 RVA: 0x002EDF90 File Offset: 0x002EC190
[Token(Token = "0x17002091")]
public List<HeaderValue> Options
{
[Token(Token = "0x600CCDC")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CCDD")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
set;
}
// Token: 0x17002092 RID: 8338
// (get) Token: 0x0600CCDE RID: 52446 RVA: 0x002EDFA4 File Offset: 0x002EC1A4
[Token(Token = "0x17002092")]
public bool HasValue
{
[Token(Token = "0x600CCDE")]
[Address(RVA = "0x1728620", Offset = "0x1727420", VA = "0x181728620")]
get
{
return !string.IsNullOrEmpty(this.<Value>k__BackingField);
}
}
// Token: 0x0600CCDF RID: 52447 RVA: 0x002EDFC0 File Offset: 0x002EC1C0
[Token(Token = "0x600CCDF")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HeaderValue()
{
}
// Token: 0x0600CCE0 RID: 52448 RVA: 0x002EDFD4 File Offset: 0x002EC1D4
[Token(Token = "0x600CCE0")]
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
public HeaderValue(string key)
{
this.Key = key;
}
// Token: 0x0600CCE1 RID: 52449 RVA: 0x002EDFF0 File Offset: 0x002EC1F0
[Token(Token = "0x600CCE1")]
[Address(RVA = "0x1728480", Offset = "0x1727280", VA = "0x181728480")]
public void Parse(string headerStr, ref int pos)
{
this.ParseImplementation(headerStr, ref pos, true);
}
// Token: 0x0600CCE2 RID: 52450 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CCE2")]
[Address(RVA = "0x1728530", Offset = "0x1727330", VA = "0x181728530")]
public bool TryGetOption(string key, out HeaderValue option)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CCE3 RID: 52451 RVA: 0x002EE008 File Offset: 0x002EC208
[Token(Token = "0x600CCE3")]
[Address(RVA = "0x1728130", Offset = "0x1726F30", VA = "0x181728130")]
private void ParseImplementation(string headerStr, ref int pos, bool isOptionIsAnOption)
{
Func<char, bool> <>9__18_ = HeaderValue.<>c.<>9__18_0;
if (<>9__18_ == 0)
{
HeaderValue.<>c.<>9__18_0 = delegate(char ch)
{
bool flag3;
return flag3;
};
}
int num = 0;
string text = Extensions.Read(headerStr, ref pos, <>9__18_, true);
this.<Key>k__BackingField = text;
char? c;
char value = c.value;
char value2 = c.value;
bool flag = num == 61;
if (!isOptionIsAnOption)
{
}
bool flag2 = num == 59;
if (num != 59)
{
if (!flag)
{
if (!flag2)
{
goto IL_B1;
}
HeaderValue headerValue = new HeaderValue();
int num2 = 0;
headerValue.ParseImplementation(headerStr, ref pos, num2 != 0);
List<HeaderValue> list = this.<Options>k__BackingField;
if (list == 0)
{
List<HeaderValue> list2 = new List();
this.<Options>k__BackingField = list2;
}
list.Add(headerValue);
}
string text2 = headerStr.ReadPossibleQuotedText(ref pos);
this.<Value>k__BackingField = text2;
IL_B1:
if (isOptionIsAnOption)
{
char? c2 = Extensions.Peek(headerStr, ref pos);
char value3 = c2.value;
char value4 = c2.value;
while (num != 59)
{
}
}
}
}
// Token: 0x0600CCE4 RID: 52452 RVA: 0x002EE0F0 File Offset: 0x002EC2F0
[Token(Token = "0x600CCE4")]
[Address(RVA = "0x17284A0", Offset = "0x17272A0", VA = "0x1817284A0", Slot = "3")]
public override string ToString()
{
bool flag = string.IsNullOrEmpty(this.<Value>k__BackingField);
string text = this.<Key>k__BackingField;
if (flag)
{
return text;
}
string text2;
return text2;
}
}
}
@@ -0,0 +1,116 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F97 RID: 8087
[Token(Token = "0x2001F97")]
public sealed class HeartbeatManager
{
// Token: 0x0600CCE9 RID: 52457 RVA: 0x002EE154 File Offset: 0x002EC354
[Token(Token = "0x600CCE9")]
[Address(RVA = "0x1728640", Offset = "0x1727440", VA = "0x181728640")]
public void Subscribe(IHeartbeat heartbeat)
{
int num;
do
{
num = 0;
List<IHeartbeat> heartbeats = this.Heartbeats;
if (!this.Heartbeats.Contains(heartbeat))
{
this.Heartbeats.Add(heartbeat);
}
Monitor.Exit(heartbeats);
}
while (num != 0);
}
// Token: 0x0600CCEA RID: 52458 RVA: 0x002EE19C File Offset: 0x002EC39C
[Token(Token = "0x600CCEA")]
[Address(RVA = "0x1728730", Offset = "0x1727530", VA = "0x181728730")]
public void Unsubscribe(IHeartbeat heartbeat)
{
int num;
do
{
num = 0;
List<IHeartbeat> heartbeats = this.Heartbeats;
bool flag = this.Heartbeats.Remove(heartbeat);
Monitor.Exit(heartbeats);
}
while (num != 0);
}
// Token: 0x0600CCEB RID: 52459 RVA: 0x002EE1D0 File Offset: 0x002EC3D0
[Token(Token = "0x600CCEB")]
[Address(RVA = "0x1728800", Offset = "0x1727600", VA = "0x181728800")]
public void Update()
{
int num = 0;
DateTime lastUpdate = this.LastUpdate;
DateTime minValue = DateTime.MinValue;
if (!(lastUpdate == minValue))
{
DateTime utcNow = DateTime.UtcNow;
DateTime lastUpdate2 = this.LastUpdate;
TimeSpan timeSpan = utcNow - lastUpdate2;
DateTime utcNow2 = DateTime.UtcNow;
this.LastUpdate = utcNow2;
List<IHeartbeat> heartbeats = this.Heartbeats;
IHeartbeat[] updateArray = this.UpdateArray;
if (updateArray != 0)
{
int size = this.Heartbeats._size;
if (updateArray.Length >= size)
{
goto IL_7F;
}
}
List<IHeartbeat> heartbeats2 = this.Heartbeats;
IL_7F:
int size2 = this.Heartbeats._size;
List<IHeartbeat> heartbeats3 = this.Heartbeats;
int num2 = 0;
Monitor.Exit(heartbeats);
if (num != 0)
{
throw new IndexOutOfRangeException();
}
IHeartbeat heartbeat = this.UpdateArray[num2];
num2++;
}
DateTime utcNow3 = DateTime.UtcNow;
this.LastUpdate = utcNow3;
}
// Token: 0x0600CCEC RID: 52460 RVA: 0x002EE2D0 File Offset: 0x002EC4D0
[Token(Token = "0x600CCEC")]
[Address(RVA = "0x1728A80", Offset = "0x1727880", VA = "0x181728A80")]
public HeartbeatManager()
{
List<IHeartbeat> list = new List();
this.Heartbeats = list;
DateTime minValue = DateTime.MinValue;
this.LastUpdate = minValue;
base..ctor();
}
// Token: 0x0400826A RID: 33386
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400826A")]
private List<IHeartbeat> Heartbeats;
// Token: 0x0400826B RID: 33387
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400826B")]
private IHeartbeat[] UpdateArray;
// Token: 0x0400826C RID: 33388
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400826C")]
private DateTime LastUpdate;
}
}
@@ -0,0 +1,15 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F96 RID: 8086
[Token(Token = "0x2001F96")]
public interface IHeartbeat
{
// Token: 0x0600CCE8 RID: 52456
[Token(Token = "0x600CCE8")]
[Address(Slot = "0")]
void OnHeartbeatUpdate(TimeSpan dif);
}
}
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F98 RID: 8088
[Token(Token = "0x2001F98")]
public class KeyValuePairList
{
// Token: 0x17002093 RID: 8339
// (get) Token: 0x0600CCED RID: 52461 RVA: 0x002EE300 File Offset: 0x002EC500
// (set) Token: 0x0600CCEE RID: 52462 RVA: 0x002EE314 File Offset: 0x002EC514
[Token(Token = "0x17002093")]
public List<HeaderValue> Values
{
[Token(Token = "0x600CCED")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CCEE")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
protected set;
}
// Token: 0x0600CCEF RID: 52463 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CCEF")]
[Address(RVA = "0x1728B20", Offset = "0x1727920", VA = "0x181728B20")]
public bool TryGet(string valueKeyName, out HeaderValue param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CCF0 RID: 52464 RVA: 0x002EE328 File Offset: 0x002EC528
[Token(Token = "0x600CCF0")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public KeyValuePairList()
{
}
}
}
@@ -0,0 +1,385 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F99 RID: 8089
[Token(Token = "0x2001F99")]
public class ReadOnlyBufferedStream : Stream
{
// Token: 0x17002094 RID: 8340
// (get) Token: 0x0600CCF1 RID: 52465 RVA: 0x002EE33C File Offset: 0x002EC53C
// (set) Token: 0x0600CCF2 RID: 52466 RVA: 0x002EE350 File Offset: 0x002EC550
[Token(Token = "0x17002094")]
public bool CheckForDataAvailability
{
[Token(Token = "0x600CCF1")]
[Address(RVA = "0x494270", Offset = "0x493070", VA = "0x180494270")]
get;
[Token(Token = "0x600CCF2")]
[Address(RVA = "0x494500", Offset = "0x493300", VA = "0x180494500")]
set;
}
// Token: 0x0600CCF3 RID: 52467 RVA: 0x002EE364 File Offset: 0x002EC564
[Token(Token = "0x600CCF3")]
[Address(RVA = "0x17292A0", Offset = "0x17280A0", VA = "0x1817292A0")]
public ReadOnlyBufferedStream(Stream nstream)
{
this.stream = nstream;
byte[] array;
this.buf = array;
}
// Token: 0x0600CCF4 RID: 52468 RVA: 0x002EE388 File Offset: 0x002EC588
[Token(Token = "0x600CCF4")]
[Address(RVA = "0x1729030", Offset = "0x1727E30", VA = "0x181729030", Slot = "27")]
public override int Read(byte[] buffer, int offset, int size)
{
int num2;
do
{
int num = this.available;
num2 = 0;
if (size <= num)
{
break;
}
if (num > 0)
{
int num3 = this.pos;
Array.Copy(this.buf, num3, buffer, size, num);
int num4 = this.available;
this.available = num2;
}
Stream stream = this.stream;
int length = this.buf.Length;
this.pos = num2;
int num5 = 0;
Array.Copy(this.buf, num5, buffer, offset, size);
}
while (num2 <= 0);
int num6 = this.pos;
Array.Copy(this.buf, num6, buffer, size, size);
return size;
}
// Token: 0x0600CCF5 RID: 52469 RVA: 0x002EE428 File Offset: 0x002EC628
[Token(Token = "0x600CCF5")]
[Address(RVA = "0x1728F00", Offset = "0x1727D00", VA = "0x181728F00", Slot = "28")]
public override int ReadByte()
{
int num = this.available;
Stream stream = this.stream;
byte[] array = this.buf;
this.pos = (int)((ulong)0L);
this.pos = (int)((ulong)1L);
byte b = this.buf[0];
return -1;
}
// Token: 0x0600CCF6 RID: 52470 RVA: 0x002EE494 File Offset: 0x002EC694
[Token(Token = "0x600CCF6")]
[Address(RVA = "0x1728E40", Offset = "0x1727C40", VA = "0x181728E40", Slot = "16")]
protected override void Dispose(bool disposing)
{
byte[] array = this.buf;
if (array != 0)
{
VariableSizedBufferPool.Release(array);
}
this.buf = (ulong)0L;
}
// Token: 0x17002095 RID: 8341
// (get) Token: 0x0600CCF7 RID: 52471 RVA: 0x002EE4BC File Offset: 0x002EC6BC
[Token(Token = "0x17002095")]
public override bool CanRead
{
[Token(Token = "0x600CCF7")]
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "7")]
get
{
return true;
}
}
// Token: 0x17002096 RID: 8342
// (get) Token: 0x0600CCF8 RID: 52472 RVA: 0x002EE4CC File Offset: 0x002EC6CC
[Token(Token = "0x17002096")]
public override bool CanSeek
{
[Token(Token = "0x600CCF8")]
[Address(RVA = "0x1729340", Offset = "0x1728140", VA = "0x181729340", Slot = "8")]
get
{
/*
An exception occurred when decompiling this method (0600CCF8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Extensions.ReadOnlyBufferedStream::get_CanSeek()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17002097 RID: 8343
// (get) Token: 0x0600CCF9 RID: 52473 RVA: 0x002EE4E0 File Offset: 0x002EC6E0
[Token(Token = "0x17002097")]
public override bool CanWrite
{
[Token(Token = "0x600CCF9")]
[Address(RVA = "0x1729390", Offset = "0x1728190", VA = "0x181729390", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600CCF9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Extensions.ReadOnlyBufferedStream::get_CanWrite()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17002098 RID: 8344
// (get) Token: 0x0600CCFA RID: 52474 RVA: 0x002EE4F4 File Offset: 0x002EC6F4
[Token(Token = "0x17002098")]
public override long Length
{
[Token(Token = "0x600CCFA")]
[Address(RVA = "0x17293E0", Offset = "0x17281E0", VA = "0x1817293E0", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600CCFA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.ReadOnlyBufferedStream::get_Length()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17002099 RID: 8345
// (get) Token: 0x0600CCFB RID: 52475 RVA: 0x002EE508 File Offset: 0x002EC708
// (set) Token: 0x0600CCFC RID: 52476 RVA: 0x002EE51C File Offset: 0x002EC71C
[Token(Token = "0x17002099")]
public override long Position
{
[Token(Token = "0x600CCFB")]
[Address(RVA = "0x1729430", Offset = "0x1728230", VA = "0x181729430", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600CCFB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.ReadOnlyBufferedStream::get_Position()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
[Token(Token = "0x600CCFC")]
[Address(RVA = "0x1729480", Offset = "0x1728280", VA = "0x181729480", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CCFC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.ReadOnlyBufferedStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CCFD RID: 52477 RVA: 0x002EE530 File Offset: 0x002EC730
[Token(Token = "0x600CCFD")]
[Address(RVA = "0x1728EB0", Offset = "0x1727CB0", VA = "0x181728EB0", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600CCFD)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.ReadOnlyBufferedStream::Flush()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CCFE RID: 52478 RVA: 0x002EE544 File Offset: 0x002EC744
[Token(Token = "0x600CCFE")]
[Address(RVA = "0x17291B0", Offset = "0x1727FB0", VA = "0x1817291B0", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600CCFE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.ReadOnlyBufferedStream::Seek(System.Int64,System.IO.SeekOrigin)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CCFF RID: 52479 RVA: 0x002EE558 File Offset: 0x002EC758
[Token(Token = "0x600CCFF")]
[Address(RVA = "0x1729200", Offset = "0x1728000", VA = "0x181729200", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600CCFF)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.ReadOnlyBufferedStream::SetLength(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD00 RID: 52480 RVA: 0x002EE56C File Offset: 0x002EC76C
[Token(Token = "0x600CD00")]
[Address(RVA = "0x1729250", Offset = "0x1728050", VA = "0x181729250", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600CD00)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.ReadOnlyBufferedStream::Write(System.Byte[],System.Int32,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0400826F RID: 33391
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400826F")]
private Stream stream;
// Token: 0x04008270 RID: 33392
[Token(Token = "0x4008270")]
public const int READBUFFER = 8192;
// Token: 0x04008271 RID: 33393
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008271")]
private byte[] buf;
// Token: 0x04008272 RID: 33394
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008272")]
private int available;
// Token: 0x04008273 RID: 33395
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4008273")]
private int pos;
}
}
@@ -0,0 +1,423 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F9C RID: 8092
[Token(Token = "0x2001F9C")]
public static class VariableSizedBufferPool
{
// Token: 0x1700209A RID: 8346
// (get) Token: 0x0600CD05 RID: 52485 RVA: 0x002EE614 File Offset: 0x002EC814
// (set) Token: 0x0600CD06 RID: 52486 RVA: 0x002EE628 File Offset: 0x002EC828
[Token(Token = "0x1700209A")]
public static bool IsEnabled
{
[Token(Token = "0x600CD05")]
[Address(RVA = "0x172BBE0", Offset = "0x172A9E0", VA = "0x18172BBE0")]
get
{
return VariableSizedBufferPool._isEnabled;
}
[Token(Token = "0x600CD06")]
[Address(RVA = "0x172BC50", Offset = "0x172AA50", VA = "0x18172BC50")]
set
{
VariableSizedBufferPool._isEnabled = value;
if (!VariableSizedBufferPool._isEnabled)
{
VariableSizedBufferPool.Clear();
return;
}
}
}
// Token: 0x0600CD07 RID: 52487 RVA: 0x002EE64C File Offset: 0x002EC84C
[Token(Token = "0x600CD07")]
[Address(RVA = "0x172B9C0", Offset = "0x172A7C0", VA = "0x18172B9C0")]
static VariableSizedBufferPool()
{
TimeSpan timeSpan;
VariableSizedBufferPool.RemoveOlderThan = timeSpan;
TimeSpan timeSpan2;
VariableSizedBufferPool.RunMaintenanceEvery = timeSpan2;
VariableSizedBufferPool.MaxBufferSize = (long)((ulong)long.MaxValue);
VariableSizedBufferPool.FreeBuffers = new List();
VariableSizedBufferPool.lastMaintenance = DateTime.MinValue;
int num = 0;
VariableSizedBufferPool.PoolSize = num;
VariableSizedBufferPool.GetBuffers = (uint)num;
VariableSizedBufferPool.ReleaseBuffers = (uint)num;
VariableSizedBufferPool.statiscticsBuilder = new StringBuilder();
}
// Token: 0x0600CD08 RID: 52488 RVA: 0x002EE6B4 File Offset: 0x002EC8B4
[Token(Token = "0x600CD08")]
[Address(RVA = "0x172A980", Offset = "0x1729780", VA = "0x18172A980")]
public static byte[] Get(long size, bool canBeLarger)
{
for (;;)
{
int num = 0;
if (!VariableSizedBufferPool._isEnabled)
{
break;
}
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
Monitor.Enter(freeBuffers, canBeLarger);
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers3 = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers4 = VariableSizedBufferPool.FreeBuffers;
int num2 = 0;
ThrowHelper.ThrowArgumentOutOfRangeException();
num += 2;
num += num;
if ((long)num2 == size || (canBeLarger && (long)num2 > size))
{
ThrowHelper.ThrowArgumentOutOfRangeException();
}
num++;
int poolSize;
if (num != 0)
{
VariableSizedBufferPool.GetBuffers += 1U;
poolSize = VariableSizedBufferPool.PoolSize;
VariableSizedBufferPool.PoolSize = poolSize;
}
if (canBeLarger)
{
int num3 = poolSize - 1;
if (poolSize != num3)
{
uint num4;
num4 += num4;
while (num4 <= (uint)poolSize)
{
}
byte[] array = new byte[VariableSizedBufferPool.MinBufferSize];
byte[] array2 = new byte[size];
Monitor.Exit(freeBuffers);
if (num == 0)
{
break;
}
}
}
}
return new byte[size];
}
// Token: 0x0600CD09 RID: 52489 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CD09")]
[Address(RVA = "0x172B790", Offset = "0x172A590", VA = "0x18172B790")]
public static void Release(List<byte[]> buffers)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CD0A RID: 52490 RVA: 0x002EE7A8 File Offset: 0x002EC9A8
[Token(Token = "0x600CD0A")]
[Address(RVA = "0x172B540", Offset = "0x172A340", VA = "0x18172B540")]
public static void Release(byte[] buffer)
{
int num;
do
{
num = 0;
if (!VariableSizedBufferPool._isEnabled || buffer == 0 || buffer.Length == 0)
{
break;
}
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
long maxPoolSize = VariableSizedBufferPool.MaxPoolSize;
VariableSizedBufferPool.PoolSize = typeof(VariableSizedBufferPool).TypeHandle;
VariableSizedBufferPool.ReleaseBuffers += 1U;
VariableSizedBufferPool.AddFreeBuffer(buffer);
Monitor.Exit(freeBuffers);
}
while (num != 0);
}
// Token: 0x0600CD0B RID: 52491 RVA: 0x002EE800 File Offset: 0x002ECA00
[Token(Token = "0x600CD0B")]
[Address(RVA = "0x172B870", Offset = "0x172A670", VA = "0x18172B870")]
public static byte[] Resize(ref byte[] buffer, int newSize, bool canBeLarger)
{
if (VariableSizedBufferPool._isEnabled)
{
byte[] array = VariableSizedBufferPool.Get((long)newSize, canBeLarger);
int num = Math.Min(array.Length, canBeLarger ? 1 : 0);
buffer.m_value = array;
}
throw new NullReferenceException();
}
// Token: 0x0600CD0C RID: 52492 RVA: 0x002EE838 File Offset: 0x002ECA38
[Token(Token = "0x600CD0C")]
[Address(RVA = "0x172A500", Offset = "0x1729300", VA = "0x18172A500")]
public static string GetStatistics(bool showEmptyBuffers = true)
{
int num;
do
{
num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
StringBuilder stringBuilder = VariableSizedBufferPool.statiscticsBuilder;
int num2 = 0;
stringBuilder.Length = num2;
uint num3;
StringBuilder stringBuilder2 = VariableSizedBufferPool.statiscticsBuilder.AppendFormat("Pooled array reused count: {0:N0}\n", num3);
StringBuilder stringBuilder3 = VariableSizedBufferPool.statiscticsBuilder;
StringBuilder stringBuilder4 = VariableSizedBufferPool.statiscticsBuilder;
StringBuilder stringBuilder5 = VariableSizedBufferPool.statiscticsBuilder;
int size = VariableSizedBufferPool.FreeBuffers._size;
StringBuilder stringBuilder6 = stringBuilder5.AppendFormat("Buffers: {0}\n", size);
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers3 = VariableSizedBufferPool.FreeBuffers;
ThrowHelper.ThrowArgumentOutOfRangeException();
num += 2;
num += num;
if (!showEmptyBuffers)
{
}
StringBuilder stringBuilder7 = VariableSizedBufferPool.statiscticsBuilder;
num++;
int hashCode = VariableSizedBufferPool.statiscticsBuilder.GetHashCode();
Monitor.Exit(freeBuffers);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600CD0D RID: 52493 RVA: 0x002EE930 File Offset: 0x002ECB30
[Token(Token = "0x600CD0D")]
[Address(RVA = "0x172A1E0", Offset = "0x1728FE0", VA = "0x18172A1E0")]
public static void Clear()
{
int num;
do
{
num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
VariableSizedBufferPool.FreeBuffers.Clear();
VariableSizedBufferPool.PoolSize = num;
Monitor.Exit(freeBuffers);
}
while (num != 0);
}
// Token: 0x0600CD0E RID: 52494 RVA: 0x002EE968 File Offset: 0x002ECB68
[Token(Token = "0x600CD0E")]
[Address(RVA = "0x172AF00", Offset = "0x1729D00", VA = "0x18172AF00")]
internal static void Maintain()
{
int num;
do
{
num = 0;
DateTime utcNow = DateTime.UtcNow;
if (!VariableSizedBufferPool._isEnabled)
{
break;
}
DateTime dateTime = VariableSizedBufferPool.lastMaintenance;
TimeSpan runMaintenanceEvery = VariableSizedBufferPool.RunMaintenanceEvery;
if (dateTime + runMaintenanceEvery > utcNow)
{
break;
}
VariableSizedBufferPool.lastMaintenance = utcNow;
TimeSpan removeOlderThan = VariableSizedBufferPool.RemoveOlderThan;
DateTime dateTime2 = utcNow - removeOlderThan;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
ulong num2;
string statistics = VariableSizedBufferPool.GetStatistics(num2 != 0UL);
string text = "Before Maintain: " + statistics;
}
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> list = VariableSizedBufferPool.FreeBuffers;
ThrowHelper.ThrowArgumentOutOfRangeException();
num += 2;
num += num;
ThrowHelper.ThrowArgumentOutOfRangeException();
list += list;
bool flag;
if (!flag)
{
}
int num3 = VariableSizedBufferPool.PoolSize;
num3 -= typeof(VariableSizedBufferPool).TypeHandle;
VariableSizedBufferPool.PoolSize = num3;
if (!runMaintenanceEvery._legacyConfigChecked)
{
VariableSizedBufferPool.FreeBuffers.RemoveAt(num);
}
num++;
if (HTTPManager.Logger == 0)
{
ILogger logger2 = HTTPManager.Logger;
ulong num4;
string statistics2 = VariableSizedBufferPool.GetStatistics(num4 != 0UL);
string text2 = "After Maintain: " + statistics2;
}
Monitor.Exit(freeBuffers);
}
while (num != 0);
}
// Token: 0x0600CD0F RID: 52495 RVA: 0x002EEAC4 File Offset: 0x002ECCC4
[Token(Token = "0x600CD0F")]
[Address(RVA = "0x172AEF0", Offset = "0x1729CF0", VA = "0x18172AEF0")]
private static bool IsPowerOfTwo(long x)
{
long num = x - 1L;
return x == num;
}
// Token: 0x0600CD10 RID: 52496 RVA: 0x002EEADC File Offset: 0x002ECCDC
[Token(Token = "0x600CD10")]
[Address(RVA = "0x172B520", Offset = "0x172A320", VA = "0x18172B520")]
private static long NextPowerOf2(long x)
{
/*
An exception occurred when decompiling this method (0600CD10)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.VariableSizedBufferPool::NextPowerOf2(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_04:
brtrue(IL_04, cle:bool(ldloc:uint32[exp:int64](var_0), ldloc:int64(x)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CD11 RID: 52497 RVA: 0x002EEAF0 File Offset: 0x002ECCF0
[Token(Token = "0x600CD11")]
[Address(RVA = "0x172A310", Offset = "0x1729110", VA = "0x18172A310")]
private static BufferDesc FindFreeBuffer(long size, bool canBeLarger)
{
int num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
int num2 = 0;
ThrowHelper.ThrowArgumentOutOfRangeException();
if (num2 != (canBeLarger ? 1 : 0))
{
num++;
}
int num3 = 0;
ThrowHelper.ThrowArgumentOutOfRangeException();
num3 += num3;
size.m_value = 0L;
throw new NullReferenceException();
}
// Token: 0x0600CD12 RID: 52498 RVA: 0x002EEB38 File Offset: 0x002ECD38
[Token(Token = "0x600CD12")]
[Address(RVA = "0x1729E90", Offset = "0x1728C90", VA = "0x181729E90")]
private static void AddFreeBuffer(byte[] buffer)
{
int length = buffer.Length;
int num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
ThrowHelper.ThrowArgumentOutOfRangeException();
if ("{il2cpp array field local7->}" != length)
{
num++;
uint num2;
num2 += (uint)16;
int num3 = 0;
VariableSizedBufferPool.FreeBuffers.Insert(num, num3);
return;
}
ThrowHelper.ThrowArgumentOutOfRangeException();
if (typeof(VariableSizedBufferPool).TypeHandle != buffer)
{
}
ILogger logger = HTTPManager.Logger;
int num4 = 0;
VariableSizedBufferPool.FreeBuffers.Add(num4);
throw new NullReferenceException();
}
// Token: 0x04008279 RID: 33401
[Token(Token = "0x4008279")]
public static readonly byte[] NoData = new byte[0];
// Token: 0x0400827A RID: 33402
[Token(Token = "0x400827A")]
public static bool _isEnabled;
// Token: 0x0400827B RID: 33403
[Token(Token = "0x400827B")]
public static TimeSpan RemoveOlderThan;
// Token: 0x0400827C RID: 33404
[Token(Token = "0x400827C")]
public static TimeSpan RunMaintenanceEvery;
// Token: 0x0400827D RID: 33405
[Token(Token = "0x400827D")]
public static long MinBufferSize;
// Token: 0x0400827E RID: 33406
[Token(Token = "0x400827E")]
public static long MaxBufferSize;
// Token: 0x0400827F RID: 33407
[Token(Token = "0x400827F")]
public static long MaxPoolSize;
// Token: 0x04008280 RID: 33408
[Token(Token = "0x4008280")]
public static bool RemoveEmptyLists;
// Token: 0x04008281 RID: 33409
[Token(Token = "0x4008281")]
public static bool IsDoubleReleaseCheckEnabled;
// Token: 0x04008282 RID: 33410
[Token(Token = "0x4008282")]
private static List<BufferStore> FreeBuffers;
// Token: 0x04008283 RID: 33411
[Token(Token = "0x4008283")]
private static DateTime lastMaintenance;
// Token: 0x04008284 RID: 33412
[Token(Token = "0x4008284")]
private static int PoolSize;
// Token: 0x04008285 RID: 33413
[Token(Token = "0x4008285")]
private static uint GetBuffers;
// Token: 0x04008286 RID: 33414
[Token(Token = "0x4008286")]
private static uint ReleaseBuffers;
// Token: 0x04008287 RID: 33415
[Token(Token = "0x4008287")]
private static StringBuilder statiscticsBuilder;
}
}
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F9D RID: 8093
[Token(Token = "0x2001F9D")]
public sealed class WWWAuthenticateHeaderParser : KeyValuePairList
{
// Token: 0x0600CD13 RID: 52499 RVA: 0x002EEBB8 File Offset: 0x002ECDB8
[Token(Token = "0x600CD13")]
[Address(RVA = "0x172BF40", Offset = "0x172AD40", VA = "0x18172BF40")]
public WWWAuthenticateHeaderParser(string headerValue)
{
List<HeaderValue> list = this.ParseQuotedHeader(headerValue);
this.<Values>k__BackingField = list;
}
// Token: 0x0600CD14 RID: 52500 RVA: 0x002EEBDC File Offset: 0x002ECDDC
[Token(Token = "0x600CD14")]
[Address(RVA = "0x172BD00", Offset = "0x172AB00", VA = "0x18172BD00")]
private List<HeaderValue> ParseQuotedHeader(string str)
{
List<HeaderValue> list = new List();
if (str != 0)
{
int num = 0;
Func<char, bool> <>9__1_ = WWWAuthenticateHeaderParser.<>c.<>9__1_0;
if (<>9__1_ == 0)
{
WWWAuthenticateHeaderParser.<>c.<>9__1_0 = delegate(char ch)
{
if (char.IsWhiteSpace(ch))
{
}
return !char.IsControl(ch);
};
}
string text = Extensions.Read(str, num, <>9__1_, true).TrimAndLower();
list.Add(new HeaderValue
{
<Key>k__BackingField = text
});
int stringLength = str.m_stringLength;
string text3;
string text2 = text3.TrimAndLower();
HeaderValue headerValue = new HeaderValue();
headerValue.<Key>k__BackingField = text2;
str.SkipWhiteSpace(num);
string text4 = str.ReadPossibleQuotedText(num);
headerValue.<Value>k__BackingField = text4;
}
return list;
}
}
}
@@ -0,0 +1,224 @@
using System;
using System.IO;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02001F9F RID: 8095
[Token(Token = "0x2001F9F")]
public sealed class WriteOnlyBufferedStream : Stream
{
// Token: 0x1700209B RID: 8347
// (get) Token: 0x0600CD18 RID: 52504 RVA: 0x002EECD0 File Offset: 0x002ECED0
[Token(Token = "0x1700209B")]
public override bool CanRead
{
[Token(Token = "0x600CD18")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "7")]
get
{
}
}
// Token: 0x1700209C RID: 8348
// (get) Token: 0x0600CD19 RID: 52505 RVA: 0x002EECE0 File Offset: 0x002ECEE0
[Token(Token = "0x1700209C")]
public override bool CanSeek
{
[Token(Token = "0x600CD19")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "8")]
get
{
}
}
// Token: 0x1700209D RID: 8349
// (get) Token: 0x0600CD1A RID: 52506 RVA: 0x002EECF0 File Offset: 0x002ECEF0
[Token(Token = "0x1700209D")]
public override bool CanWrite
{
[Token(Token = "0x600CD1A")]
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "9")]
get
{
return true;
}
}
// Token: 0x1700209E RID: 8350
// (get) Token: 0x0600CD1B RID: 52507 RVA: 0x002EED00 File Offset: 0x002ECF00
[Token(Token = "0x1700209E")]
public override long Length
{
[Token(Token = "0x600CD1B")]
[Address(RVA = "0x172C300", Offset = "0x172B100", VA = "0x18172C300", Slot = "10")]
get
{
int length = this.buffer.Length;
throw new NullReferenceException();
}
}
// Token: 0x1700209F RID: 8351
// (get) Token: 0x0600CD1C RID: 52508 RVA: 0x002EED20 File Offset: 0x002ECF20
// (set) Token: 0x0600CD1D RID: 52509 RVA: 0x002EED34 File Offset: 0x002ECF34
[Token(Token = "0x1700209F")]
public override long Position
{
[Token(Token = "0x600CD1C")]
[Address(RVA = "0x172C320", Offset = "0x172B120", VA = "0x18172C320", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600CD1C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Extensions.WriteOnlyBufferedStream::get_Position()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, ldfld:int32(WriteOnlyBufferedStream::_position, ldloc:WriteOnlyBufferedStream(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
[Token(Token = "0x600CD1D")]
[Address(RVA = "0x172C330", Offset = "0x172B130", VA = "0x18172C330", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600CD1D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Extensions.WriteOnlyBufferedStream::set_Position(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_0A, newobj:NotImplementedException(NotImplementedException::.ctor, ldstr:string("Position set")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CD1E RID: 52510 RVA: 0x002EED4C File Offset: 0x002ECF4C
[Token(Token = "0x600CD1E")]
[Address(RVA = "0x172C250", Offset = "0x172B050", VA = "0x18172C250")]
public WriteOnlyBufferedStream(Stream stream, int bufferSize)
{
this.stream = stream;
byte[] array = VariableSizedBufferPool.Get((long)bufferSize, true);
this.buffer = array;
this._position = (int)((ulong)0L);
}
// Token: 0x0600CD1F RID: 52511 RVA: 0x002EED80 File Offset: 0x002ECF80
[Token(Token = "0x600CD1F")]
[Address(RVA = "0x172C000", Offset = "0x172AE00", VA = "0x18172C000", Slot = "17")]
public override void Flush()
{
if (this._position > 0)
{
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
int position = this._position;
}
int num = this.stream.ReadByte();
this._position = (int)((ulong)0L);
}
}
// Token: 0x0600CD20 RID: 52512 RVA: 0x002EEDCC File Offset: 0x002ECFCC
[Token(Token = "0x600CD20")]
[Address(RVA = "0x172C140", Offset = "0x172AF40", VA = "0x18172C140", Slot = "29")]
public override void Write(byte[] bufferFrom, int offset, int count)
{
if (count > 0)
{
byte[] array = this.buffer;
int position = this._position;
int num = array.Length;
num -= position;
int num2 = Math.Min(count, num);
int position2 = this._position;
byte[] array2 = this.buffer;
Array.Copy(bufferFrom, offset, array2, position2, num2);
int num3 = this._position;
byte[] array3 = this.buffer;
num3 += num2;
this._position = num3;
if (num3 == array3.Length)
{
}
}
}
// Token: 0x0600CD21 RID: 52513 RVA: 0x002EEE50 File Offset: 0x002ED050
[Token(Token = "0x600CD21")]
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
return 0;
}
// Token: 0x0600CD22 RID: 52514 RVA: 0x002EEE60 File Offset: 0x002ED060
[Token(Token = "0x600CD22")]
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
}
// Token: 0x0600CD23 RID: 52515 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CD23")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "26")]
public override void SetLength(long value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CD24 RID: 52516 RVA: 0x002EEE70 File Offset: 0x002ED070
[Token(Token = "0x600CD24")]
[Address(RVA = "0x172BF80", Offset = "0x172AD80", VA = "0x18172BF80", Slot = "16")]
protected override void Dispose(bool disposing)
{
this.SetLength(disposing ? 1L : 0L);
byte[] array = this.buffer;
if (array != 0)
{
VariableSizedBufferPool.Release(array);
}
this.buffer = (ulong)0L;
}
// Token: 0x0400828A RID: 33418
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400828A")]
private int _position;
// Token: 0x0400828B RID: 33419
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400828B")]
private byte[] buffer;
// Token: 0x0400828C RID: 33420
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400828C")]
private Stream stream;
}
}
+147
View File
@@ -0,0 +1,147 @@
using System;
using System.IO;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200188D RID: 6285
[Token(Token = "0x200188D")]
internal sealed class FileConnection : ConnectionBase
{
// Token: 0x06009315 RID: 37653 RVA: 0x001E1EFC File Offset: 0x001E00FC
[Token(Token = "0x6009315")]
[Address(RVA = "0x1714D10", Offset = "0x1713B10", VA = "0x181714D10")]
public FileConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x06009316 RID: 37654 RVA: 0x001E1F10 File Offset: 0x001E0110
[Token(Token = "0x6009316")]
[Address(RVA = "0x1714640", Offset = "0x1713440", VA = "0x181714640", Slot = "6")]
internal override void Abort(HTTPConnectionStates newState)
{
/*
An exception occurred when decompiling this method (06009316)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.FileConnection::Abort(BestHTTP.HTTPConnectionStates)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1C:
stloc:NotImplementedException(var_3_21, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009317 RID: 37655 RVA: 0x001E1F40 File Offset: 0x001E0140
[Token(Token = "0x6009317")]
[Address(RVA = "0x17146D0", Offset = "0x17134D0", VA = "0x1817146D0", Slot = "7")]
protected override void ThreadFunc(object param)
{
int num;
HTTPRequest <CurrentRequest>k__BackingField5;
do
{
num = 0;
IIOService ioservice = HTTPManager.IOService;
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField)
{
}
string localPath = <CurrentRequest>k__BackingField.<Uri>k__BackingField.LocalPath;
num += num;
num++;
Stream[] array = new Stream[2];
MemoryStream memoryStream = new MemoryStream();
if (memoryStream != 0)
{
}
array[0] = memoryStream;
if (num != 0)
{
}
array[1] = num;
StreamList streamList = new StreamList(array);
streamList.Write("HTTP/1.1 200 Ok\r\n");
streamList.Write("Content-Type: application/octet-stream\r\n");
string text2;
string text = "Content-Length: " + text2 + "\r\n";
streamList.Write(text);
streamList.Write("\r\n");
HTTPResponse httpresponse;
this.<CurrentRequest>k__BackingField.<Response>k__BackingField = httpresponse;
this.<CurrentRequest>k__BackingField.<Response>k__BackingField.Dispose();
this.<CurrentRequest>k__BackingField.<Response>k__BackingField = num;
if (streamList != 0)
{
}
if (num != 0)
{
goto IL_1DE;
}
if (num != -1)
{
}
num++;
if (num != 0)
{
}
if (num != 0)
{
goto IL_1E4;
}
if (num != -1)
{
}
num++;
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
HTTPRequest <CurrentRequest>k__BackingField3;
if (<CurrentRequest>k__BackingField2 != 0)
{
int num2 = 0;
<CurrentRequest>k__BackingField2.<Response>k__BackingField = num2;
if (this.<State>k__BackingField == HTTPConnectionStates.AbortRequested)
{
<CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
<CurrentRequest>k__BackingField3.<State>k__BackingField = (HTTPRequestStates)((ulong)5L);
}
}
HTTPRequest <CurrentRequest>k__BackingField4;
if (<CurrentRequest>k__BackingField3 == (ulong)8L)
{
<CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
<CurrentRequest>k__BackingField4.<State>k__BackingField = (HTTPRequestStates)((ulong)7L);
}
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <CurrentRequest>k__BackingField4;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)9L);
<CurrentRequest>k__BackingField5 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField5.<State>k__BackingField == HTTPRequestStates.Processing)
{
if (<CurrentRequest>k__BackingField5.<Response>k__BackingField != (ulong)0L)
{
break;
}
<CurrentRequest>k__BackingField5.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
}
}
while (num != 0);
<CurrentRequest>k__BackingField5.<State>k__BackingField = (HTTPRequestStates)((ulong)3L);
return;
IL_1DE:
throw new NullReferenceException();
IL_1E4:
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,127 @@
using System;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F7F RID: 8063
[Token(Token = "0x2001F7F")]
public class HTTPFieldData
{
// Token: 0x17002073 RID: 8307
// (get) Token: 0x0600CC2A RID: 52266 RVA: 0x002EC390 File Offset: 0x002EA590
// (set) Token: 0x0600CC2B RID: 52267 RVA: 0x002EC3A4 File Offset: 0x002EA5A4
[Token(Token = "0x17002073")]
public string Name
{
[Token(Token = "0x600CC2A")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CC2B")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x17002074 RID: 8308
// (get) Token: 0x0600CC2C RID: 52268 RVA: 0x002EC3B8 File Offset: 0x002EA5B8
// (set) Token: 0x0600CC2D RID: 52269 RVA: 0x002EC3CC File Offset: 0x002EA5CC
[Token(Token = "0x17002074")]
public string FileName
{
[Token(Token = "0x600CC2C")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x600CC2D")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
set;
}
// Token: 0x17002075 RID: 8309
// (get) Token: 0x0600CC2E RID: 52270 RVA: 0x002EC3E0 File Offset: 0x002EA5E0
// (set) Token: 0x0600CC2F RID: 52271 RVA: 0x002EC3F4 File Offset: 0x002EA5F4
[Token(Token = "0x17002075")]
public string MimeType
{
[Token(Token = "0x600CC2E")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CC2F")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
set;
}
// Token: 0x17002076 RID: 8310
// (get) Token: 0x0600CC30 RID: 52272 RVA: 0x002EC408 File Offset: 0x002EA608
// (set) Token: 0x0600CC31 RID: 52273 RVA: 0x002EC41C File Offset: 0x002EA61C
[Token(Token = "0x17002076")]
public Encoding Encoding
{
[Token(Token = "0x600CC30")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get;
[Token(Token = "0x600CC31")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
set;
}
// Token: 0x17002077 RID: 8311
// (get) Token: 0x0600CC32 RID: 52274 RVA: 0x002EC430 File Offset: 0x002EA630
// (set) Token: 0x0600CC33 RID: 52275 RVA: 0x002EC444 File Offset: 0x002EA644
[Token(Token = "0x17002077")]
public string Text
{
[Token(Token = "0x600CC32")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x600CC33")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
set;
}
// Token: 0x17002078 RID: 8312
// (get) Token: 0x0600CC34 RID: 52276 RVA: 0x002EC458 File Offset: 0x002EA658
// (set) Token: 0x0600CC35 RID: 52277 RVA: 0x002EC46C File Offset: 0x002EA66C
[Token(Token = "0x17002078")]
public byte[] Binary
{
[Token(Token = "0x600CC34")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
get;
[Token(Token = "0x600CC35")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
set;
}
// Token: 0x17002079 RID: 8313
// (get) Token: 0x0600CC36 RID: 52278 RVA: 0x002EC480 File Offset: 0x002EA680
[Token(Token = "0x17002079")]
public byte[] Payload
{
[Token(Token = "0x600CC36")]
[Address(RVA = "0x1717FF0", Offset = "0x1716DF0", VA = "0x181717FF0")]
get
{
byte[] array = this.<Binary>k__BackingField;
if (array == 0)
{
if (this.<Encoding>k__BackingField == 0)
{
Encoding utf = Encoding.UTF8;
this.<Encoding>k__BackingField = utf;
}
string text = this.<Text>k__BackingField;
int num;
this.<Binary>k__BackingField = num;
}
return array;
}
}
// Token: 0x0600CC37 RID: 52279 RVA: 0x002EC4C4 File Offset: 0x002EA6C4
[Token(Token = "0x600CC37")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HTTPFieldData()
{
}
}
}
@@ -0,0 +1,240 @@
using System;
using System.Collections.Generic;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F80 RID: 8064
[Token(Token = "0x2001F80")]
public class HTTPFormBase
{
// Token: 0x1700207A RID: 8314
// (get) Token: 0x0600CC38 RID: 52280 RVA: 0x002EC4D8 File Offset: 0x002EA6D8
// (set) Token: 0x0600CC39 RID: 52281 RVA: 0x002EC4EC File Offset: 0x002EA6EC
[Token(Token = "0x1700207A")]
public List<HTTPFieldData> Fields
{
[Token(Token = "0x600CC38")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x600CC39")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x1700207B RID: 8315
// (get) Token: 0x0600CC3A RID: 52282 RVA: 0x002EC500 File Offset: 0x002EA700
[Token(Token = "0x1700207B")]
public bool IsEmpty
{
[Token(Token = "0x600CC3A")]
[Address(RVA = "0x1718440", Offset = "0x1717240", VA = "0x181718440")]
get
{
bool flag;
return this.<Fields>k__BackingField == 0 || flag;
}
}
// Token: 0x1700207C RID: 8316
// (get) Token: 0x0600CC3B RID: 52283 RVA: 0x002EC51C File Offset: 0x002EA71C
// (set) Token: 0x0600CC3C RID: 52284 RVA: 0x002EC530 File Offset: 0x002EA730
[Token(Token = "0x1700207C")]
public bool IsChanged
{
[Token(Token = "0x600CC3B")]
[Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0")]
get;
[Token(Token = "0x600CC3C")]
[Address(RVA = "0x43DE90", Offset = "0x43CC90", VA = "0x18043DE90")]
protected set;
}
// Token: 0x1700207D RID: 8317
// (get) Token: 0x0600CC3D RID: 52285 RVA: 0x002EC544 File Offset: 0x002EA744
// (set) Token: 0x0600CC3E RID: 52286 RVA: 0x002EC558 File Offset: 0x002EA758
[Token(Token = "0x1700207D")]
public bool HasBinary
{
[Token(Token = "0x600CC3D")]
[Address(RVA = "0x50FC80", Offset = "0x50EA80", VA = "0x18050FC80")]
get;
[Token(Token = "0x600CC3E")]
[Address(RVA = "0x745E50", Offset = "0x744C50", VA = "0x180745E50")]
protected set;
}
// Token: 0x1700207E RID: 8318
// (get) Token: 0x0600CC3F RID: 52287 RVA: 0x002EC56C File Offset: 0x002EA76C
// (set) Token: 0x0600CC40 RID: 52288 RVA: 0x002EC580 File Offset: 0x002EA780
[Token(Token = "0x1700207E")]
public bool HasLongValue
{
[Token(Token = "0x600CC3F")]
[Address(RVA = "0x761D60", Offset = "0x760B60", VA = "0x180761D60")]
get;
[Token(Token = "0x600CC40")]
[Address(RVA = "0x745E60", Offset = "0x744C60", VA = "0x180745E60")]
protected set;
}
// Token: 0x0600CC41 RID: 52289 RVA: 0x002EC594 File Offset: 0x002EA794
[Token(Token = "0x600CC41")]
[Address(RVA = "0x1718040", Offset = "0x1716E40", VA = "0x181718040")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x0600CC42 RID: 52290 RVA: 0x002EC5B0 File Offset: 0x002EA7B0
[Token(Token = "0x600CC42")]
[Address(RVA = "0x1718060", Offset = "0x1716E60", VA = "0x181718060")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x0600CC43 RID: 52291 RVA: 0x002EC5CC File Offset: 0x002EA7CC
[Token(Token = "0x600CC43")]
[Address(RVA = "0x1718080", Offset = "0x1716E80", VA = "0x181718080")]
public void AddBinaryData(string fieldName, byte[] content, string fileName, string mimeType)
{
if (this.<Fields>k__BackingField == (ulong)0L)
{
List<HTTPFieldData> list = new List();
this.<Fields>k__BackingField = list;
}
HTTPFieldData httpfieldData = new HTTPFieldData();
httpfieldData.<Name>k__BackingField = fieldName;
string text;
if (fileName == 0)
{
text = fieldName + ".dat";
}
httpfieldData.<FileName>k__BackingField = text;
httpfieldData.<MimeType>k__BackingField = 0;
httpfieldData.<Binary>k__BackingField = content;
this.<Fields>k__BackingField.Add(httpfieldData);
this.<IsChanged>k__BackingField = true;
}
// Token: 0x0600CC44 RID: 52292 RVA: 0x002EC63C File Offset: 0x002EA83C
[Token(Token = "0x600CC44")]
[Address(RVA = "0x17182C0", Offset = "0x17170C0", VA = "0x1817182C0")]
public void AddField(string fieldName, string value)
{
Encoding utf = Encoding.UTF8;
this.AddField(fieldName, value, utf);
}
// Token: 0x0600CC45 RID: 52293 RVA: 0x002EC65C File Offset: 0x002EA85C
[Token(Token = "0x600CC45")]
[Address(RVA = "0x1718190", Offset = "0x1716F90", VA = "0x181718190")]
public void AddField(string fieldName, string value, Encoding e)
{
if (this.<Fields>k__BackingField == (ulong)0L)
{
List<HTTPFieldData> list = new List();
this.<Fields>k__BackingField = list;
}
int num = 0;
HTTPFieldData httpfieldData;
httpfieldData.FieldGetter(num, value, e);
httpfieldData.<Name>k__BackingField = fieldName;
int num2 = 0;
httpfieldData.<FileName>k__BackingField = num2;
if (e != 0)
{
string headerName = e.HeaderName;
string text = "text/plain; charset=" + headerName;
httpfieldData.<MimeType>k__BackingField = text;
}
httpfieldData.<Text>k__BackingField = value;
httpfieldData.<Encoding>k__BackingField = e;
this.<Fields>k__BackingField.Add(httpfieldData);
this.<IsChanged>k__BackingField = true;
bool flag = value.m_stringLength != 256;
this.<HasLongValue>k__BackingField = flag;
}
// Token: 0x0600CC46 RID: 52294 RVA: 0x002EC700 File Offset: 0x002EA900
[Token(Token = "0x600CC46")]
[Address(RVA = "0x1718310", Offset = "0x1717110", VA = "0x181718310", Slot = "4")]
public virtual void CopyFrom(HTTPFormBase fields)
{
List<HTTPFieldData> list = new List(fields.<Fields>k__BackingField);
this.<Fields>k__BackingField = list;
bool flag = fields.<HasBinary>k__BackingField;
this.<HasBinary>k__BackingField = flag;
bool flag2 = fields.<HasLongValue>k__BackingField;
this.<HasLongValue>k__BackingField = flag2;
}
// Token: 0x0600CC47 RID: 52295 RVA: 0x002EC744 File Offset: 0x002EA944
[Token(Token = "0x600CC47")]
[Address(RVA = "0x17183F0", Offset = "0x17171F0", VA = "0x1817183F0", Slot = "5")]
public virtual void PrepareRequest(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (0600CC47)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Forms.HTTPFormBase::PrepareRequest(BestHTTP.HTTPRequest)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC48 RID: 52296 RVA: 0x002EC758 File Offset: 0x002EA958
[Token(Token = "0x600CC48")]
[Address(RVA = "0x17183A0", Offset = "0x17171A0", VA = "0x1817183A0", Slot = "6")]
public virtual byte[] GetData()
{
/*
An exception occurred when decompiling this method (0600CC48)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.Forms.HTTPFormBase::GetData()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC49 RID: 52297 RVA: 0x002EC76C File Offset: 0x002EA96C
[Token(Token = "0x600CC49")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HTTPFormBase()
{
}
// Token: 0x04008230 RID: 33328
[Token(Token = "0x4008230")]
private const int LongLength = 256;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F81 RID: 8065
[Token(Token = "0x2001F81")]
public enum HTTPFormUsage
{
// Token: 0x04008236 RID: 33334
[Token(Token = "0x4008236")]
Automatic,
// Token: 0x04008237 RID: 33335
[Token(Token = "0x4008237")]
UrlEncoded,
// Token: 0x04008238 RID: 33336
[Token(Token = "0x4008238")]
Multipart,
// Token: 0x04008239 RID: 33337
[Token(Token = "0x4008239")]
RawJSon
}
}
@@ -0,0 +1,49 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F82 RID: 8066
[Token(Token = "0x2001F82")]
public sealed class HTTPMultiPartForm : HTTPFormBase
{
// Token: 0x0600CC4A RID: 52298 RVA: 0x002EC780 File Offset: 0x002EA980
[Token(Token = "0x600CC4A")]
[Address(RVA = "0x171D330", Offset = "0x171C130", VA = "0x18171D330")]
public HTTPMultiPartForm()
{
this.Finalize();
string text2;
string text = "BestHTTP_HTTPMultiPartForm_" + text2;
this.Boundary = text;
}
// Token: 0x0600CC4B RID: 52299 RVA: 0x002EC7AC File Offset: 0x002EA9AC
[Token(Token = "0x600CC4B")]
[Address(RVA = "0x171D2C0", Offset = "0x171C0C0", VA = "0x18171D2C0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
string boundary = this.Boundary;
string text = "multipart/form-data; boundary=\"" + boundary + "\"";
request.SetHeader("Content-Type", text);
}
// Token: 0x0600CC4C RID: 52300 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC4C")]
[Address(RVA = "0x171CEB0", Offset = "0x171BCB0", VA = "0x18171CEB0", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0400823A RID: 33338
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400823A")]
private string Boundary;
// Token: 0x0400823B RID: 33339
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400823B")]
private byte[] CachedData;
}
}
@@ -0,0 +1,62 @@
using System;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F83 RID: 8067
[Token(Token = "0x2001F83")]
public sealed class HTTPUrlEncodedForm : HTTPFormBase
{
// Token: 0x0600CC4D RID: 52301 RVA: 0x002EC7E4 File Offset: 0x002EA9E4
[Token(Token = "0x600CC4D")]
[Address(RVA = "0x1727F30", Offset = "0x1726D30", VA = "0x181727F30", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/x-www-form-urlencoded");
}
// Token: 0x0600CC4E RID: 52302 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC4E")]
[Address(RVA = "0x1727D30", Offset = "0x1726B30", VA = "0x181727D30", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC4F RID: 52303 RVA: 0x002EC808 File Offset: 0x002EAA08
[Token(Token = "0x600CC4F")]
[Address(RVA = "0x1727BD0", Offset = "0x17269D0", VA = "0x181727BD0")]
public static string EscapeString(string originalString)
{
int stringLength = originalString.m_stringLength;
int num = 0;
uint num2;
string text = originalString.Substring(num, (int)num2);
string text2 = Uri.EscapeDataString(originalString.Substring(num));
StringBuilder stringBuilder2;
StringBuilder stringBuilder = stringBuilder2.Append(text2);
num++;
num += 256;
int hashCode = stringBuilder2.GetHashCode();
string text3 = Uri.EscapeDataString(originalString);
throw new NullReferenceException();
}
// Token: 0x0600CC50 RID: 52304 RVA: 0x002EC864 File Offset: 0x002EAA64
[Token(Token = "0x600CC50")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HTTPUrlEncodedForm()
{
}
// Token: 0x0400823C RID: 33340
[Token(Token = "0x400823C")]
private const int EscapeTreshold = 256;
// Token: 0x0400823D RID: 33341
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400823D")]
private byte[] CachedData;
}
}
@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BestHTTP.JSON;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02001F84 RID: 8068
[Token(Token = "0x2001F84")]
public sealed class RawJsonForm : HTTPFormBase
{
// Token: 0x0600CC51 RID: 52305 RVA: 0x002EC878 File Offset: 0x002EAA78
[Token(Token = "0x600CC51")]
[Address(RVA = "0x1728DF0", Offset = "0x1727BF0", VA = "0x181728DF0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/json");
}
// Token: 0x0600CC52 RID: 52306 RVA: 0x002EC89C File Offset: 0x002EAA9C
[Token(Token = "0x600CC52")]
[Address(RVA = "0x1728C00", Offset = "0x1727A00", VA = "0x181728C00", Slot = "6")]
public override byte[] GetData()
{
byte[] cachedData = this.CachedData;
if (cachedData != 0)
{
}
List<HTTPFieldData> <Fields>k__BackingField = this.<Fields>k__BackingField;
Func<HTTPFieldData, string> <>9__2_ = RawJsonForm.<>c.<>9__2_0;
if (<>9__2_ == 0)
{
RawJsonForm.<>c.<>9__2_0 = (HTTPFieldData x) => x.<Name>k__BackingField;
}
Func<HTTPFieldData, string> func;
if (RawJsonForm.<>c.<>9__2_1 == 0)
{
func = (HTTPFieldData x) => x.<Text>k__BackingField;
RawJsonForm.<>c.<>9__2_1 = func;
}
string text = Json.Encode(Enumerable.ToDictionary<HTTPFieldData, string, string>(<Fields>k__BackingField, <>9__2_, func));
this.<IsChanged>k__BackingField = false;
Encoding utf = Encoding.UTF8;
int num;
this.CachedData = num;
return cachedData;
}
// Token: 0x0600CC53 RID: 52307 RVA: 0x002EC928 File Offset: 0x002EAB28
[Token(Token = "0x600CC53")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public RawJsonForm()
{
}
// Token: 0x0400823E RID: 33342
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400823E")]
private byte[] CachedData;
}
}
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Forms
{
// Token: 0x02001F86 RID: 8070
[Token(Token = "0x2001F86")]
public sealed class UnityForm : HTTPFormBase
{
// Token: 0x1700207F RID: 8319
// (get) Token: 0x0600CC58 RID: 52312 RVA: 0x002EC9A0 File Offset: 0x002EABA0
// (set) Token: 0x0600CC59 RID: 52313 RVA: 0x002EC9B4 File Offset: 0x002EABB4
[Token(Token = "0x1700207F")]
public WWWForm Form
{
[Token(Token = "0x600CC58")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600CC59")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
set;
}
// Token: 0x0600CC5A RID: 52314 RVA: 0x002EC9C8 File Offset: 0x002EABC8
[Token(Token = "0x600CC5A")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public UnityForm()
{
}
// Token: 0x0600CC5B RID: 52315 RVA: 0x002EC9DC File Offset: 0x002EABDC
[Token(Token = "0x600CC5B")]
[Address(RVA = "0x4A24B0", Offset = "0x4A12B0", VA = "0x1804A24B0")]
public UnityForm(WWWForm form)
{
this.Form = form;
}
// Token: 0x0600CC5C RID: 52316 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC5C")]
[Address(RVA = "0x1729C40", Offset = "0x1728A40", VA = "0x181729C40", Slot = "4")]
public override void CopyFrom(HTTPFormBase fields)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC5D RID: 52317 RVA: 0x002EC9F8 File Offset: 0x002EABF8
[Token(Token = "0x600CC5D")]
[Address(RVA = "0x1729DC0", Offset = "0x1728BC0", VA = "0x181729DC0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
Dictionary<string, string> headers = this.<Form>k__BackingField.headers;
throw new NullReferenceException();
}
// Token: 0x0600CC5E RID: 52318 RVA: 0x002ECA48 File Offset: 0x002EAC48
[Token(Token = "0x600CC5E")]
[Address(RVA = "0x1729DA0", Offset = "0x1728BA0", VA = "0x181729DA0", Slot = "6")]
public override byte[] GetData()
{
return this.<Form>k__BackingField.data;
}
}
}
+400
View File
@@ -0,0 +1,400 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F8C RID: 8076
[Token(Token = "0x2001F8C")]
public class Future<T> : IFuture<T>
{
// Token: 0x17002083 RID: 8323
// (get) Token: 0x0600CC72 RID: 52338 RVA: 0x002ECC3C File Offset: 0x002EAE3C
[Token(Token = "0x17002083")]
public FutureState state
{
[Token(Token = "0x600CC72")]
[Address(RVA = "0x1D99560", Offset = "0x1D98360", VA = "0x181D99560", Slot = "4")]
get
{
/*
An exception occurred when decompiling this method (0600CC72)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.Futures.FutureState BestHTTP.Futures.Future`1::get_state()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, ldfld:FutureState[exp:int32](Future`1::_state, ldloc:Future`1(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17002084 RID: 8324
// (get) Token: 0x0600CC73 RID: 52339 RVA: 0x002ECC50 File Offset: 0x002EAE50
[Token(Token = "0x17002084")]
public T value
{
[Token(Token = "0x600CC73")]
[Address(RVA = "0x2A35D20", Offset = "0x2A34B20", VA = "0x182A35D20", Slot = "5")]
get
{
/*
An exception occurred when decompiling this method (0600CC73)
ICSharpCode.Decompiler.DecompilerException: Error decompiling T BestHTTP.Futures.Future`1::get_value()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:InvalidOperationException(var_0_23, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("value is not available unless state is Success or Processing.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17002085 RID: 8325
// (get) Token: 0x0600CC74 RID: 52340 RVA: 0x002ECC80 File Offset: 0x002EAE80
[Token(Token = "0x17002085")]
public Exception error
{
[Token(Token = "0x600CC74")]
[Address(RVA = "0x2A35CA0", Offset = "0x2A34AA0", VA = "0x182A35CA0", Slot = "6")]
get
{
/*
An exception occurred when decompiling this method (0600CC74)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Exception BestHTTP.Futures.Future`1::get_error()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_09:
stloc:InvalidOperationException(var_0_13, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("error is not available unless state is Error.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x0600CC75 RID: 52341 RVA: 0x002ECCA0 File Offset: 0x002EAEA0
[Token(Token = "0x600CC75")]
[Address(RVA = "0x2A35980", Offset = "0x2A34780", VA = "0x182A35980")]
public Future()
{
List<FutureErrorCallback> list = new List();
base..ctor();
this._state = (FutureState)((ulong)0L);
}
// Token: 0x0600CC76 RID: 52342 RVA: 0x002ECCC4 File Offset: 0x002EAEC4
[Token(Token = "0x600CC76")]
[Address(RVA = "0x2A35310", Offset = "0x2A34110", VA = "0x182A35310", Slot = "7")]
public IFuture<T> OnItem(FutureValueCallback<T> callback)
{
bool flag;
if (this._state >= FutureState.Success || !flag)
{
}
throw new NullReferenceException();
}
// Token: 0x0600CC77 RID: 52343 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC77")]
[Address(RVA = "0x2A353A0", Offset = "0x2A341A0", VA = "0x182A353A0", Slot = "8")]
public IFuture<T> OnSuccess(FutureValueCallback<T> callback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC78 RID: 52344 RVA: 0x002ECCE4 File Offset: 0x002EAEE4
[Token(Token = "0x600CC78")]
[Address(RVA = "0x2A350E0", Offset = "0x2A33EE0", VA = "0x182A350E0", Slot = "9")]
public IFuture<T> OnError(FutureErrorCallback callback)
{
bool flag;
if (this._state == FutureState.Error || (this._state != FutureState.Success && !flag))
{
Exception error = this.error;
callback(error);
}
throw new NullReferenceException();
}
// Token: 0x0600CC79 RID: 52345 RVA: 0x002ECD1C File Offset: 0x002EAF1C
[Token(Token = "0x600CC79")]
[Address(RVA = "0x2A34F60", Offset = "0x2A33D60", VA = "0x182A34F60", Slot = "10")]
public IFuture<T> OnComplete(FutureCallback<T> callback)
{
bool flag;
if (this._state == FutureState.Success || this._state == FutureState.Error || !flag)
{
callback.Invoke(this);
}
throw new NullReferenceException();
}
// Token: 0x0600CC7A RID: 52346 RVA: 0x002ECD4C File Offset: 0x002EAF4C
[Token(Token = "0x600CC7A")]
[Address(RVA = "0x2A35560", Offset = "0x2A34360", VA = "0x182A35560")]
public IFuture<T> Process(Func<T> func)
{
/*
An exception occurred when decompiling this method (0600CC7A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.Futures.IFuture`1<T> BestHTTP.Futures.Future`1::Process(System.Func`1<T>)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:InvalidOperationException(var_3_23, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot process a future that isn't in the Pending state.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC7B RID: 52347 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC7B")]
[Address(RVA = "0x2A35720", Offset = "0x2A34520", VA = "0x182A35720")]
private void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC7C RID: 52348 RVA: 0x002ECD7C File Offset: 0x002EAF7C
[Token(Token = "0x600CC7C")]
[Address(RVA = "0x2A33D80", Offset = "0x2A32B80", VA = "0x182A33D80")]
public void Assign(T value)
{
/*
An exception occurred when decompiling this method (0600CC7C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Futures.Future`1::Assign(T)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:InvalidOperationException(var_1_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot assign a value to a future that isn't in the Pending or Processing state.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC7D RID: 52349 RVA: 0x002ECDB0 File Offset: 0x002EAFB0
[Token(Token = "0x600CC7D")]
[Address(RVA = "0x2A33F00", Offset = "0x2A32D00", VA = "0x182A33F00")]
public void BeginProcess([Optional] T initialItem)
{
this._state = (FutureState)((ulong)1L);
this._value = initialItem;
}
// Token: 0x0600CC7E RID: 52350 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC7E")]
[Address(RVA = "0x2A33B60", Offset = "0x2A32960", VA = "0x182A33B60")]
public void AssignItem(T value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC7F RID: 52351 RVA: 0x002ECDD0 File Offset: 0x002EAFD0
[Token(Token = "0x600CC7F")]
[Address(RVA = "0x2A34240", Offset = "0x2A33040", VA = "0x182A34240")]
public void Fail(Exception error)
{
/*
An exception occurred when decompiling this method (0600CC7F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Futures.Future`1::Fail(System.Exception)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:InvalidOperationException(var_1_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot fail future that isn't in the Pending or Processing state.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CC80 RID: 52352 RVA: 0x002ECE04 File Offset: 0x002EB004
[Token(Token = "0x600CC80")]
[Address(RVA = "0x2A338A0", Offset = "0x2A326A0", VA = "0x182A338A0")]
private void AssignImpl(T value)
{
this._value = value;
this._state = (FutureState)((ulong)2L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600CC81 RID: 52353 RVA: 0x002ECE28 File Offset: 0x002EB028
[Token(Token = "0x600CC81")]
[Address(RVA = "0x2A340E0", Offset = "0x2A32EE0", VA = "0x182A340E0")]
private void FailImpl(Exception error)
{
int num = 0;
this._value = num;
this._state = (FutureState)((ulong)3L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600CC82 RID: 52354 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC82")]
[Address(RVA = "0x2A34D40", Offset = "0x2A33B40", VA = "0x182A34D40")]
private void FlushSuccessCallbacks()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC83 RID: 52355 RVA: 0x002ECE50 File Offset: 0x002EB050
[Token(Token = "0x600CC83")]
[Address(RVA = "0x2A34930", Offset = "0x2A33730", VA = "0x182A34930")]
private void FlushErrorCallbacks()
{
int num;
int num2;
do
{
num = 0;
bool flag;
if (flag)
{
Exception error = this.error;
}
num2 = 0;
num2 += num2;
num2++;
}
while (num != 0);
num2 += num2;
num2 += 19;
num2 += typeof(List<FutureErrorCallback>.Enumerator).TypeHandle;
}
// Token: 0x0600CC84 RID: 52356 RVA: 0x002ECEA4 File Offset: 0x002EB0A4
[Token(Token = "0x600CC84")]
[Address(RVA = "0x2A34300", Offset = "0x2A33100", VA = "0x182A34300")]
private void FlushComplationCallbacks()
{
int num;
int num2;
do
{
num = 0;
bool flag;
if (flag)
{
}
num2 = 0;
num2 += num2;
num2++;
}
while (num != 0);
num2 += num2;
num2 += 19;
num2 += typeof(List<FutureCallback<T>>.Enumerator).TypeHandle;
this.ClearCallbacks();
}
// Token: 0x0600CC85 RID: 52357 RVA: 0x002ECEE8 File Offset: 0x002EB0E8
[Token(Token = "0x600CC85")]
[Address(RVA = "0x2A34020", Offset = "0x2A32E20", VA = "0x182A34020")]
private void ClearCallbacks()
{
}
// Token: 0x04008248 RID: 33352
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008248")]
private FutureState _state;
// Token: 0x04008249 RID: 33353
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008249")]
private T _value;
// Token: 0x0400824A RID: 33354
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824A")]
private Exception _error;
// Token: 0x0400824B RID: 33355
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824B")]
private Func<T> _processFunc;
// Token: 0x0400824C RID: 33356
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824C")]
private readonly List<FutureValueCallback<T>> _itemCallbacks;
// Token: 0x0400824D RID: 33357
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824D")]
private readonly List<FutureValueCallback<T>> _successCallbacks;
// Token: 0x0400824E RID: 33358
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824E")]
private readonly List<FutureErrorCallback> _errorCallbacks;
// Token: 0x0400824F RID: 33359
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400824F")]
private readonly List<FutureCallback<T>> _complationCallbacks;
}
}
@@ -0,0 +1,45 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F89 RID: 8073
[Token(Token = "0x2001F89")]
public sealed class FutureCallback<T> : MulticastDelegate
{
// Token: 0x0600CC66 RID: 52326 RVA: 0x002ECA68 File Offset: 0x002EAC68
[Token(Token = "0x600CC66")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public FutureCallback(object @object, IntPtr method)
{
}
// Token: 0x0600CC67 RID: 52327 RVA: 0x002ECA78 File Offset: 0x002EAC78
[Token(Token = "0x600CC67")]
[Address(RVA = "0x14771B0", Offset = "0x1475FB0", VA = "0x1814771B0", Slot = "13")]
public void Invoke(IFuture<T> future)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600CC68 RID: 52328 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC68")]
[Address(RVA = "0x457150", Offset = "0x455F50", VA = "0x180457150", Slot = "14")]
public IAsyncResult BeginInvoke(IFuture<T> future, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC69 RID: 52329 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC69")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F8B RID: 8075
[Token(Token = "0x2001F8B")]
public sealed class FutureErrorCallback : MulticastDelegate
{
// Token: 0x0600CC6E RID: 52334 RVA: 0x002ECB6C File Offset: 0x002EAD6C
[Token(Token = "0x600CC6E")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public FutureErrorCallback(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600CC6F RID: 52335 RVA: 0x002ECB88 File Offset: 0x002EAD88
[Token(Token = "0x600CC6F")]
[Address(RVA = "0x747410", Offset = "0x746210", VA = "0x180747410", Slot = "13")]
public void Invoke(Exception error)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600CC70 RID: 52336 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC70")]
[Address(RVA = "0x457150", Offset = "0x455F50", VA = "0x180457150", Slot = "14")]
public IAsyncResult BeginInvoke(Exception error, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CC71 RID: 52337 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC71")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F87 RID: 8071
[Token(Token = "0x2001F87")]
public enum FutureState
{
// Token: 0x04008244 RID: 33348
[Token(Token = "0x4008244")]
Pending,
// Token: 0x04008245 RID: 33349
[Token(Token = "0x4008245")]
Processing,
// Token: 0x04008246 RID: 33350
[Token(Token = "0x4008246")]
Success,
// Token: 0x04008247 RID: 33351
[Token(Token = "0x4008247")]
Error
}
}
@@ -0,0 +1,44 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F8A RID: 8074
[Token(Token = "0x2001F8A")]
public sealed class FutureValueCallback<T> : MulticastDelegate
{
// Token: 0x0600CC6A RID: 52330 RVA: 0x002ECAE0 File Offset: 0x002EACE0
[Token(Token = "0x600CC6A")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public FutureValueCallback(object @object, IntPtr method)
{
}
// Token: 0x0600CC6B RID: 52331 RVA: 0x002ECAF0 File Offset: 0x002EACF0
[Token(Token = "0x600CC6B")]
[Address(RVA = "0x76A610", Offset = "0x769410", VA = "0x18076A610", Slot = "13")]
public void Invoke(T value)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600CC6C RID: 52332 RVA: 0x002ECB5C File Offset: 0x002EAD5C
[Token(Token = "0x600CC6C")]
[Address(RVA = "0x2A33820", Offset = "0x2A32620", VA = "0x182A33820", Slot = "14")]
public IAsyncResult BeginInvoke(T value, AsyncCallback callback, object @object)
{
}
// Token: 0x0600CC6D RID: 52333 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CC6D")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,60 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02001F88 RID: 8072
[Token(Token = "0x2001F88")]
public interface IFuture<T>
{
// Token: 0x17002080 RID: 8320
// (get) Token: 0x0600CC5F RID: 52319
[Token(Token = "0x17002080")]
FutureState state
{
[Token(Token = "0x600CC5F")]
[Address(Slot = "0")]
get;
}
// Token: 0x17002081 RID: 8321
// (get) Token: 0x0600CC60 RID: 52320
[Token(Token = "0x17002081")]
T value
{
[Token(Token = "0x600CC60")]
[Address(Slot = "1")]
get;
}
// Token: 0x17002082 RID: 8322
// (get) Token: 0x0600CC61 RID: 52321
[Token(Token = "0x17002082")]
Exception error
{
[Token(Token = "0x600CC61")]
[Address(Slot = "2")]
get;
}
// Token: 0x0600CC62 RID: 52322
[Token(Token = "0x600CC62")]
[Address(Slot = "3")]
IFuture<T> OnItem(FutureValueCallback<T> callback);
// Token: 0x0600CC63 RID: 52323
[Token(Token = "0x600CC63")]
[Address(Slot = "4")]
IFuture<T> OnSuccess(FutureValueCallback<T> callback);
// Token: 0x0600CC64 RID: 52324
[Token(Token = "0x600CC64")]
[Address(Slot = "5")]
IFuture<T> OnError(FutureErrorCallback callback);
// Token: 0x0600CC65 RID: 52325
[Token(Token = "0x600CC65")]
[Address(Slot = "6")]
IFuture<T> OnComplete(FutureCallback<T> callback);
}
}
+882
View File
@@ -0,0 +1,882 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using BestHTTP.Authentication;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.TcpClient.General;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using Cpp2IlInjected;
using Org.BouncyCastle.Crypto.Tls;
namespace BestHTTP
{
// Token: 0x02001890 RID: 6288
[Token(Token = "0x2001890")]
internal sealed class HTTPConnection : ConnectionBase
{
// Token: 0x17001741 RID: 5953
// (get) Token: 0x0600931E RID: 37662 RVA: 0x001E21C0 File Offset: 0x001E03C0
[Token(Token = "0x17001741")]
public override bool IsRemovable
{
[Token(Token = "0x600931E")]
[Address(RVA = "0x1717F00", Offset = "0x1716D00", VA = "0x181717F00", Slot = "5")]
get
{
if (!base.IsRemovable)
{
if (base.IsFree && this.KeepAlive != (ulong)0L)
{
DateTime utcNow = DateTime.UtcNow;
DateTime lastProcessTime = this.LastProcessTime;
TimeSpan timeSpan = utcNow - lastProcessTime;
TimeSpan <TimeOut>k__BackingField = this.KeepAlive.<TimeOut>k__BackingField;
if (!(timeSpan >= <TimeOut>k__BackingField))
{
}
}
}
return true;
}
}
// Token: 0x0600931F RID: 37663 RVA: 0x001E2224 File Offset: 0x001E0424
[Token(Token = "0x600931F")]
[Address(RVA = "0x1714D10", Offset = "0x1713B10", VA = "0x181714D10")]
internal HTTPConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x06009320 RID: 37664 RVA: 0x001E2238 File Offset: 0x001E0438
[Token(Token = "0x6009320")]
[Address(RVA = "0x17166A0", Offset = "0x17154A0", VA = "0x1817166A0", Slot = "7")]
protected override void ThreadFunc(object param)
{
for (;;)
{
int num = 0;
if (!this.TryLoadAllFromCache())
{
TcpClient client = this.Client;
if (client != 0 && !client.IsConnected())
{
this.Close();
}
if (num == 1)
{
this.Close();
Thread.Sleep(100);
}
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField = <CurrentRequest>k__BackingField.<Uri>k__BackingField;
this.<LastProcessedUri>k__BackingField = <Uri>k__BackingField;
this.Connect();
uint num2;
num2 += (uint)1;
if (num != 0)
{
goto IL_721;
}
if (num2 != (uint)(-1))
{
}
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
if (!<CurrentRequest>k__BackingField2.disableCache)
{
HTTPCacheService.SetHeaders(<CurrentRequest>k__BackingField2);
}
TcpClient client2 = this.Client;
bool <TryToMinimizeTCPLatency>k__BackingField = this.<CurrentRequest>k__BackingField.<TryToMinimizeTCPLatency>k__BackingField;
client2.NoDelay = <TryToMinimizeTCPLatency>k__BackingField;
HTTPRequest <CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
Stream stream = this.Stream;
<CurrentRequest>k__BackingField3.SendOutTo(stream);
num2 += (uint)1;
if (num != 0)
{
goto IL_727;
}
if (num2 != (uint)(-1))
{
}
bool flag = this.Receive();
num2 += (uint)1;
if (num != 0)
{
goto IL_727;
}
if (num2 != (uint)(-1))
{
}
HTTPConnectionStates <State>k__BackingField = this.<State>k__BackingField;
if (<State>k__BackingField == HTTPConnectionStates.TimedOut || <State>k__BackingField == HTTPConnectionStates.AbortRequested)
{
goto IL_88D;
}
if (flag || this.<CurrentRequest>k__BackingField.<DisableRetry>k__BackingField == flag)
{
}
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField4.<Response>k__BackingField != (ulong)0L)
{
int num3;
if (<CurrentRequest>k__BackingField4.<IsCookiesEnabled>k__BackingField)
{
CookieJar.Set(this.<CurrentRequest>k__BackingField.<Response>k__BackingField);
CookieJar.Persist();
num2 += (uint)1;
num3 = 0;
if (num != 0)
{
goto IL_733;
}
if (num2 != (uint)(-1))
{
}
}
HTTPRequest <CurrentRequest>k__BackingField5 = this.<CurrentRequest>k__BackingField;
int <StatusCode>k__BackingField = <CurrentRequest>k__BackingField5.<Response>k__BackingField.<StatusCode>k__BackingField;
if (<StatusCode>k__BackingField <= 308)
{
goto IL_319;
}
if (<StatusCode>k__BackingField == 401)
{
string text = DigestStore.FindBest(<CurrentRequest>k__BackingField5.<Response>k__BackingField.GetHeaderValues("www-authenticate"));
if (!string.IsNullOrEmpty(text))
{
HTTPRequest <CurrentRequest>k__BackingField6 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField6.<IsRedirected>k__BackingField)
{
}
Digest orCreate = DigestStore.GetOrCreate(<CurrentRequest>k__BackingField6.<Uri>k__BackingField);
orCreate.ParseChallange(text);
HTTPRequest <CurrentRequest>k__BackingField7 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField7.<Credentials>k__BackingField != (ulong)0L)
{
if (<CurrentRequest>k__BackingField7.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField2 = <CurrentRequest>k__BackingField7.<Uri>k__BackingField;
if (!orCreate.IsUriProtected(<Uri>k__BackingField2) || !this.<CurrentRequest>k__BackingField.HasHeader("Authorization") || orCreate.<Stale>k__BackingField)
{
}
}
}
HTTPRequest <CurrentRequest>k__BackingField8 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField8.useStreaming || <CurrentRequest>k__BackingField8.disableCache || <CurrentRequest>k__BackingField8.<Response>k__BackingField == (ulong)0L || !HTTPCacheService.IsSupported)
{
goto IL_4C9;
}
if (!this.<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField)
{
goto IL_45E;
}
}
while ("Authorization" != (ulong)407L)
{
}
List<string> list;
string text2 = DigestStore.FindBest(list);
if (string.IsNullOrEmpty(text2))
{
continue;
}
Digest orCreate2 = DigestStore.GetOrCreate(this.<CurrentRequest>k__BackingField.<Proxy>k__BackingField.<Address>k__BackingField);
orCreate2.ParseChallange(text2);
Proxy <Proxy>k__BackingField = this.<CurrentRequest>k__BackingField.<Proxy>k__BackingField;
while (<Proxy>k__BackingField.<Credentials>k__BackingField == (ulong)0L)
{
}
Uri <Address>k__BackingField = <Proxy>k__BackingField.<Address>k__BackingField;
if (!orCreate2.IsUriProtected(<Address>k__BackingField))
{
continue;
}
HTTPRequest <CurrentRequest>k__BackingField9 = this.<CurrentRequest>k__BackingField;
bool flag2 = <CurrentRequest>k__BackingField9.HasHeader("Proxy-Authorization");
if (flag2)
{
while (!orCreate2.<Stale>k__BackingField)
{
}
goto IL_319;
}
goto IL_319;
IL_4C9:
HTTPResponse <Response>k__BackingField = this.<CurrentRequest>k__BackingField.<Response>k__BackingField;
if (<Response>k__BackingField != 0 && <Response>k__BackingField.<IsClosedManually>k__BackingField)
{
goto IL_51C;
}
if (<Response>k__BackingField == 0)
{
}
uint num4;
if (num4 != (uint)0)
{
goto IL_522;
}
List<string> list2;
if (num4 != (uint)0 && list2 != 0)
{
KeepAliveHeader keepAliveHeader;
if (this.KeepAlive == 0)
{
keepAliveHeader = new KeepAliveHeader();
this.KeepAlive = keepAliveHeader;
}
keepAliveHeader.Parse(list2);
goto IL_51C;
}
goto IL_51C;
IL_45E:
HTTPRequest <CurrentRequest>k__BackingField10;
Uri <Uri>k__BackingField3 = <CurrentRequest>k__BackingField10.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField = <CurrentRequest>k__BackingField10.<MethodType>k__BackingField;
HTTPResponse <Response>k__BackingField2 = <CurrentRequest>k__BackingField10.<Response>k__BackingField;
if (HTTPCacheService.IsCacheble(<Uri>k__BackingField3, <MethodType>k__BackingField, <Response>k__BackingField2))
{
HTTPRequest <CurrentRequest>k__BackingField11 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField11.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField4 = <CurrentRequest>k__BackingField11.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField2 = <CurrentRequest>k__BackingField11.<MethodType>k__BackingField;
HTTPResponse <Response>k__BackingField3 = <CurrentRequest>k__BackingField11.<Response>k__BackingField;
HTTPCacheFileInfo httpcacheFileInfo = HTTPCacheService.Store(<Uri>k__BackingField4, <MethodType>k__BackingField2, <Response>k__BackingField3);
HTTPCacheService.SaveLibrary();
goto IL_4C9;
}
goto IL_4C9;
IL_319:
if (flag2 > true)
{
while (flag2 > true)
{
}
}
int i = <CurrentRequest>k__BackingField9.<RedirectCount>k__BackingField;
while (i >= <CurrentRequest>k__BackingField9.<MaxRedirects>k__BackingField)
{
}
i++;
<CurrentRequest>k__BackingField9.<RedirectCount>k__BackingField = i;
string firstHeaderValue = this.<CurrentRequest>k__BackingField.<Response>k__BackingField.GetFirstHeaderValue("location");
if (!string.IsNullOrEmpty(firstHeaderValue))
{
Uri redirectUri = this.GetRedirectUri(firstHeaderValue);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
HTTPRequest <CurrentRequest>k__BackingField12 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField12.<IsRedirected>k__BackingField)
{
}
int hashCode = <CurrentRequest>k__BackingField12.<Uri>k__BackingField.GetHashCode();
string text3 = string.Format("{0} - Redirected to Location: '{1}' redirectUri: '{1}'", hashCode, firstHeaderValue, redirectUri);
}
HTTPRequest <CurrentRequest>k__BackingField13 = this.<CurrentRequest>k__BackingField;
OnBeforeRedirectionDelegate onBeforeRedirection = <CurrentRequest>k__BackingField13.onBeforeRedirection;
if (onBeforeRedirection != 0)
{
HTTPResponse <Response>k__BackingField4 = <CurrentRequest>k__BackingField13.<Response>k__BackingField;
if (!onBeforeRedirection(<CurrentRequest>k__BackingField13, <Response>k__BackingField4, redirectUri))
{
ILogger logger2 = HTTPManager.Logger;
}
}
Dictionary<string, List<string>> <Headers>k__BackingField = this.<CurrentRequest>k__BackingField.<Headers>k__BackingField;
if (<Headers>k__BackingField != 0)
{
bool flag3 = <Headers>k__BackingField.Remove("Host");
}
HTTPRequest <CurrentRequest>k__BackingField14 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField14.<IsRedirected>k__BackingField)
{
}
int hashCode2 = <CurrentRequest>k__BackingField14.<Uri>k__BackingField.GetHashCode();
this.<CurrentRequest>k__BackingField.<RedirectUri>k__BackingField = redirectUri;
this.<CurrentRequest>k__BackingField.<Response>k__BackingField = num3;
<CurrentRequest>k__BackingField10 = this.<CurrentRequest>k__BackingField;
<CurrentRequest>k__BackingField10.<IsRedirected>k__BackingField = true;
goto IL_45E;
}
goto IL_79F;
}
IL_51C:
uint num5;
while (num5 != (uint)0)
{
}
IL_522:
this.Close();
this.Close();
HTTPConnectionStates <State>k__BackingField2 = this.<State>k__BackingField;
if (<State>k__BackingField2 == HTTPConnectionStates.TimedOut || <State>k__BackingField2 == HTTPConnectionStates.AbortRequested || this.<CurrentRequest>k__BackingField.<DisableRetry>k__BackingField)
{
goto IL_8AB;
}
}
HTTPRequest <CurrentRequest>k__BackingField15 = this.<CurrentRequest>k__BackingField;
int num6 = 0;
<CurrentRequest>k__BackingField15.<Response>k__BackingField = num6;
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <CurrentRequest>k__BackingField15;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)6L);
this.Close();
HTTPRequest <CurrentRequest>k__BackingField16 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField16 == 0)
{
goto IL_609;
}
Uri <Uri>k__BackingField5;
if (<CurrentRequest>k__BackingField16.useStreaming)
{
if (<CurrentRequest>k__BackingField16.<IsRedirected>k__BackingField)
{
}
<Uri>k__BackingField5 = <CurrentRequest>k__BackingField16.<Uri>k__BackingField;
ulong num7;
bool flag4 = HTTPCacheService.DeleteEntity(<Uri>k__BackingField5, num7 != 0UL);
}
HTTPRequest <CurrentRequest>k__BackingField17 = this.<CurrentRequest>k__BackingField;
int num8 = 0;
<CurrentRequest>k__BackingField17.<Response>k__BackingField = num8;
HTTPConnectionStates <State>k__BackingField3 = this.<State>k__BackingField;
if (<Uri>k__BackingField5 != 0)
{
if (<Uri>k__BackingField5 == 0)
{
goto IL_612;
}
if (<Uri>k__BackingField5 != (ulong)1L)
{
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <State>k__BackingField3;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
goto IL_609;
}
}
IL_620:
uint num9;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)num9;
object locker = HTTPManager.Locker;
int num10;
Monitor.Enter(locker, num10);
HTTPRequest <CurrentRequest>k__BackingField18 = this.<CurrentRequest>k__BackingField;
HTTPResponse <Response>k__BackingField5;
if (<CurrentRequest>k__BackingField18 != 0)
{
<Response>k__BackingField5 = <CurrentRequest>k__BackingField18.<Response>k__BackingField;
if (<Response>k__BackingField5 != 0 && <Response>k__BackingField5.<IsUpgraded>k__BackingField)
{
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)3L);
}
}
uint num11;
<CurrentRequest>k__BackingField18.<MethodType>k__BackingField = (HTTPMethods)num11;
byte[] <RawData>k__BackingField = <CurrentRequest>k__BackingField18.<RawData>k__BackingField;
Exception ex;
if ("{il2cpp array field local192->}" == (ulong)2L && <Response>k__BackingField5 == (ulong)4294967291L && "{il2cpp array field local192->}" == (ulong)0L)
{
HTTPRequestStates httprequestStates;
int hashCode3 = httprequestStates.GetHashCode();
HTTPRequestStates httprequestStates2 = httprequestStates;
ex = new Exception(string.Format("Remote server closed the connection before sending response header! Previous request state: {0}. Connection state: {1}", hashCode3, httprequestStates2));
<RawData>k__BackingField[12] = ex;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
}
if (this.<CurrentRequest>k__BackingField.<State>k__BackingField == HTTPRequestStates.ConnectionTimedOut)
{
this.<State>k__BackingField = (HTTPConnectionStates)num11;
}
DateTime utcNow = DateTime.UtcNow;
this.LastProcessTime = utcNow;
base.RecycleNow();
Monitor.Exit(locker);
if (ex == 0 && num11 == (uint)0)
{
break;
}
continue;
IL_612:
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)7L);
goto IL_620;
IL_609:
num10 = 0;
this.Close();
goto IL_612;
}
return;
IL_721:
throw new NullReferenceException();
IL_727:
throw new NullReferenceException();
IL_733:
throw new NullReferenceException();
IL_79F:
throw new NullReferenceException();
IL_88D:
Exception ex2 = new Exception("AbortRequested");
throw new NullReferenceException();
IL_8AB:
Exception ex3 = new Exception("AbortRequested");
throw new NullReferenceException();
}
// Token: 0x06009321 RID: 37665 RVA: 0x001E2B4C File Offset: 0x001E0D4C
[Token(Token = "0x6009321")]
[Address(RVA = "0x1714EB0", Offset = "0x1713CB0", VA = "0x181714EB0")]
private void Connect()
{
int num;
TcpClient client5;
TlsClientProtocol tlsClientProtocol;
List<string> list;
Uri <Uri>k__BackingField2;
for (;;)
{
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
num = 0;
if (<CurrentRequest>k__BackingField.<Proxy>k__BackingField != 0)
{
}
if ((<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
Uri <Uri>k__BackingField = <CurrentRequest>k__BackingField.<Uri>k__BackingField;
TcpClient tcpClient;
if (this.Client == 0)
{
tcpClient = new TcpClient();
this.Client = tcpClient;
}
if (tcpClient.Connected)
{
if (HTTPManager.Logger > (ulong)1L)
{
goto IL_239;
}
ILogger logger = HTTPManager.Logger;
string host = <Uri>k__BackingField.Host;
int port = <Uri>k__BackingField.Port;
}
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
TcpClient client = this.Client;
TimeSpan <ConnectTimeout>k__BackingField = <CurrentRequest>k__BackingField2.<ConnectTimeout>k__BackingField;
client.<ConnectTimeout>k__BackingField = <ConnectTimeout>k__BackingField;
if (HTTPManager.Logger == 0)
{
ILogger logger2 = HTTPManager.Logger;
HTTPRequest <CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField3.<IsRedirected>k__BackingField ? 1 : 0) == num)
{
continue;
}
int hashCode = <CurrentRequest>k__BackingField3.<RedirectUri>k__BackingField.m_String.GetHashCode();
string host2 = <Uri>k__BackingField.Host;
int port2 = <Uri>k__BackingField.Port;
string text2;
string text = string.Format("'{0}' - Connecting to {1}:{2}", hashCode, host2, text2);
}
TcpClient client2 = this.Client;
int sendBufferSize = HTTPManager.SendBufferSize;
client2.SendBufferSize = sendBufferSize;
TcpClient client3 = this.Client;
int receiveBufferSize = HTTPManager.ReceiveBufferSize;
client3.ReceiveBufferSize = receiveBufferSize;
if (HTTPManager.Logger == 0)
{
ILogger logger3 = HTTPManager.Logger;
object[] array = new object[4];
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField4.<IsRedirected>k__BackingField ? 1 : 0) == num)
{
continue;
}
int hashCode2 = <CurrentRequest>k__BackingField4.<RedirectUri>k__BackingField.m_String.GetHashCode();
if (hashCode2 != 0)
{
}
array[0] = hashCode2;
int sendBufferSize2 = this.Client.SendBufferSize;
string text3;
if (text3 != 0)
{
}
array[1] = text3;
int receiveBufferSize2 = this.Client.ReceiveBufferSize;
string text4;
if (text4 != 0)
{
}
array[2] = text4;
bool is_blocking = this.Client.client.is_blocking;
string text5;
if (text5 != 0)
{
}
array[3] = text5;
string text6 = string.Format("'{0}' - Buffer sizes - Send: {1} Receive: {2} Blocking: {3}", array);
}
TcpClient client4 = this.Client;
string host3 = <Uri>k__BackingField.Host;
int port3 = <Uri>k__BackingField.Port;
client4.Connect(host3, port3);
if (HTTPManager.Logger <= (ulong)1L)
{
ILogger logger4 = HTTPManager.Logger;
string host4 = <Uri>k__BackingField.Host;
int port4 = <Uri>k__BackingField.Port;
string text8;
string text7 = "Connected to " + host4 + ":" + text8;
}
IL_239:
DateTime utcNow = DateTime.UtcNow;
this.<StartTime>k__BackingField = utcNow;
if (this.Stream != num)
{
return;
}
HTTPRequest <CurrentRequest>k__BackingField5 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField5.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
bool flag = HTTPProtocolFactory.IsSecureProtocol(<CurrentRequest>k__BackingField5.<Uri>k__BackingField);
Stream stream = this.Client.GetStream();
HTTPRequest <CurrentRequest>k__BackingField6 = this.<CurrentRequest>k__BackingField;
this.Stream = stream;
Proxy <Proxy>k__BackingField = <CurrentRequest>k__BackingField6.<Proxy>k__BackingField;
if (<Proxy>k__BackingField != 0)
{
string text9 = <Proxy>k__BackingField.ToString();
}
if (!flag)
{
return;
}
HTTPRequest <CurrentRequest>k__BackingField7 = this.<CurrentRequest>k__BackingField;
client5 = this.Client;
if ((<CurrentRequest>k__BackingField7.<UseAlternateSSL>k__BackingField ? 1 : 0) == num)
{
break;
}
SecureRandom secureRandom = new SecureRandom();
Stream stream2;
tlsClientProtocol = new TlsClientProtocol(stream2, secureRandom);
HTTPRequest <CurrentRequest>k__BackingField8 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField8.<CustomTLSServerNameList>k__BackingField != 0)
{
}
if ((<CurrentRequest>k__BackingField8.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
if (!<CurrentRequest>k__BackingField8.<Uri>k__BackingField.IsHostIsAnIPAddress())
{
list = new List(1);
HTTPRequest <CurrentRequest>k__BackingField9 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField9.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
string host5 = <CurrentRequest>k__BackingField9.<Uri>k__BackingField.Host;
list.Add(host5);
}
HTTPRequest <CurrentRequest>k__BackingField10 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField10.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
<Uri>k__BackingField2 = <CurrentRequest>k__BackingField10.<Uri>k__BackingField;
if (<CurrentRequest>k__BackingField10.<CustomCertificateVerifyer>k__BackingField == 0)
{
goto Block_14;
}
}
Stream stream3 = client5.GetStream();
RemoteCertificateValidationCallback remoteCertificateValidationCallback = delegate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
{
HTTPRequest <CurrentRequest>k__BackingField12 = this.<CurrentRequest>k__BackingField;
Func<HTTPRequest, X509Certificate, X509Chain, bool> customCertificationValidator = <CurrentRequest>k__BackingField12.CustomCertificationValidator;
return customCertificationValidator == 0 || customCertificationValidator(<CurrentRequest>k__BackingField12, cert, chain) != null;
};
int num2;
SslStream sslStream = new SslStream(stream3, num2 != 0, remoteCertificateValidationCallback);
num2 = 0;
if (sslStream == 0)
{
HTTPRequest <CurrentRequest>k__BackingField11 = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField11.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
string host6 = <CurrentRequest>k__BackingField11.<Uri>k__BackingField.Host;
bool isAuthenticated = sslStream.IsAuthenticated;
}
this.Stream = sslStream;
return;
Block_14:
AlwaysValidVerifyer alwaysValidVerifyer = new AlwaysValidVerifyer();
IClientCredentialsProvider <CustomClientCredentialsProvider>k__BackingField = this.<CurrentRequest>k__BackingField.<CustomClientCredentialsProvider>k__BackingField;
LegacyTlsClient legacyTlsClient = new LegacyTlsClient(<Uri>k__BackingField2, alwaysValidVerifyer, <CustomClientCredentialsProvider>k__BackingField, list);
tlsClientProtocol.RefuseRenegotiation();
throw new NullReferenceException();
}
// Token: 0x06009322 RID: 37666 RVA: 0x001E2F4C File Offset: 0x001E114C
[Token(Token = "0x6009322")]
[Address(RVA = "0x1716020", Offset = "0x1714E20", VA = "0x181716020")]
private bool Receive()
{
/*
An exception occurred when decompiling this method (06009322)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.HTTPConnection::Receive()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_22E:
stloc:Exception(var_36_238, newobj:Exception(Exception::.ctor, ldstr:string("Malformed URI in GetProtocolFromUri")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009323 RID: 37667 RVA: 0x001E3194 File Offset: 0x001E1394
[Token(Token = "0x6009323")]
[Address(RVA = "0x1715B10", Offset = "0x1714910", VA = "0x181715B10")]
private bool LoadFromCache(Uri uri)
{
int num;
List<string> list;
do
{
num = 0;
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
int hashCode = <CurrentRequest>k__BackingField.<Uri>k__BackingField.GetHashCode();
int hashCode2 = uri.GetHashCode();
string text = string.Format("{0} - LoadFromCache for Uri: {1}", hashCode, hashCode2);
}
HTTPCacheFileInfo entity = HTTPCacheService.GetEntity(uri);
if (entity == 0)
{
goto IL_11F;
}
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
HTTPResponse httpresponse = entity.ReadResponseTo(<CurrentRequest>k__BackingField2);
HTTPRequest <CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
if (httpresponse != 0)
{
return true;
}
<CurrentRequest>k__BackingField3.<Response>k__BackingField.<CacheFileInfo>k__BackingField = entity;
Stream stream;
if (stream != 0)
{
if (this.<CurrentRequest>k__BackingField.<Response>k__BackingField.GetHeaderValues("content-length") == 0)
{
Dictionary<string, List<string>> <Headers>k__BackingField = this.<CurrentRequest>k__BackingField.<Response>k__BackingField.<Headers>k__BackingField;
list = new List(1);
string text2;
list.Add(text2);
<Headers>k__BackingField.Add("content-length", list);
}
this.<CurrentRequest>k__BackingField.<Response>k__BackingField.<IsFromCache>k__BackingField = true;
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
if (!<CurrentRequest>k__BackingField4.cacheOnly)
{
HTTPResponse <Response>k__BackingField = <CurrentRequest>k__BackingField4.<Response>k__BackingField;
}
}
if (stream != 0)
{
}
}
while (num != 0);
if (num != -1)
{
}
return true;
IL_11F:
int num2 = 0;
ILogger logger2 = HTTPManager.Logger;
int hashCode3 = num2.GetHashCode();
int hashCode4 = list.GetHashCode();
string text3 = string.Format("{0} - LoadFromCache for Uri: {1} - Cached entity not found!", hashCode3, hashCode4);
throw new NullReferenceException();
}
// Token: 0x06009324 RID: 37668 RVA: 0x001E3300 File Offset: 0x001E1500
[Token(Token = "0x6009324")]
[Address(RVA = "0x1717A60", Offset = "0x1716860", VA = "0x181717A60")]
private bool TryLoadAllFromCache()
{
if (!this.<CurrentRequest>k__BackingField.disableCache && HTTPCacheService.IsSupported)
{
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if (HTTPCacheService.IsCachedEntityExpiresInTheFuture(<CurrentRequest>k__BackingField))
{
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField2.<IsRedirected>k__BackingField)
{
}
int hashCode = <CurrentRequest>k__BackingField2.<Uri>k__BackingField.GetHashCode();
string text = string.Format("{0} - TryLoadAllFromCache - whole response loading from cache", hashCode);
}
HTTPRequest <CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
HTTPResponse fullResponse = HTTPCacheService.GetFullResponse(<CurrentRequest>k__BackingField3);
<CurrentRequest>k__BackingField3.<Response>k__BackingField = fullResponse;
if (this.<CurrentRequest>k__BackingField.<Response>k__BackingField != (ulong)0L)
{
return true;
}
}
if (<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField)
{
}
bool flag = HTTPCacheService.DeleteEntity(<CurrentRequest>k__BackingField.<Uri>k__BackingField, true);
}
throw new NullReferenceException();
}
// Token: 0x06009325 RID: 37669 RVA: 0x001E33F4 File Offset: 0x001E15F4
[Token(Token = "0x6009325")]
[Address(RVA = "0x1717CF0", Offset = "0x1716AF0", VA = "0x181717CF0")]
private void TryStoreInCache()
{
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if (!<CurrentRequest>k__BackingField.useStreaming && !<CurrentRequest>k__BackingField.disableCache && <CurrentRequest>k__BackingField.<Response>k__BackingField != (ulong)0L && HTTPCacheService.IsSupported)
{
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField2.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField = <CurrentRequest>k__BackingField2.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField = <CurrentRequest>k__BackingField2.<MethodType>k__BackingField;
HTTPResponse <Response>k__BackingField = <CurrentRequest>k__BackingField2.<Response>k__BackingField;
if (HTTPCacheService.IsCacheble(<Uri>k__BackingField, <MethodType>k__BackingField, <Response>k__BackingField))
{
HTTPRequest <CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField3.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField2 = <CurrentRequest>k__BackingField3.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField2 = <CurrentRequest>k__BackingField3.<MethodType>k__BackingField;
HTTPResponse <Response>k__BackingField2 = <CurrentRequest>k__BackingField3.<Response>k__BackingField;
HTTPCacheFileInfo httpcacheFileInfo = HTTPCacheService.Store(<Uri>k__BackingField2, <MethodType>k__BackingField2, <Response>k__BackingField2);
HTTPCacheService.SaveLibrary();
}
}
}
// Token: 0x06009326 RID: 37670 RVA: 0x001E34B4 File Offset: 0x001E16B4
[Token(Token = "0x6009326")]
[Address(RVA = "0x1715980", Offset = "0x1714780", VA = "0x181715980")]
private Uri GetRedirectUri(string location)
{
int num;
int num2;
do
{
Uri uri = new Uri(location);
if (uri.IsFile || string.Equals(uri.AbsolutePath, location))
{
}
num = 0;
num2 = 0;
}
while (!(num == num2));
Uri <Uri>k__BackingField = this.<CurrentRequest>k__BackingField.<Uri>k__BackingField;
string scheme = <Uri>k__BackingField.Scheme;
string host = <Uri>k__BackingField.Host;
int port = <Uri>k__BackingField.Port;
return new UriBuilder(scheme, host, port, location).Uri;
}
// Token: 0x06009327 RID: 37671 RVA: 0x001E3538 File Offset: 0x001E1738
[Token(Token = "0x6009327")]
[Address(RVA = "0x1714D20", Offset = "0x1713B20", VA = "0x181714D20", Slot = "6")]
internal override void Abort(HTTPConnectionStates newState)
{
this.<State>k__BackingField = newState;
if (newState == HTTPConnectionStates.TimedOut)
{
DateTime utcNow = DateTime.UtcNow;
this.<TimedOutStart>k__BackingField = utcNow;
}
if (this.Stream != (ulong)0L)
{
this.Stream.Dispose();
}
}
// Token: 0x06009328 RID: 37672 RVA: 0x001E3580 File Offset: 0x001E1780
[Token(Token = "0x6009328")]
[Address(RVA = "0x1714DD0", Offset = "0x1713BD0", VA = "0x181714DD0")]
private void Close()
{
int num;
do
{
num = 0;
this.KeepAlive = num;
this.<LastProcessedUri>k__BackingField = num;
if (this.Client == num)
{
break;
}
this.Client.Close();
this.Stream = (ulong)0L;
this.Client = (ulong)0L;
}
while (num != 0);
}
// Token: 0x06009329 RID: 37673 RVA: 0x001E35D0 File Offset: 0x001E17D0
[Token(Token = "0x6009329")]
[Address(RVA = "0x1715950", Offset = "0x1714750", VA = "0x181715950", Slot = "8")]
protected override void Dispose(bool disposing)
{
this.Close();
base.Dispose(disposing);
}
// Token: 0x04006481 RID: 25729
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006481")]
private TcpClient Client;
// Token: 0x04006482 RID: 25730
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4006482")]
private Stream Stream;
// Token: 0x04006483 RID: 25731
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4006483")]
private KeepAliveHeader KeepAlive;
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200188A RID: 6282
[Token(Token = "0x200188A")]
internal sealed class HTTPConnectionRecycledDelegate : MulticastDelegate
{
// Token: 0x060092E5 RID: 37605 RVA: 0x001E16F0 File Offset: 0x001DF8F0
[Token(Token = "0x60092E5")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public HTTPConnectionRecycledDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060092E6 RID: 37606 RVA: 0x001E170C File Offset: 0x001DF90C
[Token(Token = "0x60092E6")]
[Address(RVA = "0x747410", Offset = "0x746210", VA = "0x180747410", Slot = "13")]
public void Invoke(ConnectionBase conn)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060092E7 RID: 37607 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60092E7")]
[Address(RVA = "0x457150", Offset = "0x455F50", VA = "0x180457150", Slot = "14")]
public IAsyncResult BeginInvoke(ConnectionBase conn, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060092E8 RID: 37608 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60092E8")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,41 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001891 RID: 6289
[Token(Token = "0x2001891")]
internal enum HTTPConnectionStates
{
// Token: 0x04006485 RID: 25733
[Token(Token = "0x4006485")]
Initial,
// Token: 0x04006486 RID: 25734
[Token(Token = "0x4006486")]
Processing,
// Token: 0x04006487 RID: 25735
[Token(Token = "0x4006487")]
Redirected,
// Token: 0x04006488 RID: 25736
[Token(Token = "0x4006488")]
Upgraded,
// Token: 0x04006489 RID: 25737
[Token(Token = "0x4006489")]
WaitForProtocolShutdown,
// Token: 0x0400648A RID: 25738
[Token(Token = "0x400648A")]
WaitForRecycle,
// Token: 0x0400648B RID: 25739
[Token(Token = "0x400648B")]
Free,
// Token: 0x0400648C RID: 25740
[Token(Token = "0x400648C")]
AbortRequested,
// Token: 0x0400648D RID: 25741
[Token(Token = "0x400648D")]
TimedOut,
// Token: 0x0400648E RID: 25742
[Token(Token = "0x400648E")]
Closed
}
}
+967
View File
@@ -0,0 +1,967 @@
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();
}
}
+35
View File
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001895 RID: 6293
[Token(Token = "0x2001895")]
public enum HTTPMethods : byte
{
// Token: 0x040064B3 RID: 25779
[Token(Token = "0x40064B3")]
Get,
// Token: 0x040064B4 RID: 25780
[Token(Token = "0x40064B4")]
Head,
// Token: 0x040064B5 RID: 25781
[Token(Token = "0x40064B5")]
Post,
// Token: 0x040064B6 RID: 25782
[Token(Token = "0x40064B6")]
Put,
// Token: 0x040064B7 RID: 25783
[Token(Token = "0x40064B7")]
Delete,
// Token: 0x040064B8 RID: 25784
[Token(Token = "0x40064B8")]
Patch,
// Token: 0x040064B9 RID: 25785
[Token(Token = "0x40064B9")]
Merge,
// Token: 0x040064BA RID: 25786
[Token(Token = "0x40064BA")]
Options
}
}
@@ -0,0 +1,96 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001897 RID: 6295
[Token(Token = "0x2001897")]
public static class HTTPProtocolFactory
{
// Token: 0x0600936E RID: 37742 RVA: 0x001E447C File Offset: 0x001E267C
[Token(Token = "0x600936E")]
[Address(RVA = "0x171D4C0", Offset = "0x171C2C0", VA = "0x18171D4C0")]
public static HTTPResponse Get(SupportedProtocols protocol, HTTPRequest request, Stream stream, bool isStreamed, bool isFromCache)
{
/*
An exception occurred when decompiling this method (0600936E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.HTTPResponse BestHTTP.HTTPProtocolFactory::Get(BestHTTP.SupportedProtocols,BestHTTP.HTTPRequest,System.IO.Stream,System.Boolean,System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stfld:Stream(ReadOnlyBufferedStream::stream, ldloc:ReadOnlyBufferedStream(var_0), ldloc:Stream(stream))
stfld:uint8[](ReadOnlyBufferedStream::buf, ldloc:ReadOnlyBufferedStream(var_0), ldloc:uint8[](var_1))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600936F RID: 37743 RVA: 0x001E449C File Offset: 0x001E269C
[Token(Token = "0x600936F")]
[Address(RVA = "0x171D3B0", Offset = "0x171C1B0", VA = "0x18171D3B0")]
public static SupportedProtocols GetProtocolFromUri(Uri uri)
{
/*
An exception occurred when decompiling this method (0600936F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SupportedProtocols BestHTTP.HTTPProtocolFactory::GetProtocolFromUri(System.Uri)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_41:
stloc:Exception(var_2_4B, newobj:Exception(Exception::.ctor, ldstr:string("Malformed URI in GetProtocolFromUri")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009370 RID: 37744 RVA: 0x001E44F4 File Offset: 0x001E26F4
[Token(Token = "0x6009370")]
[Address(RVA = "0x171D620", Offset = "0x171C420", VA = "0x18171D620")]
public static bool IsSecureProtocol(Uri uri)
{
/*
An exception occurred when decompiling this method (06009370)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.HTTPProtocolFactory::IsSecureProtocol(System.Uri)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_43:
stloc:Exception(var_3_4D, newobj:Exception(Exception::.ctor, ldstr:string("Malformed URI in IsSecureProtocol")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
}
+328
View File
@@ -0,0 +1,328 @@
using System;
using System.IO;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001899 RID: 6297
[Token(Token = "0x2001899")]
public sealed class HTTPProxy : Proxy
{
// Token: 0x17001758 RID: 5976
// (get) Token: 0x06009378 RID: 37752 RVA: 0x001E45C4 File Offset: 0x001E27C4
// (set) Token: 0x06009379 RID: 37753 RVA: 0x001E45D8 File Offset: 0x001E27D8
[Token(Token = "0x17001758")]
public bool IsTransparent
{
[Token(Token = "0x6009378")]
[Address(RVA = "0x3F71D0", Offset = "0x3F5FD0", VA = "0x1803F71D0")]
get;
[Token(Token = "0x6009379")]
[Address(RVA = "0x41EF80", Offset = "0x41DD80", VA = "0x18041EF80")]
set;
}
// Token: 0x17001759 RID: 5977
// (get) Token: 0x0600937A RID: 37754 RVA: 0x001E45EC File Offset: 0x001E27EC
// (set) Token: 0x0600937B RID: 37755 RVA: 0x001E4600 File Offset: 0x001E2800
[Token(Token = "0x17001759")]
public bool SendWholeUri
{
[Token(Token = "0x600937A")]
[Address(RVA = "0x41ED50", Offset = "0x41DB50", VA = "0x18041ED50")]
get;
[Token(Token = "0x600937B")]
[Address(RVA = "0x41EF90", Offset = "0x41DD90", VA = "0x18041EF90")]
set;
}
// Token: 0x1700175A RID: 5978
// (get) Token: 0x0600937C RID: 37756 RVA: 0x001E4614 File Offset: 0x001E2814
// (set) Token: 0x0600937D RID: 37757 RVA: 0x001E4628 File Offset: 0x001E2828
[Token(Token = "0x1700175A")]
public bool NonTransparentForHTTPS
{
[Token(Token = "0x600937C")]
[Address(RVA = "0x439BB0", Offset = "0x4389B0", VA = "0x180439BB0")]
get;
[Token(Token = "0x600937D")]
[Address(RVA = "0x439DF0", Offset = "0x438BF0", VA = "0x180439DF0")]
set;
}
// Token: 0x0600937E RID: 37758 RVA: 0x001E463C File Offset: 0x001E283C
[Token(Token = "0x600937E")]
[Address(RVA = "0x171E970", Offset = "0x171D770", VA = "0x18171E970")]
public HTTPProxy(Uri address)
{
int num = 0;
base..ctor(address, num);
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x0600937F RID: 37759 RVA: 0x001E4664 File Offset: 0x001E2864
[Token(Token = "0x600937F")]
[Address(RVA = "0x171E9E0", Offset = "0x171D7E0", VA = "0x18171E9E0")]
public HTTPProxy(Uri address, Credentials credentials)
: base(address, credentials)
{
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x06009380 RID: 37760 RVA: 0x001E4688 File Offset: 0x001E2888
[Token(Token = "0x6009380")]
[Address(RVA = "0x171EA50", Offset = "0x171D850", VA = "0x18171EA50")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = true;
}
// Token: 0x06009381 RID: 37761 RVA: 0x001E46AC File Offset: 0x001E28AC
[Token(Token = "0x6009381")]
[Address(RVA = "0x171EA10", Offset = "0x171D810", VA = "0x18171EA10")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x06009382 RID: 37762 RVA: 0x001E46D8 File Offset: 0x001E28D8
[Token(Token = "0x6009382")]
[Address(RVA = "0x171E9A0", Offset = "0x171D7A0", VA = "0x18171E9A0")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri, bool nonTransparentForHTTPS)
: base(address, credentials)
{
this.SendWholeUri = false;
this.IsTransparent = isTransparent;
this.NonTransparentForHTTPS = false;
}
// Token: 0x06009383 RID: 37763 RVA: 0x001E4704 File Offset: 0x001E2904
[Token(Token = "0x6009383")]
[Address(RVA = "0x171E8A0", Offset = "0x171D6A0", VA = "0x18171E8A0", Slot = "5")]
internal override string GetRequestPath(Uri uri)
{
if (this.<SendWholeUri>k__BackingField)
{
return uri.OriginalString;
}
string parts = uri.GetParts(UriComponents.PathAndQuery, UriFormat.UriEscaped);
return "/";
}
// Token: 0x06009384 RID: 37764 RVA: 0x001E4738 File Offset: 0x001E2938
[Token(Token = "0x6009384")]
[Address(RVA = "0x171D720", Offset = "0x171C520", VA = "0x18171D720", Slot = "4")]
internal override void Connect(Stream stream, HTTPRequest request)
{
for (;;)
{
int num = 0;
if ((request.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
bool flag = HTTPProtocolFactory.IsSecureProtocol(request.<Uri>k__BackingField);
if ((this.<IsTransparent>k__BackingField ? 1 : 0) == num || (flag && (this.<NonTransparentForHTTPS>k__BackingField ? 1 : 0) != num))
{
int uploadChunkSize = HTTPRequest.UploadChunkSize;
WriteOnlyBufferedStream writeOnlyBufferedStream = new WriteOnlyBufferedStream(stream, uploadChunkSize);
Encoding utf = Encoding.UTF8;
BinaryWriter binaryWriter = new BinaryWriter(writeOnlyBufferedStream, utf);
if (request.<IsRedirected>k__BackingField)
{
}
string host = request.<Uri>k__BackingField.Host;
if (request.<IsRedirected>k__BackingField)
{
}
int port = request.<Uri>k__BackingField.Port;
string text2;
string text = string.Format("CONNECT {0}:{1} HTTP/1.1", host, text2);
ILogger logger = HTTPManager.Logger;
int num2 = 0;
string text3 = "Sending " + text;
if (num < num2)
{
num += num;
num++;
}
if (num < text.m_stringLength)
{
char c = text[num];
binaryWriter.Write(c != '\0');
num++;
c += c;
}
byte[] eol = HTTPRequest.EOL;
binaryWriter.Write(eol);
char c2;
binaryWriter.Write(c2 != '\0');
num++;
byte[] eol2 = HTTPRequest.EOL;
binaryWriter.Write(eol2);
char c3;
binaryWriter.Write(c3 != '\0');
num++;
byte[] eol3 = HTTPRequest.EOL;
binaryWriter.Write(eol3);
if (request.<IsRedirected>k__BackingField)
{
}
string host2 = request.<Uri>k__BackingField.Host;
if (request.<IsRedirected>k__BackingField)
{
}
int port2 = request.<Uri>k__BackingField.Port;
string text5;
string text4 = string.Format("Host: {0}:{1}", host2, text5);
if (num < text4.m_stringLength)
{
char c4 = text4[num];
binaryWriter.Write(c4 != '\0');
num++;
}
byte[] eol4 = HTTPRequest.EOL;
binaryWriter.Write(eol4);
if (binaryWriter == 0)
{
goto IL_227;
}
Stream outStream = binaryWriter.OutStream;
if (outStream != 0)
{
if (outStream == 0)
{
goto IL_281;
}
if (outStream != (ulong)1L)
{
goto IL_227;
}
}
string text6;
if (DigestStore.Get(num) != 0 && text6 == 0)
{
string text7 = string.Format("Proxy-Authorization: {0}", text6);
if (HTTPManager.Logger <= (ulong)1L)
{
ILogger logger2 = HTTPManager.Logger;
string text8 = "Sending proxy authorization header: " + text7;
}
byte[] asciibytes = text7.GetASCIIBytes();
binaryWriter.Write(asciibytes);
byte[] eol5 = HTTPRequest.EOL;
binaryWriter.Write(eol5);
VariableSizedBufferPool.Release(asciibytes);
goto IL_227;
}
goto IL_227;
IL_31E:
HTTPResponse <ProxyResponse>k__BackingField = request.<ProxyResponse>k__BackingField;
int num3 = <ProxyResponse>k__BackingField.<StatusCode>k__BackingField;
if (num3 != 407)
{
int num4 = <ProxyResponse>k__BackingField.<StatusCode>k__BackingField;
if (num3 > 99)
{
if (num4 != 304)
{
goto IL_450;
}
num4 += num4;
num3 += 13;
num3 += 19;
}
}
string text9 = DigestStore.FindBest(<ProxyResponse>k__BackingField.GetHeaderValues("proxy-authenticate"));
if (text9 != 0)
{
goto IL_4E8;
}
Digest digest;
digest.ParseChallange(text9);
bool flag2;
if (!flag2)
{
goto IL_4E8;
}
if (request.<Headers>k__BackingField != 0)
{
break;
}
continue;
IL_227:
byte[] eol6 = HTTPRequest.EOL;
binaryWriter.Write(eol6);
HTTPResponse httpresponse;
request.<ProxyResponse>k__BackingField = httpresponse;
httpresponse.Dispose();
ILogger logger3 = HTTPManager.Logger;
ulong num5;
if ((ulong)num < num5)
{
num += num;
num++;
}
int num6 = 0;
if (num > 1)
{
goto IL_31E;
}
ILogger logger4 = HTTPManager.Logger;
object[] array = new object[6];
if ("Proxy returned - status code: " != 0)
{
goto IL_281;
}
IL_2DC:
if (request.<ProxyResponse>k__BackingField.<StatusCode>k__BackingField != 0)
{
}
if (" message: " != 0)
{
}
if (request.<ProxyResponse>k__BackingField.<Message>k__BackingField != 0)
{
}
if (" Body: " != 0)
{
}
if (request.<ProxyResponse>k__BackingField.DataAsText != 0)
{
}
num += num;
num++;
goto IL_31E;
IL_281:
int num7 = 0;
Encoding utf2 = Encoding.UTF8;
string text10 = num7 + ":" + num6;
string text12;
string text11 = "Basic " + text12;
byte[] asciibytes2 = string.Format("Proxy-Authorization: {0}", text11).GetASCIIBytes();
binaryWriter.Write(asciibytes2);
byte[] array2 = HTTPRequest.EOL;
binaryWriter.Write(array2);
array2 += array2;
goto IL_2DC;
}
return;
}
throw new NullReferenceException();
IL_450:
throw new NullReferenceException();
IL_4E8:
throw new NullReferenceException();
}
}
}
+129
View File
@@ -0,0 +1,129 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189A RID: 6298
[Token(Token = "0x200189A")]
public sealed class HTTPRange
{
// Token: 0x1700175B RID: 5979
// (get) Token: 0x06009385 RID: 37765 RVA: 0x001E4D18 File Offset: 0x001E2F18
// (set) Token: 0x06009386 RID: 37766 RVA: 0x001E4D2C File Offset: 0x001E2F2C
[Token(Token = "0x1700175B")]
public int FirstBytePos
{
[Token(Token = "0x6009385")]
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
get;
[Token(Token = "0x6009386")]
[Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")]
private set;
}
// Token: 0x1700175C RID: 5980
// (get) Token: 0x06009387 RID: 37767 RVA: 0x001E4D40 File Offset: 0x001E2F40
// (set) Token: 0x06009388 RID: 37768 RVA: 0x001E4D54 File Offset: 0x001E2F54
[Token(Token = "0x1700175C")]
public int LastBytePos
{
[Token(Token = "0x6009387")]
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
get;
[Token(Token = "0x6009388")]
[Address(RVA = "0x52EC20", Offset = "0x52DA20", VA = "0x18052EC20")]
private set;
}
// Token: 0x1700175D RID: 5981
// (get) Token: 0x06009389 RID: 37769 RVA: 0x001E4D68 File Offset: 0x001E2F68
// (set) Token: 0x0600938A RID: 37770 RVA: 0x001E4D7C File Offset: 0x001E2F7C
[Token(Token = "0x1700175D")]
public int ContentLength
{
[Token(Token = "0x6009389")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
get;
[Token(Token = "0x600938A")]
[Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")]
private set;
}
// Token: 0x1700175E RID: 5982
// (get) Token: 0x0600938B RID: 37771 RVA: 0x001E4D90 File Offset: 0x001E2F90
// (set) Token: 0x0600938C RID: 37772 RVA: 0x001E4DA4 File Offset: 0x001E2FA4
[Token(Token = "0x1700175E")]
public bool IsValid
{
[Token(Token = "0x600938B")]
[Address(RVA = "0x751340", Offset = "0x750140", VA = "0x180751340")]
get;
[Token(Token = "0x600938C")]
[Address(RVA = "0x8EE5B0", Offset = "0x8ED3B0", VA = "0x1808EE5B0")]
private set;
}
// Token: 0x0600938D RID: 37773 RVA: 0x001E4DB8 File Offset: 0x001E2FB8
[Token(Token = "0x600938D")]
[Address(RVA = "0x171ED10", Offset = "0x171DB10", VA = "0x18171ED10")]
internal HTTPRange()
{
this.ContentLength = (int)((ulong)4294967295L);
this.IsValid = false;
}
// Token: 0x0600938E RID: 37774 RVA: 0x001E4DE4 File Offset: 0x001E2FE4
[Token(Token = "0x600938E")]
[Address(RVA = "0x171EC80", Offset = "0x171DA80", VA = "0x18171EC80")]
internal HTTPRange(int contentLength)
{
this.ContentLength = contentLength;
this.IsValid = false;
}
// Token: 0x0600938F RID: 37775 RVA: 0x001E4E08 File Offset: 0x001E3008
[Token(Token = "0x600938F")]
[Address(RVA = "0x171ECB0", Offset = "0x171DAB0", VA = "0x18171ECB0")]
internal HTTPRange(int firstBytePosition, int lastBytePosition, int contentLength)
{
this.FirstBytePos = firstBytePosition;
this.LastBytePos = lastBytePosition;
this.ContentLength = contentLength;
if (firstBytePosition > lastBytePosition)
{
}
bool flag = contentLength > lastBytePosition;
this.IsValid = flag;
}
// Token: 0x06009390 RID: 37776 RVA: 0x001E4E40 File Offset: 0x001E3040
[Token(Token = "0x6009390")]
[Address(RVA = "0x171EA80", Offset = "0x171D880", VA = "0x18171EA80", Slot = "3")]
public override string ToString()
{
object[] array = new object[4];
int num = this.<FirstBytePos>k__BackingField;
if (array != 0)
{
}
array[0] = array;
int num2 = this.<LastBytePos>k__BackingField;
if (num2 != 0)
{
}
array[1] = num2;
int num3 = this.<ContentLength>k__BackingField;
num2 = num3;
if (num3 != 0)
{
}
array[2] = num2;
bool flag = this.<IsValid>k__BackingField;
if (flag)
{
}
array[3] = flag;
return string.Format("{0}-{1}/{2} (valid: {3})", array);
}
}
}
+1927
View File
@@ -0,0 +1,1927 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Cookies;
using BestHTTP.Extensions;
using BestHTTP.Forms;
using BestHTTP.Logger;
using Cpp2IlInjected;
using Hjg.Pngcs.Chunks;
using Org.BouncyCastle.Crypto.Tls;
namespace BestHTTP
{
// Token: 0x020018A2 RID: 6306
[Token(Token = "0x20018A2")]
public sealed class HTTPRequest : IEnumerator, IEnumerator<HTTPRequest>, IDisposable
{
// Token: 0x1700175F RID: 5983
// (get) Token: 0x060093A9 RID: 37801 RVA: 0x001E5438 File Offset: 0x001E3638
// (set) Token: 0x060093AA RID: 37802 RVA: 0x001E544C File Offset: 0x001E364C
[Token(Token = "0x1700175F")]
public Uri Uri
{
[Token(Token = "0x60093A9")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x60093AA")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x17001760 RID: 5984
// (get) Token: 0x060093AB RID: 37803 RVA: 0x001E5460 File Offset: 0x001E3660
// (set) Token: 0x060093AC RID: 37804 RVA: 0x001E5474 File Offset: 0x001E3674
[Token(Token = "0x17001760")]
public HTTPMethods MethodType
{
[Token(Token = "0x60093AB")]
[Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0")]
get;
[Token(Token = "0x60093AC")]
[Address(RVA = "0x43DE90", Offset = "0x43CC90", VA = "0x18043DE90")]
set;
}
// Token: 0x17001761 RID: 5985
// (get) Token: 0x060093AD RID: 37805 RVA: 0x001E5488 File Offset: 0x001E3688
// (set) Token: 0x060093AE RID: 37806 RVA: 0x001E549C File Offset: 0x001E369C
[Token(Token = "0x17001761")]
public byte[] RawData
{
[Token(Token = "0x60093AD")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x60093AE")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
set;
}
// Token: 0x17001762 RID: 5986
// (get) Token: 0x060093AF RID: 37807 RVA: 0x001E54B0 File Offset: 0x001E36B0
// (set) Token: 0x060093B0 RID: 37808 RVA: 0x001E54C4 File Offset: 0x001E36C4
[Token(Token = "0x17001762")]
public Stream UploadStream
{
[Token(Token = "0x60093AF")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get;
[Token(Token = "0x60093B0")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
set;
}
// Token: 0x17001763 RID: 5987
// (get) Token: 0x060093B1 RID: 37809 RVA: 0x001E54D8 File Offset: 0x001E36D8
// (set) Token: 0x060093B2 RID: 37810 RVA: 0x001E54EC File Offset: 0x001E36EC
[Token(Token = "0x17001763")]
public bool DisposeUploadStream
{
[Token(Token = "0x60093B1")]
[Address(RVA = "0x4364F0", Offset = "0x4352F0", VA = "0x1804364F0")]
get;
[Token(Token = "0x60093B2")]
[Address(RVA = "0x436790", Offset = "0x435590", VA = "0x180436790")]
set;
}
// Token: 0x17001764 RID: 5988
// (get) Token: 0x060093B3 RID: 37811 RVA: 0x001E5500 File Offset: 0x001E3700
// (set) Token: 0x060093B4 RID: 37812 RVA: 0x001E5514 File Offset: 0x001E3714
[Token(Token = "0x17001764")]
public bool UseUploadStreamLength
{
[Token(Token = "0x60093B3")]
[Address(RVA = "0x4364D0", Offset = "0x4352D0", VA = "0x1804364D0")]
get;
[Token(Token = "0x60093B4")]
[Address(RVA = "0x436770", Offset = "0x435570", VA = "0x180436770")]
set;
}
// Token: 0x17001765 RID: 5989
// (get) Token: 0x060093B5 RID: 37813 RVA: 0x001E5528 File Offset: 0x001E3728
// (set) Token: 0x060093B6 RID: 37814 RVA: 0x001E553C File Offset: 0x001E373C
[Token(Token = "0x17001765")]
public bool IsKeepAlive
{
[Token(Token = "0x60093B5")]
[Address(RVA = "0x1723210", Offset = "0x1722010", VA = "0x181723210")]
get
{
return this.isKeepAlive;
}
[Token(Token = "0x60093B6")]
[Address(RVA = "0x1723640", Offset = "0x1722440", VA = "0x181723640")]
set
{
/*
An exception occurred when decompiling this method (060093B6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::set_IsKeepAlive(System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:NotSupportedException(var_0_1B, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the IsKeepAlive property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17001766 RID: 5990
// (get) Token: 0x060093B7 RID: 37815 RVA: 0x001E5564 File Offset: 0x001E3764
// (set) Token: 0x060093B8 RID: 37816 RVA: 0x001E5578 File Offset: 0x001E3778
[Token(Token = "0x17001766")]
public bool DisableCache
{
[Token(Token = "0x60093B7")]
[Address(RVA = "0xA83900", Offset = "0xA82700", VA = "0x180A83900")]
get
{
return this.disableCache;
}
[Token(Token = "0x60093B8")]
[Address(RVA = "0x17235A0", Offset = "0x17223A0", VA = "0x1817235A0")]
set
{
/*
An exception occurred when decompiling this method (060093B8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::set_DisableCache(System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:NotSupportedException(var_0_1B, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the DisableCache property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17001767 RID: 5991
// (get) Token: 0x060093B9 RID: 37817 RVA: 0x001E55A0 File Offset: 0x001E37A0
// (set) Token: 0x060093BA RID: 37818 RVA: 0x001E55B4 File Offset: 0x001E37B4
[Token(Token = "0x17001767")]
public bool CacheOnly
{
[Token(Token = "0x60093B9")]
[Address(RVA = "0x1723160", Offset = "0x1721F60", VA = "0x181723160")]
get
{
return this.cacheOnly;
}
[Token(Token = "0x60093BA")]
[Address(RVA = "0x1723520", Offset = "0x1722320", VA = "0x181723520")]
set
{
/*
An exception occurred when decompiling this method (060093BA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::set_CacheOnly(System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:NotSupportedException(var_0_1B, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the CacheOnly property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17001768 RID: 5992
// (get) Token: 0x060093BB RID: 37819 RVA: 0x001E55DC File Offset: 0x001E37DC
// (set) Token: 0x060093BC RID: 37820 RVA: 0x001E55F0 File Offset: 0x001E37F0
[Token(Token = "0x17001768")]
public bool UseStreaming
{
[Token(Token = "0x60093BB")]
[Address(RVA = "0x16F7CF0", Offset = "0x16F6AF0", VA = "0x1816F7CF0")]
get
{
return this.useStreaming;
}
[Token(Token = "0x60093BC")]
[Address(RVA = "0x17237A0", Offset = "0x17225A0", VA = "0x1817237A0")]
set
{
/*
An exception occurred when decompiling this method (060093BC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::set_UseStreaming(System.Boolean)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:NotSupportedException(var_0_1B, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the UseStreaming property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x17001769 RID: 5993
// (get) Token: 0x060093BD RID: 37821 RVA: 0x001E5618 File Offset: 0x001E3818
// (set) Token: 0x060093BE RID: 37822 RVA: 0x001E562C File Offset: 0x001E382C
[Token(Token = "0x17001769")]
public int StreamFragmentSize
{
[Token(Token = "0x60093BD")]
[Address(RVA = "0x60CA70", Offset = "0x60B870", VA = "0x18060CA70")]
get
{
return this.streamFragmentSize;
}
[Token(Token = "0x60093BE")]
[Address(RVA = "0x17236F0", Offset = "0x17224F0", VA = "0x1817236F0")]
set
{
/*
An exception occurred when decompiling this method (060093BE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::set_StreamFragmentSize(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_11:
stloc:NotSupportedException(var_0_1B, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the StreamFragmentSize property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
}
// Token: 0x1700176A RID: 5994
// (get) Token: 0x060093BF RID: 37823 RVA: 0x001E5654 File Offset: 0x001E3854
// (set) Token: 0x060093C0 RID: 37824 RVA: 0x001E5668 File Offset: 0x001E3868
[Token(Token = "0x1700176A")]
public int MaxFragmentQueueLength
{
[Token(Token = "0x60093BF")]
[Address(RVA = "0x3F63F0", Offset = "0x3F51F0", VA = "0x1803F63F0")]
get;
[Token(Token = "0x60093C0")]
[Address(RVA = "0x445D00", Offset = "0x444B00", VA = "0x180445D00")]
set;
}
// Token: 0x1700176B RID: 5995
// (get) Token: 0x060093C1 RID: 37825 RVA: 0x001E567C File Offset: 0x001E387C
// (set) Token: 0x060093C2 RID: 37826 RVA: 0x001E5690 File Offset: 0x001E3890
[Token(Token = "0x1700176B")]
public OnRequestFinishedDelegate Callback
{
[Token(Token = "0x60093C1")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get;
[Token(Token = "0x60093C2")]
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
set;
}
// Token: 0x1700176C RID: 5996
// (get) Token: 0x060093C3 RID: 37827 RVA: 0x001E56A4 File Offset: 0x001E38A4
// (set) Token: 0x060093C4 RID: 37828 RVA: 0x001E56B8 File Offset: 0x001E38B8
[Token(Token = "0x1700176C")]
public bool DisableRetry
{
[Token(Token = "0x60093C3")]
[Address(RVA = "0x535D20", Offset = "0x534B20", VA = "0x180535D20")]
get;
[Token(Token = "0x60093C4")]
[Address(RVA = "0x536540", Offset = "0x535340", VA = "0x180536540")]
set;
}
// Token: 0x1700176D RID: 5997
// (get) Token: 0x060093C5 RID: 37829 RVA: 0x001E56CC File Offset: 0x001E38CC
// (set) Token: 0x060093C6 RID: 37830 RVA: 0x001E56E0 File Offset: 0x001E38E0
[Token(Token = "0x1700176D")]
public bool IsRedirected
{
[Token(Token = "0x60093C5")]
[Address(RVA = "0x774990", Offset = "0x773790", VA = "0x180774990")]
get;
[Token(Token = "0x60093C6")]
[Address(RVA = "0x5E1250", Offset = "0x5E0050", VA = "0x1805E1250")]
internal set;
}
// Token: 0x1700176E RID: 5998
// (get) Token: 0x060093C7 RID: 37831 RVA: 0x001E56F4 File Offset: 0x001E38F4
// (set) Token: 0x060093C8 RID: 37832 RVA: 0x001E5708 File Offset: 0x001E3908
[Token(Token = "0x1700176E")]
public Uri RedirectUri
{
[Token(Token = "0x60093C7")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get;
[Token(Token = "0x60093C8")]
[Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")]
internal set;
}
// Token: 0x1700176F RID: 5999
// (get) Token: 0x060093C9 RID: 37833 RVA: 0x001E571C File Offset: 0x001E391C
[Token(Token = "0x1700176F")]
public Uri CurrentUri
{
[Token(Token = "0x60093C9")]
[Address(RVA = "0x17231E0", Offset = "0x1721FE0", VA = "0x1817231E0")]
get
{
if (this.<IsRedirected>k__BackingField)
{
return this.<RedirectUri>k__BackingField;
}
return this.<Uri>k__BackingField;
}
}
// Token: 0x17001770 RID: 6000
// (get) Token: 0x060093CA RID: 37834 RVA: 0x001E5740 File Offset: 0x001E3940
// (set) Token: 0x060093CB RID: 37835 RVA: 0x001E5754 File Offset: 0x001E3954
[Token(Token = "0x17001770")]
public HTTPResponse Response
{
[Token(Token = "0x60093CA")]
[Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")]
get;
[Token(Token = "0x60093CB")]
[Address(RVA = "0x703580", Offset = "0x702380", VA = "0x180703580")]
internal set;
}
// Token: 0x17001771 RID: 6001
// (get) Token: 0x060093CC RID: 37836 RVA: 0x001E5768 File Offset: 0x001E3968
// (set) Token: 0x060093CD RID: 37837 RVA: 0x001E577C File Offset: 0x001E397C
[Token(Token = "0x17001771")]
public HTTPResponse ProxyResponse
{
[Token(Token = "0x60093CC")]
[Address(RVA = "0x4391F0", Offset = "0x437FF0", VA = "0x1804391F0")]
get;
[Token(Token = "0x60093CD")]
[Address(RVA = "0x7D58F0", Offset = "0x7D46F0", VA = "0x1807D58F0")]
internal set;
}
// Token: 0x17001772 RID: 6002
// (get) Token: 0x060093CE RID: 37838 RVA: 0x001E5790 File Offset: 0x001E3990
// (set) Token: 0x060093CF RID: 37839 RVA: 0x001E57A4 File Offset: 0x001E39A4
[Token(Token = "0x17001772")]
public Exception Exception
{
[Token(Token = "0x60093CE")]
[Address(RVA = "0x567CE0", Offset = "0x566AE0", VA = "0x180567CE0")]
get;
[Token(Token = "0x60093CF")]
[Address(RVA = "0x567D20", Offset = "0x566B20", VA = "0x180567D20")]
internal set;
}
// Token: 0x17001773 RID: 6003
// (get) Token: 0x060093D0 RID: 37840 RVA: 0x001E57B8 File Offset: 0x001E39B8
// (set) Token: 0x060093D1 RID: 37841 RVA: 0x001E57CC File Offset: 0x001E39CC
[Token(Token = "0x17001773")]
public object Tag
{
[Token(Token = "0x60093D0")]
[Address(RVA = "0x44EC80", Offset = "0x44DA80", VA = "0x18044EC80")]
get;
[Token(Token = "0x60093D1")]
[Address(RVA = "0x567D10", Offset = "0x566B10", VA = "0x180567D10")]
set;
}
// Token: 0x17001774 RID: 6004
// (get) Token: 0x060093D2 RID: 37842 RVA: 0x001E57E0 File Offset: 0x001E39E0
// (set) Token: 0x060093D3 RID: 37843 RVA: 0x001E57F4 File Offset: 0x001E39F4
[Token(Token = "0x17001774")]
public Credentials Credentials
{
[Token(Token = "0x60093D2")]
[Address(RVA = "0x44EC40", Offset = "0x44DA40", VA = "0x18044EC40")]
get;
[Token(Token = "0x60093D3")]
[Address(RVA = "0x6A2D60", Offset = "0x6A1B60", VA = "0x1806A2D60")]
set;
}
// Token: 0x17001775 RID: 6005
// (get) Token: 0x060093D4 RID: 37844 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x17001775")]
public bool HasProxy
{
[Token(Token = "0x60093D4")]
[Address(RVA = "0x1723200", Offset = "0x1722000", VA = "0x181723200")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17001776 RID: 6006
// (get) Token: 0x060093D5 RID: 37845 RVA: 0x001E5808 File Offset: 0x001E3A08
// (set) Token: 0x060093D6 RID: 37846 RVA: 0x001E581C File Offset: 0x001E3A1C
[Token(Token = "0x17001776")]
public Proxy Proxy
{
[Token(Token = "0x60093D5")]
[Address(RVA = "0x46AA30", Offset = "0x469830", VA = "0x18046AA30")]
get;
[Token(Token = "0x60093D6")]
[Address(RVA = "0x7A45D0", Offset = "0x7A33D0", VA = "0x1807A45D0")]
set;
}
// Token: 0x17001777 RID: 6007
// (get) Token: 0x060093D7 RID: 37847 RVA: 0x001E5830 File Offset: 0x001E3A30
// (set) Token: 0x060093D8 RID: 37848 RVA: 0x001E5844 File Offset: 0x001E3A44
[Token(Token = "0x17001777")]
public int MaxRedirects
{
[Token(Token = "0x60093D7")]
[Address(RVA = "0x9F6FE0", Offset = "0x9F5DE0", VA = "0x1809F6FE0")]
get;
[Token(Token = "0x60093D8")]
[Address(RVA = "0x17236C0", Offset = "0x17224C0", VA = "0x1817236C0")]
set;
}
// Token: 0x17001778 RID: 6008
// (get) Token: 0x060093D9 RID: 37849 RVA: 0x001E5858 File Offset: 0x001E3A58
// (set) Token: 0x060093DA RID: 37850 RVA: 0x001E586C File Offset: 0x001E3A6C
[Token(Token = "0x17001778")]
public bool UseAlternateSSL
{
[Token(Token = "0x60093D9")]
[Address(RVA = "0x9F6FC0", Offset = "0x9F5DC0", VA = "0x1809F6FC0")]
get;
[Token(Token = "0x60093DA")]
[Address(RVA = "0xBA8090", Offset = "0xBA6E90", VA = "0x180BA8090")]
set;
}
// Token: 0x17001779 RID: 6009
// (get) Token: 0x060093DB RID: 37851 RVA: 0x001E5880 File Offset: 0x001E3A80
// (set) Token: 0x060093DC RID: 37852 RVA: 0x001E5894 File Offset: 0x001E3A94
[Token(Token = "0x17001779")]
public bool IsCookiesEnabled
{
[Token(Token = "0x60093DB")]
[Address(RVA = "0xA45A80", Offset = "0xA44880", VA = "0x180A45A80")]
get;
[Token(Token = "0x60093DC")]
[Address(RVA = "0x1723630", Offset = "0x1722430", VA = "0x181723630")]
set;
}
// Token: 0x1700177A RID: 6010
// (get) Token: 0x060093DD RID: 37853 RVA: 0x001E58A8 File Offset: 0x001E3AA8
// (set) Token: 0x060093DE RID: 37854 RVA: 0x001E58D0 File Offset: 0x001E3AD0
[Token(Token = "0x1700177A")]
public List<Cookie> Cookies
{
[Token(Token = "0x60093DD")]
[Address(RVA = "0x1723170", Offset = "0x1721F70", VA = "0x181723170")]
get
{
List<Cookie> list = this.customCookies;
if (list == 0)
{
List<Cookie> list2 = new List();
this.customCookies = list2;
}
return list;
}
[Token(Token = "0x60093DE")]
[Address(RVA = "0x536B60", Offset = "0x535960", VA = "0x180536B60")]
set
{
this.customCookies = value;
}
}
// Token: 0x1700177B RID: 6011
// (get) Token: 0x060093DF RID: 37855 RVA: 0x001E58E4 File Offset: 0x001E3AE4
// (set) Token: 0x060093E0 RID: 37856 RVA: 0x001E58F8 File Offset: 0x001E3AF8
[Token(Token = "0x1700177B")]
public HTTPFormUsage FormUsage
{
[Token(Token = "0x60093DF")]
[Address(RVA = "0x12683C0", Offset = "0x12671C0", VA = "0x1812683C0")]
get;
[Token(Token = "0x60093E0")]
[Address(RVA = "0x1267D80", Offset = "0x1266B80", VA = "0x181267D80")]
set;
}
// Token: 0x1700177C RID: 6012
// (get) Token: 0x060093E1 RID: 37857 RVA: 0x001E590C File Offset: 0x001E3B0C
// (set) Token: 0x060093E2 RID: 37858 RVA: 0x001E5920 File Offset: 0x001E3B20
[Token(Token = "0x1700177C")]
public HTTPRequestStates State
{
[Token(Token = "0x60093E1")]
[Address(RVA = "0x1723230", Offset = "0x1722030", VA = "0x181723230")]
get;
[Token(Token = "0x60093E2")]
[Address(RVA = "0x17236E0", Offset = "0x17224E0", VA = "0x1817236E0")]
internal set;
}
// Token: 0x1700177D RID: 6013
// (get) Token: 0x060093E3 RID: 37859 RVA: 0x001E5934 File Offset: 0x001E3B34
// (set) Token: 0x060093E4 RID: 37860 RVA: 0x001E5948 File Offset: 0x001E3B48
[Token(Token = "0x1700177D")]
public int RedirectCount
{
[Token(Token = "0x60093E3")]
[Address(RVA = "0xD510D0", Offset = "0xD4FED0", VA = "0x180D510D0")]
get;
[Token(Token = "0x60093E4")]
[Address(RVA = "0xD52980", Offset = "0xD51780", VA = "0x180D52980")]
internal set;
}
// Token: 0x140000BB RID: 187
// (add) Token: 0x060093E5 RID: 37861 RVA: 0x001E595C File Offset: 0x001E3B5C
// (remove) Token: 0x060093E6 RID: 37862 RVA: 0x001E5978 File Offset: 0x001E3B78
[Token(Token = "0x140000BB")]
public event Func<HTTPRequest, X509Certificate, X509Chain, bool> CustomCertificationValidator
{
[Token(Token = "0x60093E5")]
[Address(RVA = "0x1722F00", Offset = "0x1721D00", VA = "0x181722F00")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x60093E6")]
[Address(RVA = "0x17232C0", Offset = "0x17220C0", VA = "0x1817232C0")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x1700177E RID: 6014
// (get) Token: 0x060093E7 RID: 37863 RVA: 0x001E5994 File Offset: 0x001E3B94
// (set) Token: 0x060093E8 RID: 37864 RVA: 0x001E59A8 File Offset: 0x001E3BA8
[Token(Token = "0x1700177E")]
public TimeSpan ConnectTimeout
{
[Token(Token = "0x60093E7")]
[Address(RVA = "0x7A5E90", Offset = "0x7A4C90", VA = "0x1807A5E90")]
get;
[Token(Token = "0x60093E8")]
[Address(RVA = "0x8C1150", Offset = "0x8BFF50", VA = "0x1808C1150")]
set;
}
// Token: 0x1700177F RID: 6015
// (get) Token: 0x060093E9 RID: 37865 RVA: 0x001E59BC File Offset: 0x001E3BBC
// (set) Token: 0x060093EA RID: 37866 RVA: 0x001E59D0 File Offset: 0x001E3BD0
[Token(Token = "0x1700177F")]
public TimeSpan Timeout
{
[Token(Token = "0x60093E9")]
[Address(RVA = "0x8C1910", Offset = "0x8C0710", VA = "0x1808C1910")]
get;
[Token(Token = "0x60093EA")]
[Address(RVA = "0x8C0F40", Offset = "0x8BFD40", VA = "0x1808C0F40")]
set;
}
// Token: 0x17001780 RID: 6016
// (get) Token: 0x060093EB RID: 37867 RVA: 0x001E59E4 File Offset: 0x001E3BE4
// (set) Token: 0x060093EC RID: 37868 RVA: 0x001E59F8 File Offset: 0x001E3BF8
[Token(Token = "0x17001780")]
public bool EnableTimoutForStreaming
{
[Token(Token = "0x60093EB")]
[Address(RVA = "0xBA80C0", Offset = "0xBA6EC0", VA = "0x180BA80C0")]
get;
[Token(Token = "0x60093EC")]
[Address(RVA = "0xBA8110", Offset = "0xBA6F10", VA = "0x180BA8110")]
set;
}
// Token: 0x17001781 RID: 6017
// (get) Token: 0x060093ED RID: 37869 RVA: 0x001E5A0C File Offset: 0x001E3C0C
// (set) Token: 0x060093EE RID: 37870 RVA: 0x001E5A20 File Offset: 0x001E3C20
[Token(Token = "0x17001781")]
public bool EnableSafeReadOnUnknownContentLength
{
[Token(Token = "0x60093ED")]
[Address(RVA = "0x17231F0", Offset = "0x1721FF0", VA = "0x1817231F0")]
get;
[Token(Token = "0x60093EE")]
[Address(RVA = "0x1723620", Offset = "0x1722420", VA = "0x181723620")]
set;
}
// Token: 0x17001782 RID: 6018
// (get) Token: 0x060093EF RID: 37871 RVA: 0x001E5A34 File Offset: 0x001E3C34
// (set) Token: 0x060093F0 RID: 37872 RVA: 0x001E5A48 File Offset: 0x001E3C48
[Token(Token = "0x17001782")]
public int Priority
{
[Token(Token = "0x60093EF")]
[Address(RVA = "0x15B8260", Offset = "0x15B7060", VA = "0x1815B8260")]
get;
[Token(Token = "0x60093F0")]
[Address(RVA = "0x15B6F40", Offset = "0x15B5D40", VA = "0x1815B6F40")]
set;
}
// Token: 0x17001783 RID: 6019
// (get) Token: 0x060093F1 RID: 37873 RVA: 0x001E5A5C File Offset: 0x001E3C5C
// (set) Token: 0x060093F2 RID: 37874 RVA: 0x001E5A70 File Offset: 0x001E3C70
[Token(Token = "0x17001783")]
public ICertificateVerifyer CustomCertificateVerifyer
{
[Token(Token = "0x60093F1")]
[Address(RVA = "0x9CD8C0", Offset = "0x9CC6C0", VA = "0x1809CD8C0")]
get;
[Token(Token = "0x60093F2")]
[Address(RVA = "0xBA8070", Offset = "0xBA6E70", VA = "0x180BA8070")]
set;
}
// Token: 0x17001784 RID: 6020
// (get) Token: 0x060093F3 RID: 37875 RVA: 0x001E5A84 File Offset: 0x001E3C84
// (set) Token: 0x060093F4 RID: 37876 RVA: 0x001E5A98 File Offset: 0x001E3C98
[Token(Token = "0x17001784")]
public IClientCredentialsProvider CustomClientCredentialsProvider
{
[Token(Token = "0x60093F3")]
[Address(RVA = "0x4CB300", Offset = "0x4CA100", VA = "0x1804CB300")]
get;
[Token(Token = "0x60093F4")]
[Address(RVA = "0x533D70", Offset = "0x532B70", VA = "0x180533D70")]
set;
}
// Token: 0x17001785 RID: 6021
// (get) Token: 0x060093F5 RID: 37877 RVA: 0x001E5AAC File Offset: 0x001E3CAC
// (set) Token: 0x060093F6 RID: 37878 RVA: 0x001E5AC0 File Offset: 0x001E3CC0
[Token(Token = "0x17001785")]
public List<string> CustomTLSServerNameList
{
[Token(Token = "0x60093F5")]
[Address(RVA = "0x8379C0", Offset = "0x8367C0", VA = "0x1808379C0")]
get;
[Token(Token = "0x60093F6")]
[Address(RVA = "0xBA80D0", Offset = "0xBA6ED0", VA = "0x180BA80D0")]
set;
}
// Token: 0x17001786 RID: 6022
// (get) Token: 0x060093F7 RID: 37879 RVA: 0x001E5AD4 File Offset: 0x001E3CD4
// (set) Token: 0x060093F8 RID: 37880 RVA: 0x001E5AE8 File Offset: 0x001E3CE8
[Token(Token = "0x17001786")]
public SupportedProtocols ProtocolHandler
{
[Token(Token = "0x60093F7")]
[Address(RVA = "0x1723220", Offset = "0x1722020", VA = "0x181723220")]
get;
[Token(Token = "0x60093F8")]
[Address(RVA = "0x17236D0", Offset = "0x17224D0", VA = "0x1817236D0")]
set;
}
// Token: 0x140000BC RID: 188
// (add) Token: 0x060093F9 RID: 37881 RVA: 0x001E5AFC File Offset: 0x001E3CFC
// (remove) Token: 0x060093FA RID: 37882 RVA: 0x001E5B30 File Offset: 0x001E3D30
[Token(Token = "0x140000BC")]
public event OnBeforeRedirectionDelegate OnBeforeRedirection
{
[Token(Token = "0x60093F9")]
[Address(RVA = "0x1723030", Offset = "0x1721E30", VA = "0x181723030")]
add
{
Delegate @delegate;
for (;;)
{
@delegate = Delegate.Combine(this.onBeforeRedirection, value);
if (@delegate == 0)
{
break;
}
if (@delegate != 0)
{
goto Block_1;
}
}
this.onBeforeRedirection = @delegate;
return;
Block_1:
this.onBeforeRedirection = @delegate;
}
[Token(Token = "0x60093FA")]
[Address(RVA = "0x17233F0", Offset = "0x17221F0", VA = "0x1817233F0")]
remove
{
Delegate @delegate;
for (;;)
{
@delegate = Delegate.Remove(this.onBeforeRedirection, value);
if (@delegate == 0)
{
break;
}
if (@delegate != 0)
{
goto Block_1;
}
}
this.onBeforeRedirection = @delegate;
return;
Block_1:
this.onBeforeRedirection = @delegate;
}
}
// Token: 0x140000BD RID: 189
// (add) Token: 0x060093FB RID: 37883 RVA: 0x001E5B64 File Offset: 0x001E3D64
// (remove) Token: 0x060093FC RID: 37884 RVA: 0x001E5B98 File Offset: 0x001E3D98
[Token(Token = "0x140000BD")]
public event OnBeforeHeaderSendDelegate OnBeforeHeaderSend
{
[Token(Token = "0x60093FB")]
[Address(RVA = "0x1722FA0", Offset = "0x1721DA0", VA = "0x181722FA0")]
add
{
Delegate @delegate;
for (;;)
{
@delegate = Delegate.Combine(this._onBeforeHeaderSend, value);
if (@delegate == 0)
{
break;
}
if (@delegate != 0)
{
goto Block_1;
}
}
this._onBeforeHeaderSend = @delegate;
return;
Block_1:
this._onBeforeHeaderSend = @delegate;
}
[Token(Token = "0x60093FC")]
[Address(RVA = "0x1723360", Offset = "0x1722160", VA = "0x181723360")]
remove
{
Delegate @delegate;
for (;;)
{
@delegate = Delegate.Remove(this._onBeforeHeaderSend, value);
if (@delegate == 0)
{
break;
}
if (@delegate != 0)
{
goto Block_1;
}
}
this._onBeforeHeaderSend = @delegate;
return;
Block_1:
this._onBeforeHeaderSend = @delegate;
}
}
// Token: 0x140000BE RID: 190
// (add) Token: 0x060093FD RID: 37885 RVA: 0x001E5BCC File Offset: 0x001E3DCC
// (remove) Token: 0x060093FE RID: 37886 RVA: 0x001E5BE8 File Offset: 0x001E3DE8
[Token(Token = "0x140000BE")]
public event Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x60093FD")]
[Address(RVA = "0x17230C0", Offset = "0x1721EC0", VA = "0x1817230C0")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x60093FE")]
[Address(RVA = "0x1723480", Offset = "0x1722280", VA = "0x181723480")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x17001787 RID: 6023
// (get) Token: 0x060093FF RID: 37887 RVA: 0x001E5C04 File Offset: 0x001E3E04
// (set) Token: 0x06009400 RID: 37888 RVA: 0x001E5C18 File Offset: 0x001E3E18
[Token(Token = "0x17001787")]
public bool TryToMinimizeTCPLatency
{
[Token(Token = "0x60093FF")]
[Address(RVA = "0x75B800", Offset = "0x75A600", VA = "0x18075B800")]
get;
[Token(Token = "0x6009400")]
[Address(RVA = "0x9CDC70", Offset = "0x9CCA70", VA = "0x1809CDC70")]
set;
}
// Token: 0x17001788 RID: 6024
// (get) Token: 0x06009401 RID: 37889 RVA: 0x001E5C2C File Offset: 0x001E3E2C
// (set) Token: 0x06009402 RID: 37890 RVA: 0x001E5C40 File Offset: 0x001E3E40
[Token(Token = "0x17001788")]
internal long Downloaded
{
[Token(Token = "0x6009401")]
[Address(RVA = "0x469010", Offset = "0x467E10", VA = "0x180469010")]
get;
[Token(Token = "0x6009402")]
[Address(RVA = "0xBDFE50", Offset = "0xBDEC50", VA = "0x180BDFE50")]
set;
}
// Token: 0x17001789 RID: 6025
// (get) Token: 0x06009403 RID: 37891 RVA: 0x001E5C54 File Offset: 0x001E3E54
// (set) Token: 0x06009404 RID: 37892 RVA: 0x001E5C68 File Offset: 0x001E3E68
[Token(Token = "0x17001789")]
internal long DownloadLength
{
[Token(Token = "0x6009403")]
[Address(RVA = "0x836950", Offset = "0x835750", VA = "0x180836950")]
get;
[Token(Token = "0x6009404")]
[Address(RVA = "0xBDFD70", Offset = "0xBDEB70", VA = "0x180BDFD70")]
set;
}
// Token: 0x1700178A RID: 6026
// (get) Token: 0x06009405 RID: 37893 RVA: 0x001E5C7C File Offset: 0x001E3E7C
// (set) Token: 0x06009406 RID: 37894 RVA: 0x001E5C90 File Offset: 0x001E3E90
[Token(Token = "0x1700178A")]
internal bool DownloadProgressChanged
{
[Token(Token = "0x6009405")]
[Address(RVA = "0xE96510", Offset = "0xE95310", VA = "0x180E96510")]
get;
[Token(Token = "0x6009406")]
[Address(RVA = "0x16ACF30", Offset = "0x16ABD30", VA = "0x1816ACF30")]
set;
}
// Token: 0x1700178B RID: 6027
// (get) Token: 0x06009407 RID: 37895 RVA: 0x001E5CA4 File Offset: 0x001E3EA4
[Token(Token = "0x1700178B")]
internal long UploadStreamLength
{
[Token(Token = "0x6009407")]
[Address(RVA = "0x1723240", Offset = "0x1722040", VA = "0x181723240")]
get
{
if (this.<UploadStream>k__BackingField != (ulong)0L && this.<UseUploadStreamLength>k__BackingField)
{
bool canWrite = this.<UploadStream>k__BackingField.CanWrite;
}
throw new NullReferenceException();
}
}
// Token: 0x1700178C RID: 6028
// (get) Token: 0x06009408 RID: 37896 RVA: 0x001E5CD8 File Offset: 0x001E3ED8
// (set) Token: 0x06009409 RID: 37897 RVA: 0x001E5CEC File Offset: 0x001E3EEC
[Token(Token = "0x1700178C")]
internal long Uploaded
{
[Token(Token = "0x6009408")]
[Address(RVA = "0x837B00", Offset = "0x836900", VA = "0x180837B00")]
get;
[Token(Token = "0x6009409")]
[Address(RVA = "0xBDCC20", Offset = "0xBDBA20", VA = "0x180BDCC20")]
set;
}
// Token: 0x1700178D RID: 6029
// (get) Token: 0x0600940A RID: 37898 RVA: 0x001E5D00 File Offset: 0x001E3F00
// (set) Token: 0x0600940B RID: 37899 RVA: 0x001E5D14 File Offset: 0x001E3F14
[Token(Token = "0x1700178D")]
internal long UploadLength
{
[Token(Token = "0x600940A")]
[Address(RVA = "0x837AF0", Offset = "0x8368F0", VA = "0x180837AF0")]
get;
[Token(Token = "0x600940B")]
[Address(RVA = "0xAF1020", Offset = "0xAEFE20", VA = "0x180AF1020")]
set;
}
// Token: 0x1700178E RID: 6030
// (get) Token: 0x0600940C RID: 37900 RVA: 0x001E5D28 File Offset: 0x001E3F28
// (set) Token: 0x0600940D RID: 37901 RVA: 0x001E5D3C File Offset: 0x001E3F3C
[Token(Token = "0x1700178E")]
internal bool UploadProgressChanged
{
[Token(Token = "0x600940C")]
[Address(RVA = "0x60CD90", Offset = "0x60BB90", VA = "0x18060CD90")]
get;
[Token(Token = "0x600940D")]
[Address(RVA = "0x104DBC0", Offset = "0x104C9C0", VA = "0x18104DBC0")]
set;
}
// Token: 0x1700178F RID: 6031
// (get) Token: 0x0600940E RID: 37902 RVA: 0x001E5D50 File Offset: 0x001E3F50
// (set) Token: 0x0600940F RID: 37903 RVA: 0x001E5D64 File Offset: 0x001E3F64
[Token(Token = "0x1700178F")]
private Dictionary<string, List<string>> Headers
{
[Token(Token = "0x600940E")]
[Address(RVA = "0x5F4D40", Offset = "0x5F3B40", VA = "0x1805F4D40")]
get;
[Token(Token = "0x600940F")]
[Address(RVA = "0xBDB940", Offset = "0xBDA740", VA = "0x180BDB940")]
set;
}
// Token: 0x06009410 RID: 37904 RVA: 0x001E5D78 File Offset: 0x001E3F78
[Token(Token = "0x6009410")]
[Address(RVA = "0x1722840", Offset = "0x1721640", VA = "0x181722840")]
public HTTPRequest(Uri uri)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06009411 RID: 37905 RVA: 0x001E5D98 File Offset: 0x001E3F98
[Token(Token = "0x6009411")]
[Address(RVA = "0x1722370", Offset = "0x1721170", VA = "0x181722370")]
public HTTPRequest(Uri uri, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06009412 RID: 37906 RVA: 0x001E5DB4 File Offset: 0x001E3FB4
[Token(Token = "0x6009412")]
[Address(RVA = "0x1722750", Offset = "0x1721550", VA = "0x181722750")]
public HTTPRequest(Uri uri, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06009413 RID: 37907 RVA: 0x001E5DCC File Offset: 0x001E3FCC
[Token(Token = "0x6009413")]
[Address(RVA = "0x1722340", Offset = "0x1721140", VA = "0x181722340")]
public HTTPRequest(Uri uri, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
}
// Token: 0x06009414 RID: 37908 RVA: 0x001E5DDC File Offset: 0x001E3FDC
[Token(Token = "0x6009414")]
[Address(RVA = "0x17224A0", Offset = "0x17212A0", VA = "0x1817224A0")]
public HTTPRequest(Uri uri, HTTPMethods methodType)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x06009415 RID: 37909 RVA: 0x001E5DF8 File Offset: 0x001E3FF8
[Token(Token = "0x6009415")]
[Address(RVA = "0x17225F0", Offset = "0x17213F0", VA = "0x1817225F0")]
public HTTPRequest(Uri uri, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x06009416 RID: 37910 RVA: 0x001E5E14 File Offset: 0x001E4014
[Token(Token = "0x6009416")]
[Address(RVA = "0x1722230", Offset = "0x1721030", VA = "0x181722230")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
}
// Token: 0x06009417 RID: 37911 RVA: 0x001E5E28 File Offset: 0x001E4028
[Token(Token = "0x6009417")]
[Address(RVA = "0x1722960", Offset = "0x1721760", VA = "0x181722960")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
/*
An exception occurred when decompiling this method (06009417)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::.ctor(System.Uri,BestHTTP.HTTPMethods,System.Boolean,System.Boolean,BestHTTP.OnRequestFinishedDelegate)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_165:
stloc:NotSupportedException(var_15_16F, newobj:NotSupportedException(NotSupportedException::.ctor, ldstr:string("Changing the StreamFragmentSize property while processing the request is not supported.")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009418 RID: 37912 RVA: 0x001E5FA8 File Offset: 0x001E41A8
[Token(Token = "0x6009418")]
[Address(RVA = "0x171F200", Offset = "0x171E000", VA = "0x18171F200")]
public void AddField(string fieldName, string value)
{
Encoding utf = Encoding.UTF8;
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector == 0)
{
HTTPFormBase httpformBase = new HTTPFormBase();
this.FieldCollector = httpformBase;
}
fieldCollector.AddField(fieldName, value, utf);
}
// Token: 0x06009419 RID: 37913 RVA: 0x001E5FE4 File Offset: 0x001E41E4
[Token(Token = "0x6009419")]
[Address(RVA = "0x171F2C0", Offset = "0x171E0C0", VA = "0x18171F2C0")]
public void AddField(string fieldName, string value, Encoding e)
{
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector == 0)
{
int num = 0;
HTTPFormBase httpformBase;
httpformBase.FieldGetter(num, value, e);
this.FieldCollector = httpformBase;
}
fieldCollector.AddField(fieldName, value, e);
}
// Token: 0x0600941A RID: 37914 RVA: 0x001E6020 File Offset: 0x001E4220
[Token(Token = "0x600941A")]
[Address(RVA = "0x171F110", Offset = "0x171DF10", VA = "0x18171F110")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x0600941B RID: 37915 RVA: 0x001E603C File Offset: 0x001E423C
[Token(Token = "0x600941B")]
[Address(RVA = "0x171F130", Offset = "0x171DF30", VA = "0x18171F130")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x0600941C RID: 37916 RVA: 0x001E6058 File Offset: 0x001E4258
[Token(Token = "0x600941C")]
[Address(RVA = "0x171F150", Offset = "0x171DF50", VA = "0x18171F150")]
public void AddBinaryData(string fieldName, byte[] content, string fileName, string mimeType)
{
if (this.FieldCollector == 0)
{
HTTPFormBase httpformBase = new HTTPFormBase();
this.FieldCollector = httpformBase;
}
}
// Token: 0x0600941D RID: 37917 RVA: 0x001E6084 File Offset: 0x001E4284
[Token(Token = "0x600941D")]
[Address(RVA = "0xBDFD30", Offset = "0xBDEB30", VA = "0x180BDFD30")]
public void SetForm(HTTPFormBase form)
{
this.FormImpl = form;
}
// Token: 0x0600941E RID: 37918 RVA: 0x001E6098 File Offset: 0x001E4298
[Token(Token = "0x600941E")]
[Address(RVA = "0x1720850", Offset = "0x171F650", VA = "0x181720850")]
public List<HTTPFieldData> GetFormFields()
{
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector != 0 && fieldCollector.<Fields>k__BackingField != 0)
{
return new List(this.FieldCollector.<Fields>k__BackingField);
}
throw new NullReferenceException();
}
// Token: 0x0600941F RID: 37919 RVA: 0x001E60D4 File Offset: 0x001E42D4
[Token(Token = "0x600941F")]
[Address(RVA = "0x171F620", Offset = "0x171E420", VA = "0x18171F620")]
public void ClearForm()
{
int num = 0;
this.FormImpl = num;
this.FieldCollector = num;
}
// Token: 0x06009420 RID: 37920 RVA: 0x001E60F4 File Offset: 0x001E42F4
[Token(Token = "0x6009420")]
[Address(RVA = "0x1720AF0", Offset = "0x171F8F0", VA = "0x181720AF0")]
private HTTPFormBase SelectFormImplementation()
{
HTTPFormBase formImpl = this.FormImpl;
if (formImpl == 0)
{
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector == 0)
{
throw new NullReferenceException();
}
HTTPFormUsage httpformUsage = this.<FormUsage>k__BackingField;
if (httpformUsage != HTTPFormUsage.Automatic)
{
if (httpformUsage == HTTPFormUsage.Automatic || httpformUsage == HTTPFormUsage.Automatic)
{
goto IL_41;
}
RawJsonForm rawJsonForm = new RawJsonForm();
}
if (fieldCollector.<HasBinary>k__BackingField || !fieldCollector.<HasLongValue>k__BackingField)
{
}
IL_41:
HTTPMultiPartForm httpmultiPartForm = new HTTPMultiPartForm();
httpmultiPartForm.Finalize();
string text2;
string text = "BestHTTP_HTTPMultiPartForm_" + text2;
httpmultiPartForm.Boundary = text;
this.FormImpl = httpmultiPartForm;
string text3 = httpmultiPartForm.ToString();
}
return formImpl;
}
// Token: 0x06009421 RID: 37921 RVA: 0x001E6184 File Offset: 0x001E4384
[Token(Token = "0x6009421")]
[Address(RVA = "0x171F370", Offset = "0x171E170", VA = "0x18171F370")]
public void AddHeader(string name, string value)
{
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(name, list);
}
list.Add(value);
}
// Token: 0x06009422 RID: 37922 RVA: 0x001E61D4 File Offset: 0x001E43D4
[Token(Token = "0x6009422")]
[Address(RVA = "0x17217F0", Offset = "0x17205F0", VA = "0x1817217F0")]
public void SetHeader(string name, string value)
{
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(name, list);
}
list.Clear();
list.Add(value);
}
// Token: 0x06009423 RID: 37923 RVA: 0x001E6228 File Offset: 0x001E4428
[Token(Token = "0x6009423")]
[Address(RVA = "0x17209F0", Offset = "0x171F7F0", VA = "0x1817209F0")]
public bool RemoveHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
return dictionary.Remove(name);
}
}
// Token: 0x06009424 RID: 37924 RVA: 0x001E624C File Offset: 0x001E444C
[Token(Token = "0x6009424")]
[Address(RVA = "0x1720980", Offset = "0x171F780", VA = "0x181720980")]
public bool HasHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary == 0)
{
}
return dictionary.ContainsKey(name);
}
// Token: 0x06009425 RID: 37925 RVA: 0x001E6270 File Offset: 0x001E4470
[Token(Token = "0x6009425")]
[Address(RVA = "0x17207B0", Offset = "0x171F5B0", VA = "0x1817207B0")]
public string GetFirstHeaderValue(string name)
{
bool flag;
if (this.<Headers>k__BackingField != 0 && flag && flag > false && !flag)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
}
throw new NullReferenceException();
}
// Token: 0x06009426 RID: 37926 RVA: 0x001E62A0 File Offset: 0x001E44A0
[Token(Token = "0x6009426")]
[Address(RVA = "0x1720900", Offset = "0x171F700", VA = "0x181720900")]
public List<string> GetHeaderValues(string name)
{
bool flag;
if (this.<Headers>k__BackingField == 0 || flag)
{
}
throw new NullReferenceException();
}
// Token: 0x06009427 RID: 37927 RVA: 0x001E62C4 File Offset: 0x001E44C4
[Token(Token = "0x6009427")]
[Address(RVA = "0x1720A50", Offset = "0x171F850", VA = "0x181720A50")]
public void RemoveHeaders()
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
dictionary.Clear();
return;
}
}
// Token: 0x06009428 RID: 37928 RVA: 0x001E62E4 File Offset: 0x001E44E4
[Token(Token = "0x6009428")]
[Address(RVA = "0x17219C0", Offset = "0x17207C0", VA = "0x1817219C0")]
public void SetRangeHeader(int firstBytePos)
{
string text = string.Format("bytes={0}-", firstBytePos);
this.SetHeader("Range", text);
}
// Token: 0x06009429 RID: 37929 RVA: 0x001E630C File Offset: 0x001E450C
[Token(Token = "0x6009429")]
[Address(RVA = "0x1721920", Offset = "0x1720720", VA = "0x181721920")]
public void SetRangeHeader(int firstBytePos, int lastBytePos)
{
string text = string.Format("bytes={0}-{1}", firstBytePos, lastBytePos);
this.SetHeader("Range", text);
}
// Token: 0x0600942A RID: 37930 RVA: 0x001E6334 File Offset: 0x001E4534
[Token(Token = "0x600942A")]
[Address(RVA = "0x1720650", Offset = "0x171F450", VA = "0x181720650")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback)
{
int num = 0;
this.EnumerateHeaders(callback, num != 0);
}
// Token: 0x0600942B RID: 37931 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600942B")]
[Address(RVA = "0x171F8D0", Offset = "0x171E6D0", VA = "0x18171F8D0")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback, bool callBeforeSendCallback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600942C RID: 37932 RVA: 0x001E634C File Offset: 0x001E454C
[Token(Token = "0x600942C")]
[Address(RVA = "0x1720C50", Offset = "0x171FA50", VA = "0x181720C50")]
private void SendHeaders(Stream stream)
{
OnHeaderEnumerationDelegate onHeaderEnumerationDelegate = delegate(string header, List<string> values)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
this.EnumerateHeaders(onHeaderEnumerationDelegate, true);
Action<HTTPRequest, Stream> onSendingHeaders = this.OnSendingHeaders;
if (onSendingHeaders != 0)
{
Stream stream2 = stream;
onSendingHeaders(this, stream2);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x0600942D RID: 37933 RVA: 0x001E63AC File Offset: 0x001E45AC
[Token(Token = "0x600942D")]
[Address(RVA = "0x171F6E0", Offset = "0x171E4E0", VA = "0x18171F6E0")]
public string DumpHeaders()
{
int num;
do
{
num = 0;
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream(5120);
this.SendHeaders(bufferPoolMemoryStream);
byte[] array = bufferPoolMemoryStream.ToArray();
int length;
StringBuilder stringBuilder = new StringBuilder(length);
length = array.Length;
int length2 = array.Length;
if (num < length2)
{
byte b;
StringBuilder stringBuilder2 = stringBuilder.Append((char)b);
num++;
}
int hashCode = stringBuilder.GetHashCode();
if (bufferPoolMemoryStream != 0)
{
}
}
while (num != 0);
throw new IndexOutOfRangeException();
}
// Token: 0x0600942E RID: 37934 RVA: 0x001E6434 File Offset: 0x001E4634
[Token(Token = "0x600942E")]
[Address(RVA = "0x1720710", Offset = "0x171F510", VA = "0x181720710")]
public byte[] GetEntityBody()
{
byte[] array = this.<RawData>k__BackingField;
if (array == 0)
{
if (this.FormImpl == array)
{
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector == 0 || fieldCollector.<Fields>k__BackingField == 0)
{
goto IL_38;
}
}
HTTPFormBase httpformBase = this.SelectFormImplementation();
if (this.FormImpl == 0)
{
}
IL_38:;
}
return array;
}
// Token: 0x0600942F RID: 37935 RVA: 0x001E647C File Offset: 0x001E467C
[Token(Token = "0x600942F")]
[Address(RVA = "0x1720DA0", Offset = "0x171FBA0", VA = "0x181720DA0")]
internal void SendOutTo(Stream stream)
{
int num;
do
{
num = 0;
if (this.<Proxy>k__BackingField == 0 || (this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
if (this.<IsRedirected>k__BackingField)
{
}
string parts = this.<Uri>k__BackingField.GetParts(UriComponents.PathAndQuery, UriFormat.UriEscaped);
string[] methodNames = HTTPRequest.MethodNames;
HTTPMethods httpmethods = this.<MethodType>k__BackingField;
string text = methodNames[(int)httpmethods];
string text2 = string.Format("{0} {1} HTTP/1.1", text, "/");
if (HTTPManager.Logger <= (ulong)1L)
{
ILogger logger = HTTPManager.Logger;
string text3 = string.Format("Sending request: '{0}'", text2);
}
WriteOnlyBufferedStream writeOnlyBufferedStream;
int num2 = writeOnlyBufferedStream.ReadByte();
byte[] eol = HTTPRequest.EOL;
int num3 = writeOnlyBufferedStream.ReadByte();
byte[] array;
VariableSizedBufferPool.Release(array);
this.SendHeaders(writeOnlyBufferedStream);
byte[] eol2 = HTTPRequest.EOL;
int num4 = writeOnlyBufferedStream.ReadByte();
if (this.<RawData>k__BackingField == 0)
{
if (this.FormImpl != 0)
{
}
if (this.<UploadStream>k__BackingField == (ulong)0L)
{
}
}
if (this.<UploadStream>k__BackingField != 0)
{
long uploadStreamLength;
if (this.<UseUploadStreamLength>k__BackingField)
{
uploadStreamLength = this.UploadStreamLength;
}
this.<UploadLength>k__BackingField = uploadStreamLength;
}
MemoryStream memoryStream;
this.<UploadLength>k__BackingField = memoryStream;
this.<Uploaded>k__BackingField = (long)num;
ulong num5;
byte[] array2 = VariableSizedBufferPool.Get((long)HTTPRequest.UploadChunkSize, num5 != 0UL);
if (!this.<UseUploadStreamLength>k__BackingField)
{
string text4;
byte[] asciibytes = text4.GetASCIIBytes();
ChunkHelper.WriteBytesToStream(writeOnlyBufferedStream, asciibytes);
byte[] eol3 = HTTPRequest.EOL;
ChunkHelper.WriteBytesToStream(writeOnlyBufferedStream, eol3);
VariableSizedBufferPool.Release(asciibytes);
}
int num6 = writeOnlyBufferedStream.ReadByte();
if (!this.<UseUploadStreamLength>k__BackingField)
{
}
this.<UploadProgressChanged>k__BackingField = true;
VariableSizedBufferPool.Release(array2);
if (!this.<UseUploadStreamLength>k__BackingField)
{
int num7 = writeOnlyBufferedStream.ReadByte();
byte[] eol4 = HTTPRequest.EOL;
int num8 = writeOnlyBufferedStream.ReadByte();
byte[] eol5 = HTTPRequest.EOL;
int num9 = writeOnlyBufferedStream.ReadByte();
byte[] array3;
VariableSizedBufferPool.Release(array3);
}
if (this.<UploadStream>k__BackingField != (ulong)0L)
{
}
memoryStream.Dispose();
if (writeOnlyBufferedStream != 0)
{
}
if (num != 0)
{
goto IL_238;
}
if (num != -1)
{
}
ILogger logger2 = HTTPManager.Logger;
Stream stream2 = this.<UploadStream>k__BackingField;
if (stream2 != 0 && this.<DisposeUploadStream>k__BackingField)
{
stream2.Dispose();
}
}
while (num != 0);
return;
IL_238:
throw new NullReferenceException();
}
// Token: 0x06009430 RID: 37936 RVA: 0x001E66D8 File Offset: 0x001E48D8
[Token(Token = "0x6009430")]
[Address(RVA = "0x1721A40", Offset = "0x1720840", VA = "0x181721A40")]
internal void UpgradeCallback()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0 && httpresponse.<IsUpgraded>k__BackingField)
{
OnRequestFinishedDelegate onUpgraded = this.OnUpgraded;
if (onUpgraded != 0)
{
HTTPResponse httpresponse2 = this.<Response>k__BackingField;
onUpgraded(this, httpresponse2);
}
ILogger logger = HTTPManager.Logger;
}
}
// Token: 0x06009431 RID: 37937 RVA: 0x001E6724 File Offset: 0x001E4924
[Token(Token = "0x6009431")]
[Address(RVA = "0x171F490", Offset = "0x171E290", VA = "0x18171F490")]
internal void CallCallback()
{
OnRequestFinishedDelegate onRequestFinishedDelegate = this.<Callback>k__BackingField;
if (onRequestFinishedDelegate != 0)
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
onRequestFinishedDelegate(this, httpresponse);
}
ILogger logger = HTTPManager.Logger;
}
// Token: 0x06009432 RID: 37938 RVA: 0x001E675C File Offset: 0x001E495C
[Token(Token = "0x6009432")]
[Address(RVA = "0x171F5E0", Offset = "0x171E3E0", VA = "0x18171F5E0")]
internal bool CallOnBeforeRedirection(Uri redirectUri)
{
OnBeforeRedirectionDelegate onBeforeRedirectionDelegate = this.onBeforeRedirection;
if (onBeforeRedirectionDelegate == 0)
{
return true;
}
HTTPResponse httpresponse = this.<Response>k__BackingField;
return onBeforeRedirectionDelegate(this, httpresponse, redirectUri);
}
// Token: 0x06009433 RID: 37939 RVA: 0x001E6788 File Offset: 0x001E4988
[Token(Token = "0x6009433")]
[Address(RVA = "0x1720660", Offset = "0x171F460", VA = "0x181720660")]
internal void FinishStreaming()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0 && this.useStreaming)
{
if (HTTPManager.Logger == 0)
{
httpresponse.VerboseLogging("FinishStreaming");
}
httpresponse.<IsStreamingFinished>k__BackingField = true;
httpresponse.Dispose();
return;
}
}
// Token: 0x06009434 RID: 37940 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009434")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080")]
internal void Prepare()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009435 RID: 37941 RVA: 0x001E67D4 File Offset: 0x001E49D4
[Token(Token = "0x6009435")]
[Address(RVA = "0x171F560", Offset = "0x171E360", VA = "0x18171F560")]
internal bool CallCustomCertificationValidator(X509Certificate cert, X509Chain chain)
{
Func<HTTPRequest, X509Certificate, X509Chain, bool> customCertificationValidator = this.CustomCertificationValidator;
return customCertificationValidator == 0 || customCertificationValidator(this, cert, chain) != null;
}
// Token: 0x06009436 RID: 37942 RVA: 0x001E67F8 File Offset: 0x001E49F8
[Token(Token = "0x6009436")]
[Address(RVA = "0x1721790", Offset = "0x1720590", VA = "0x181721790")]
public HTTPRequest Send()
{
return HTTPManager.SendRequest(this);
}
// Token: 0x06009437 RID: 37943 RVA: 0x001E680C File Offset: 0x001E4A0C
[Token(Token = "0x6009437")]
[Address(RVA = "0x171ED40", Offset = "0x171DB40", VA = "0x18171ED40")]
public void Abort()
{
/*
An exception occurred when decompiling this method (06009437)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::Abort()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_C0:
stloc:Exception(var_12_CA, newobj:Exception(Exception::.ctor, ldstr:string("Wasn't able to acquire a thread lock. Abort failed!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009438 RID: 37944 RVA: 0x001E68E4 File Offset: 0x001E4AE4
[Token(Token = "0x6009438")]
[Address(RVA = "0x171F640", Offset = "0x171E440", VA = "0x18171F640")]
public void Clear()
{
int num = 0;
this.FormImpl = num;
this.FieldCollector = num;
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
dictionary.Clear();
}
this.<IsRedirected>k__BackingField = num != 0;
this.<RedirectCount>k__BackingField = num;
this.<DownloadLength>k__BackingField = (long)num;
this.<Downloaded>k__BackingField = (long)num;
}
// Token: 0x06009439 RID: 37945 RVA: 0x001E6930 File Offset: 0x001E4B30
[Token(Token = "0x6009439")]
[Address(RVA = "0x1721B20", Offset = "0x1720920", VA = "0x181721B20")]
private void VerboseLogging(string str)
{
ILogger logger = HTTPManager.Logger;
if (this.<IsRedirected>k__BackingField)
{
}
int hashCode = this.<Uri>k__BackingField.GetHashCode();
}
// Token: 0x17001790 RID: 6032
// (get) Token: 0x0600943A RID: 37946 RVA: 0x001E6960 File Offset: 0x001E4B60
[Token(Token = "0x17001790")]
public object Current
{
[Token(Token = "0x600943A")]
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "5")]
get
{
}
}
// Token: 0x0600943B RID: 37947 RVA: 0x001E6970 File Offset: 0x001E4B70
[Token(Token = "0x600943B")]
[Address(RVA = "0x17209E0", Offset = "0x171F7E0", VA = "0x1817209E0", Slot = "4")]
public bool MoveNext()
{
return this.<State>k__BackingField < HTTPRequestStates.Finished;
}
// Token: 0x0600943C RID: 37948 RVA: 0x001E6988 File Offset: 0x001E4B88
[Token(Token = "0x600943C")]
[Address(RVA = "0x1720AA0", Offset = "0x171F8A0", VA = "0x181720AA0", Slot = "6")]
public void Reset()
{
/*
An exception occurred when decompiling this method (0600943C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.HTTPRequest::Reset()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x17001791 RID: 6033
// (get) Token: 0x0600943D RID: 37949 RVA: 0x001E699C File Offset: 0x001E4B9C
[Token(Token = "0x17001791")]
HTTPRequest IEnumerator<HTTPRequest>.Current
{
[Token(Token = "0x600943D")]
[Address(RVA = "0x434BD0", Offset = "0x4339D0", VA = "0x180434BD0", Slot = "7")]
get
{
return this;
}
}
// Token: 0x0600943E RID: 37950 RVA: 0x001E69AC File Offset: 0x001E4BAC
[Token(Token = "0x600943E")]
[Address(RVA = "0x171F6C0", Offset = "0x171E4C0", VA = "0x18171F6C0", Slot = "8")]
public void Dispose()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0)
{
httpresponse.Dispose();
return;
}
}
// Token: 0x0600943F RID: 37951 RVA: 0x001E69CC File Offset: 0x001E4BCC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600943F")]
[Address(RVA = "0x1721C00", Offset = "0x1720A00", VA = "0x181721C00")]
static HTTPRequest()
{
byte[] array = new byte[2];
array[0] = (byte)((ulong)13L);
array[0] = (byte)((ulong)10L);
HTTPRequest.EOL = array;
string[] array2 = new string[8];
int num = array2.GetHashCode();
string text;
if (text != 0)
{
}
array2[0] = text;
HTTPMethods httpmethods;
num = httpmethods.GetHashCode();
string text2;
if (text2 != 0)
{
}
array2[1] = text2;
num = text2.GetHashCode();
string text3;
if (text3 != 0)
{
}
array2[2] = text3;
num = text3.GetHashCode();
string text4;
if (text4 != 0)
{
}
array2[3] = text4;
num = text4.GetHashCode();
string text5;
if (text5 != 0)
{
}
array2[4] = text5;
num = text5.GetHashCode();
string text6;
if (text6 != 0)
{
}
array2[5] = text6;
num = text6.GetHashCode();
string text7;
if (text7 != 0)
{
}
array2[6] = text7;
num = text7.GetHashCode();
string text8;
if (text8 != 0)
{
}
array2[7] = text8;
HTTPRequest.MethodNames = array2;
}
// Token: 0x040064D1 RID: 25809
[Token(Token = "0x40064D1")]
public static readonly byte[] EOL;
// Token: 0x040064D2 RID: 25810
[Token(Token = "0x40064D2")]
public static readonly string[] MethodNames;
// Token: 0x040064D3 RID: 25811
[Token(Token = "0x40064D3")]
public static int UploadChunkSize;
// Token: 0x040064DA RID: 25818
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40064DA")]
public OnUploadProgressDelegate OnUploadProgress;
// Token: 0x040064DD RID: 25821
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40064DD")]
public OnDownloadProgressDelegate OnProgress;
// Token: 0x040064DE RID: 25822
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40064DE")]
public OnRequestFinishedDelegate OnUpgraded;
// Token: 0x040064EB RID: 25835
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40064EB")]
private List<Cookie> customCookies;
// Token: 0x040064F9 RID: 25849
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x40064F9")]
private OnBeforeRedirectionDelegate onBeforeRedirection;
// Token: 0x040064FA RID: 25850
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x40064FA")]
private OnBeforeHeaderSendDelegate _onBeforeHeaderSend;
// Token: 0x04006503 RID: 25859
[FieldOffset(Offset = "0x149")]
[Token(Token = "0x4006503")]
private bool isKeepAlive;
// Token: 0x04006504 RID: 25860
[FieldOffset(Offset = "0x14A")]
[Token(Token = "0x4006504")]
private bool disableCache;
// Token: 0x04006505 RID: 25861
[FieldOffset(Offset = "0x14B")]
[Token(Token = "0x4006505")]
private bool cacheOnly;
// Token: 0x04006506 RID: 25862
[FieldOffset(Offset = "0x14C")]
[Token(Token = "0x4006506")]
private int streamFragmentSize;
// Token: 0x04006507 RID: 25863
[FieldOffset(Offset = "0x150")]
[Token(Token = "0x4006507")]
private bool useStreaming;
// Token: 0x04006509 RID: 25865
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x4006509")]
private HTTPFormBase FieldCollector;
// Token: 0x0400650A RID: 25866
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x400650A")]
private HTTPFormBase FormImpl;
}
}
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189B RID: 6299
[Token(Token = "0x200189B")]
public enum HTTPRequestStates
{
// Token: 0x040064C9 RID: 25801
[Token(Token = "0x40064C9")]
Initial,
// Token: 0x040064CA RID: 25802
[Token(Token = "0x40064CA")]
Queued,
// Token: 0x040064CB RID: 25803
[Token(Token = "0x40064CB")]
Processing,
// Token: 0x040064CC RID: 25804
[Token(Token = "0x40064CC")]
Finished,
// Token: 0x040064CD RID: 25805
[Token(Token = "0x40064CD")]
Error,
// Token: 0x040064CE RID: 25806
[Token(Token = "0x40064CE")]
Aborted,
// Token: 0x040064CF RID: 25807
[Token(Token = "0x40064CF")]
ConnectionTimedOut,
// Token: 0x040064D0 RID: 25808
[Token(Token = "0x40064D0")]
TimedOut
}
}
+1450
View File
@@ -0,0 +1,1450 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Decompression.Zlib;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP
{
// Token: 0x020018A6 RID: 6310
[Token(Token = "0x20018A6")]
public class HTTPResponse : IDisposable
{
// Token: 0x17001793 RID: 6035
// (get) Token: 0x06009446 RID: 37958 RVA: 0x001E6B14 File Offset: 0x001E4D14
// (set) Token: 0x06009447 RID: 37959 RVA: 0x001E6B28 File Offset: 0x001E4D28
[Token(Token = "0x17001793")]
public int VersionMajor
{
[Token(Token = "0x6009446")]
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
get;
[Token(Token = "0x6009447")]
[Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")]
protected set;
}
// Token: 0x17001794 RID: 6036
// (get) Token: 0x06009448 RID: 37960 RVA: 0x001E6B3C File Offset: 0x001E4D3C
// (set) Token: 0x06009449 RID: 37961 RVA: 0x001E6B50 File Offset: 0x001E4D50
[Token(Token = "0x17001794")]
public int VersionMinor
{
[Token(Token = "0x6009448")]
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
get;
[Token(Token = "0x6009449")]
[Address(RVA = "0x52EC20", Offset = "0x52DA20", VA = "0x18052EC20")]
protected set;
}
// Token: 0x17001795 RID: 6037
// (get) Token: 0x0600944A RID: 37962 RVA: 0x001E6B64 File Offset: 0x001E4D64
// (set) Token: 0x0600944B RID: 37963 RVA: 0x001E6B78 File Offset: 0x001E4D78
[Token(Token = "0x17001795")]
public int StatusCode
{
[Token(Token = "0x600944A")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
get;
[Token(Token = "0x600944B")]
[Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")]
protected set;
}
// Token: 0x17001796 RID: 6038
// (get) Token: 0x0600944C RID: 37964 RVA: 0x001E6B8C File Offset: 0x001E4D8C
[Token(Token = "0x17001796")]
public bool IsSuccess
{
[Token(Token = "0x600944C")]
[Address(RVA = "0x1727BB0", Offset = "0x17269B0", VA = "0x181727BB0")]
get
{
int num = this.<StatusCode>k__BackingField;
return true;
}
}
// Token: 0x17001797 RID: 6039
// (get) Token: 0x0600944D RID: 37965 RVA: 0x001E6BAC File Offset: 0x001E4DAC
// (set) Token: 0x0600944E RID: 37966 RVA: 0x001E6BC0 File Offset: 0x001E4DC0
[Token(Token = "0x17001797")]
public string Message
{
[Token(Token = "0x600944D")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get;
[Token(Token = "0x600944E")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
protected set;
}
// Token: 0x17001798 RID: 6040
// (get) Token: 0x0600944F RID: 37967 RVA: 0x001E6BD4 File Offset: 0x001E4DD4
// (set) Token: 0x06009450 RID: 37968 RVA: 0x001E6BE8 File Offset: 0x001E4DE8
[Token(Token = "0x17001798")]
public bool IsStreamed
{
[Token(Token = "0x600944F")]
[Address(RVA = "0x494270", Offset = "0x493070", VA = "0x180494270")]
get;
[Token(Token = "0x6009450")]
[Address(RVA = "0x494500", Offset = "0x493300", VA = "0x180494500")]
protected set;
}
// Token: 0x17001799 RID: 6041
// (get) Token: 0x06009451 RID: 37969 RVA: 0x001E6BFC File Offset: 0x001E4DFC
// (set) Token: 0x06009452 RID: 37970 RVA: 0x001E6C10 File Offset: 0x001E4E10
[Token(Token = "0x17001799")]
public bool IsStreamingFinished
{
[Token(Token = "0x6009451")]
[Address(RVA = "0x494260", Offset = "0x493060", VA = "0x180494260")]
get;
[Token(Token = "0x6009452")]
[Address(RVA = "0x4944F0", Offset = "0x4932F0", VA = "0x1804944F0")]
internal set;
}
// Token: 0x1700179A RID: 6042
// (get) Token: 0x06009453 RID: 37971 RVA: 0x001E6C24 File Offset: 0x001E4E24
// (set) Token: 0x06009454 RID: 37972 RVA: 0x001E6C38 File Offset: 0x001E4E38
[Token(Token = "0x1700179A")]
public bool IsFromCache
{
[Token(Token = "0x6009453")]
[Address(RVA = "0x494240", Offset = "0x493040", VA = "0x180494240")]
get;
[Token(Token = "0x6009454")]
[Address(RVA = "0x6CEB60", Offset = "0x6CD960", VA = "0x1806CEB60")]
internal set;
}
// Token: 0x1700179B RID: 6043
// (get) Token: 0x06009455 RID: 37973 RVA: 0x001E6C4C File Offset: 0x001E4E4C
// (set) Token: 0x06009456 RID: 37974 RVA: 0x001E6C60 File Offset: 0x001E4E60
[Token(Token = "0x1700179B")]
public HTTPCacheFileInfo CacheFileInfo
{
[Token(Token = "0x6009455")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
get;
[Token(Token = "0x6009456")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
internal set;
}
// Token: 0x1700179C RID: 6044
// (get) Token: 0x06009457 RID: 37975 RVA: 0x001E6C74 File Offset: 0x001E4E74
// (set) Token: 0x06009458 RID: 37976 RVA: 0x001E6C88 File Offset: 0x001E4E88
[Token(Token = "0x1700179C")]
public bool IsCacheOnly
{
[Token(Token = "0x6009457")]
[Address(RVA = "0x43A970", Offset = "0x439770", VA = "0x18043A970")]
get;
[Token(Token = "0x6009458")]
[Address(RVA = "0x43ABB0", Offset = "0x4399B0", VA = "0x18043ABB0")]
private set;
}
// Token: 0x1700179D RID: 6045
// (get) Token: 0x06009459 RID: 37977 RVA: 0x001E6C9C File Offset: 0x001E4E9C
// (set) Token: 0x0600945A RID: 37978 RVA: 0x001E6CB0 File Offset: 0x001E4EB0
[Token(Token = "0x1700179D")]
public Dictionary<string, List<string>> Headers
{
[Token(Token = "0x6009459")]
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
get;
[Token(Token = "0x600945A")]
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
protected set;
}
// Token: 0x1700179E RID: 6046
// (get) Token: 0x0600945B RID: 37979 RVA: 0x001E6CC4 File Offset: 0x001E4EC4
// (set) Token: 0x0600945C RID: 37980 RVA: 0x001E6CD8 File Offset: 0x001E4ED8
[Token(Token = "0x1700179E")]
public byte[] Data
{
[Token(Token = "0x600945B")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get;
[Token(Token = "0x600945C")]
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
internal set;
}
// Token: 0x1700179F RID: 6047
// (get) Token: 0x0600945D RID: 37981 RVA: 0x001E6CEC File Offset: 0x001E4EEC
// (set) Token: 0x0600945E RID: 37982 RVA: 0x001E6D00 File Offset: 0x001E4F00
[Token(Token = "0x1700179F")]
public bool IsUpgraded
{
[Token(Token = "0x600945D")]
[Address(RVA = "0x7722A0", Offset = "0x7710A0", VA = "0x1807722A0")]
get;
[Token(Token = "0x600945E")]
[Address(RVA = "0x781F80", Offset = "0x780D80", VA = "0x180781F80")]
protected set;
}
// Token: 0x170017A0 RID: 6048
// (get) Token: 0x0600945F RID: 37983 RVA: 0x001E6D14 File Offset: 0x001E4F14
// (set) Token: 0x06009460 RID: 37984 RVA: 0x001E6D28 File Offset: 0x001E4F28
[Token(Token = "0x170017A0")]
public List<Cookie> Cookies
{
[Token(Token = "0x600945F")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get;
[Token(Token = "0x6009460")]
[Address(RVA = "0x466B90", Offset = "0x465990", VA = "0x180466B90")]
internal set;
}
// Token: 0x170017A1 RID: 6049
// (get) Token: 0x06009461 RID: 37985 RVA: 0x001E6D3C File Offset: 0x001E4F3C
[Token(Token = "0x170017A1")]
public string DataAsText
{
[Token(Token = "0x6009461")]
[Address(RVA = "0x1727A40", Offset = "0x1726840", VA = "0x181727A40")]
get
{
if (this.<Data>k__BackingField == (ulong)0L)
{
return string.Empty;
}
if (string.IsNullOrEmpty(this.dataAsText))
{
Encoding utf = Encoding.UTF8;
byte[] array = this.<Data>k__BackingField;
string @string = utf.GetString(array);
this.dataAsText = @string;
return @string;
}
return this.dataAsText;
}
}
// Token: 0x170017A2 RID: 6050
// (get) Token: 0x06009462 RID: 37986 RVA: 0x001E6D94 File Offset: 0x001E4F94
[Token(Token = "0x170017A2")]
public Texture2D DataAsTexture2D
{
[Token(Token = "0x6009462")]
[Address(RVA = "0x1727AE0", Offset = "0x17268E0", VA = "0x181727AE0")]
get
{
if (this.<Data>k__BackingField != (ulong)0L)
{
Texture2D texture2D = this.texture;
int num = 0;
if (!(texture2D != num))
{
int num2;
int num3;
ulong num4;
Texture2D texture2D2 = new Texture2D(num2, num3, (TextureFormat)((uint)5), num4 != 0UL);
num3 = 0;
num2 = 0;
byte[] array = this.<Data>k__BackingField;
this.texture = texture2D2;
bool flag = texture2D2.LoadImage(array);
}
return this.texture;
}
}
}
// Token: 0x170017A3 RID: 6051
// (get) Token: 0x06009463 RID: 37987 RVA: 0x001E6DF8 File Offset: 0x001E4FF8
// (set) Token: 0x06009464 RID: 37988 RVA: 0x001E6E0C File Offset: 0x001E500C
[Token(Token = "0x170017A3")]
public bool IsClosedManually
{
[Token(Token = "0x6009463")]
[Address(RVA = "0x567CF0", Offset = "0x566AF0", VA = "0x180567CF0")]
get;
[Token(Token = "0x6009464")]
[Address(RVA = "0x567D40", Offset = "0x566B40", VA = "0x180567D40")]
protected set;
}
// Token: 0x06009465 RID: 37989 RVA: 0x001E6E20 File Offset: 0x001E5020
[Token(Token = "0x6009465")]
[Address(RVA = "0x1727980", Offset = "0x1726780", VA = "0x181727980")]
public HTTPResponse(HTTPRequest request, Stream stream, bool isStreamed, bool isFromCache)
{
object obj = new object();
this.SyncRoot = obj;
base..ctor();
this.IsFromCache = false;
this.baseRequest = request;
this.Stream = stream;
this.IsStreamed = isStreamed;
bool cacheOnly = request.cacheOnly;
this.IsCacheOnly = cacheOnly;
this.IsClosedManually = false;
}
// Token: 0x06009466 RID: 37990 RVA: 0x001E6E78 File Offset: 0x001E5078
[Token(Token = "0x6009466")]
[Address(RVA = "0x1726F40", Offset = "0x1725D40", VA = "0x181726F40", Slot = "5")]
public virtual bool Receive(int forceReadRawContentLength = -1, bool readPayloadData = true)
{
for (;;)
{
if (HTTPManager.Logger == 0)
{
string text;
this.VerboseLogging(text);
}
Stream stream = this.Stream;
string text3;
string text2;
if (HTTPManager.Logger == 0)
{
text2 = string.Format("Status Line: '{0}'", text3);
this.VerboseLogging(text2);
}
if (text2 == 0)
{
char[] array = new char[2];
array[0] = (char)((uint)47);
array[0] = (char)((uint)46);
string[] array2 = text3.Split(array);
int num = int.Parse(array2[1]);
this.<VersionMajor>k__BackingField = num;
int num2 = int.Parse(array2[2]);
this.<VersionMinor>k__BackingField = num2;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
int num3 = 0;
if (logger == 0)
{
string text4 = num3.ToString();
string text5 = this.<VersionMinor>k__BackingField.ToString();
string text6 = string.Format("HTTP Version: '{0}.{1}'", text4, text5);
this.VerboseLogging(text6);
}
Stream stream2 = this.Stream;
string text8;
if (HTTPManager.Logger == 0)
{
string text7 = string.Format("Status Code: '{0}'", text8);
this.VerboseLogging(text7);
}
bool flag;
if (!this.baseRequest.<DisableRetry>k__BackingField && !flag)
{
goto IL_291;
}
int num4 = int.Parse(text8);
this.<StatusCode>k__BackingField = num4;
int stringLength = text8.m_stringLength;
if (stringLength > 0)
{
char c = text8[stringLength];
int stringLength2 = text8.m_stringLength;
char c2 = text8[stringLength2];
Stream stream3 = this.Stream;
string text9;
this.<Message>k__BackingField = text9;
if (HTTPManager.Logger != 0)
{
goto IL_1DF;
}
string text10 = this.<Message>k__BackingField;
string text11 = string.Format("Status Message: '{0}'", text10);
this.VerboseLogging(text11);
}
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.<IsRedirected>k__BackingField)
{
continue;
}
int hashCode = httprequest.<RedirectUri>k__BackingField.m_String.GetHashCode();
string text12 = string.Format("{0} - Skipping Status Message reading!", hashCode);
string empty = string.Empty;
this.<Message>k__BackingField = empty;
IL_1DF:
Stream stream4 = this.Stream;
this.ReadHeaders(stream4);
if (this.<StatusCode>k__BackingField != 101)
{
}
if (this.HasHeaderWithValue("connection", "upgrade"))
{
}
bool flag2 = this.GetHeaderValues("upgrade") != 0;
this.<IsUpgraded>k__BackingField = flag2;
if (flag2 && HTTPManager.Logger == 0)
{
this.VerboseLogging("Request Upgraded!");
}
if (readPayloadData)
{
break;
}
}
HTTPRequest httprequest2 = this.baseRequest;
if (!httprequest2.<DisableRetry>k__BackingField && !httprequest2.<DisableRetry>k__BackingField)
{
goto Block_13;
}
}
return this.ReadPayload(forceReadRawContentLength);
Block_13:
int num5 = 0;
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
int hashCode2 = num5.GetHashCode();
string text13 = string.Format("{0} - Failed to read Status Line! Retry is enabled, returning with false.", hashCode2);
IL_291:
throw new NullReferenceException();
}
// Token: 0x06009467 RID: 37991 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009467")]
[Address(RVA = "0x1725CA0", Offset = "0x1724AA0", VA = "0x181725CA0")]
protected bool ReadPayload(int forceReadRawContentLength)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009468 RID: 37992 RVA: 0x001E711C File Offset: 0x001E531C
[Token(Token = "0x6009468")]
[Address(RVA = "0x1725B50", Offset = "0x1724950", VA = "0x181725B50")]
protected void ReadHeaders(Stream stream)
{
string empty2;
string text4;
do
{
string empty = string.Empty;
string text;
if (!(text != empty))
{
break;
}
string text3;
if (HTTPManager.Logger == 0)
{
string text2 = string.Format("Header - '{0}': '{1}'", text, text3);
this.VerboseLogging(text2);
}
this.AddHeader(text, text3);
empty2 = string.Empty;
}
while (text4 != empty2);
}
// Token: 0x06009469 RID: 37993 RVA: 0x001E717C File Offset: 0x001E537C
[Token(Token = "0x6009469")]
[Address(RVA = "0x1723820", Offset = "0x1722620", VA = "0x181723820")]
protected void AddHeader(string name, string value)
{
string text = name.ToLower();
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(text, list);
}
list.Add(value);
}
// Token: 0x0600946A RID: 37994 RVA: 0x001E71D4 File Offset: 0x001E53D4
[Token(Token = "0x600946A")]
[Address(RVA = "0x1724A00", Offset = "0x1723800", VA = "0x181724A00")]
public List<string> GetHeaderValues(string name)
{
if (this.<Headers>k__BackingField != (ulong)0L)
{
string text = name.ToLower();
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
bool flag;
if (flag)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600946B RID: 37995 RVA: 0x001E7208 File Offset: 0x001E5408
[Token(Token = "0x600946B")]
[Address(RVA = "0x1724950", Offset = "0x1723750", VA = "0x181724950")]
public string GetFirstHeaderValue(string name)
{
if (this.<Headers>k__BackingField != (ulong)0L)
{
string text = name.ToLower();
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
bool flag;
if (!flag || flag)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600946C RID: 37996 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600946C")]
[Address(RVA = "0x1724F30", Offset = "0x1723D30", VA = "0x181724F30")]
public bool HasHeaderWithValue(string headerName, string value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600946D RID: 37997 RVA: 0x001E7240 File Offset: 0x001E5440
[Token(Token = "0x600946D")]
[Address(RVA = "0x1724FE0", Offset = "0x1723DE0", VA = "0x181724FE0")]
public bool HasHeader(string headerName)
{
return this.GetHeaderValues(headerName) != 0;
}
// Token: 0x0600946E RID: 37998 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600946E")]
[Address(RVA = "0x1724AA0", Offset = "0x17238A0", VA = "0x181724AA0")]
public HTTPRange GetRange()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600946F RID: 37999 RVA: 0x001E725C File Offset: 0x001E545C
[Token(Token = "0x600946F")]
[Address(RVA = "0x17263F0", Offset = "0x17251F0", VA = "0x1817263F0")]
public static string ReadTo(Stream stream, byte blocker)
{
int num;
do
{
num = 0;
uint num2;
ulong num3;
byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL);
int num4;
uint num5;
if (num4 != (int)blocker && num4 != -1 && !char.IsWhiteSpace((char)num5))
{
num++;
}
bool flag;
if (num <= 0 || flag)
{
}
Encoding utf = Encoding.UTF8;
}
while (num != 0);
string text;
return text;
}
// Token: 0x06009470 RID: 38000 RVA: 0x001E72D0 File Offset: 0x001E54D0
[Token(Token = "0x6009470")]
[Address(RVA = "0x17266C0", Offset = "0x17254C0", VA = "0x1817266C0")]
public static string ReadTo(Stream stream, byte blocker1, byte blocker2)
{
int num;
do
{
num = 0;
uint num2;
ulong num3;
byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL);
int num4;
uint num5;
if (num4 != (int)blocker1 && num4 != (int)blocker1 && num4 != -1 && !char.IsWhiteSpace((char)num5))
{
num++;
}
if (num <= 0 || char.IsWhiteSpace((char)blocker1))
{
}
Encoding utf = Encoding.UTF8;
}
while (num != 0);
string text;
return text;
}
// Token: 0x06009471 RID: 38001 RVA: 0x001E734C File Offset: 0x001E554C
[Token(Token = "0x6009471")]
[Address(RVA = "0x17250E0", Offset = "0x1723EE0", VA = "0x1817250E0")]
public static string NoTrimReadTo(Stream stream, byte blocker1, byte blocker2)
{
int num;
do
{
num = 0;
uint num2;
ulong num3;
byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL);
int num4;
uint num5;
if (num4 != (int)blocker1 && num4 != (int)blocker1 && num4 != -1 && !char.IsWhiteSpace((char)num5))
{
num++;
}
Encoding utf = Encoding.UTF8;
}
while (num != 0);
string text;
return text;
}
// Token: 0x06009472 RID: 38002 RVA: 0x001E73B0 File Offset: 0x001E55B0
[Token(Token = "0x6009472")]
[Address(RVA = "0x1725350", Offset = "0x1724150", VA = "0x181725350")]
protected int ReadChunkLength(Stream stream)
{
/*
An exception occurred when decompiling this method (06009472)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.HTTPResponse::ReadChunkLength(System.IO.Stream)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3E:
stloc:Exception(var_5_4E, newobj:Exception(Exception::.ctor, call:string(string::Format, ldstr:string("Can't parse '{0}' as a hex number!"), ldloc:string[exp:object](var_3_20))))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x06009473 RID: 38003 RVA: 0x001E740C File Offset: 0x001E560C
[Token(Token = "0x6009473")]
[Address(RVA = "0x1725470", Offset = "0x1724270", VA = "0x181725470")]
protected void ReadChunked(Stream stream)
{
int num;
do
{
num = 0;
this.BeginReceiveStreamFragments();
string firstHeaderValue = this.GetFirstHeaderValue("Content-Length");
int num2 = 0;
if (!string.IsNullOrEmpty(firstHeaderValue))
{
bool flag = int.TryParse(firstHeaderValue, num2);
}
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
if (logger == 0)
{
string text2;
int num3;
string text = string.Format("ReadChunked - hasContentLengthHeader: {0}, contentLengthHeader: {1} realLength: {2:N0}", text2, firstHeaderValue, num3);
this.VerboseLogging(text);
}
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream();
int num4 = this.ReadChunkLength(stream);
if (HTTPManager.Logger == 0)
{
string text3;
this.VerboseLogging(text3);
}
ulong num5;
byte[] array = VariableSizedBufferPool.Get((long)Mathf.NextPowerOfTwo(num4), num5 != 0UL);
this.baseRequest.<DownloadLength>k__BackingField = (long)num4;
HTTPRequest httprequest = this.baseRequest;
int num6 = this.<StatusCode>k__BackingField;
if (num4 <= 99 || num6 != 304)
{
}
uint num7;
bool flag2 = num7 != (uint)0;
httprequest.<DownloadProgressChanged>k__BackingField = flag2;
if (this.<IsFromCache>k__BackingField)
{
}
string firstHeaderValue2 = this.GetFirstHeaderValue("content-encoding");
if (string.IsNullOrEmpty(firstHeaderValue2))
{
}
bool flag3 = string.Equals(firstHeaderValue2, "gzip");
HTTPRequest httprequest3;
if (num4 != 0)
{
num4 -= num;
stream.SetLength((long)num4);
HTTPRequest httprequest2 = this.baseRequest;
httprequest3 = this.baseRequest;
if (!this.IsSuccess)
{
}
uint num8;
bool flag4 = num8 != (uint)0;
httprequest3.<DownloadProgressChanged>k__BackingField = flag4;
if (num < num4)
{
}
if (!this.baseRequest.useStreaming)
{
int num9 = bufferPoolMemoryStream.ReadByte();
}
if (httprequest3 == 0)
{
}
byte[] array2;
if (array2 != 0)
{
int length = array2.Length;
int num10 = 0;
this.FeedStreamFragment(array2, num10, length);
}
ulong num11;
string text4 = HTTPResponse.ReadTo(stream, (byte)num11);
num4 = this.ReadChunkLength(stream);
if (HTTPManager.Logger == 0)
{
string text5;
this.VerboseLogging(text5);
}
HTTPRequest httprequest4 = this.baseRequest;
HTTPRequest httprequest5 = this.baseRequest;
if (this.IsSuccess)
{
continue;
}
bool flag5 = this.<IsFromCache>k__BackingField;
httprequest5.<DownloadProgressChanged>k__BackingField = flag5;
}
if (this.baseRequest.useStreaming)
{
byte[] array3;
if (httprequest3 != 0 && array3 != 0)
{
int length2 = array3.Length;
int num12 = 0;
this.FeedStreamFragment(array3, num12, length2);
}
this.FlushRemainingFragmentBuffer();
}
this.ReadHeaders(stream);
if (!this.baseRequest.useStreaming)
{
byte[] array4 = this.DecodeStream(bufferPoolMemoryStream);
this.<Data>k__BackingField = array4;
}
if (bufferPoolMemoryStream != 0)
{
}
}
while (num != 0);
this.CloseDecompressors();
}
// Token: 0x06009474 RID: 38004 RVA: 0x001E76BC File Offset: 0x001E58BC
[Token(Token = "0x6009474")]
[Address(RVA = "0x1725E60", Offset = "0x1724C60", VA = "0x181725E60")]
internal void ReadRaw(Stream stream, long contentLength)
{
for (;;)
{
int num = 0;
this.BeginReceiveStreamFragments();
HTTPRequest httprequest = this.baseRequest;
httprequest.<DownloadLength>k__BackingField = contentLength;
HTTPRequest httprequest2 = this.baseRequest;
int num2 = this.<StatusCode>k__BackingField;
if (httprequest <= (ulong)99L || num2 != 304)
{
}
uint num3;
bool flag = num3 != (uint)0;
httprequest2.<DownloadProgressChanged>k__BackingField = flag;
if (HTTPManager.Logger == 0)
{
string text;
this.VerboseLogging(text);
}
if ((this.<IsFromCache>k__BackingField ? 1 : 0) != num)
{
}
if (this.GetFirstHeaderValue("content-encoding") != 0)
{
}
if (!this.baseRequest.useStreaming)
{
}
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream((int)contentLength);
int num4 = this.baseRequest.streamFragmentSize;
uint num5;
num4 = Math.Max(num4, (int)num5);
ulong num6;
byte[] array = VariableSizedBufferPool.Get((long)num4, num6 != 0UL);
uint num8;
uint num7 = Math.Min(num8, (uint)contentLength);
int num9 = array.Length;
num9 -= num;
int num10 = Math.Min((int)num7, num9);
if (num10 > 0)
{
num += num10;
HTTPRequest httprequest3 = this.baseRequest;
HTTPRequest httprequest4 = this.baseRequest;
if (!this.IsSuccess)
{
}
uint num11;
bool flag2 = num11 != (uint)0;
httprequest4.<DownloadProgressChanged>k__BackingField = flag2;
if (num < array.Length)
{
}
if (!this.baseRequest.useStreaming)
{
}
int num12 = 0;
this.FeedStreamFragment(array, num12, num);
ulong num13;
byte[] array2 = this.Decompress(array, num12, num, num13 != 0UL);
while (array2 == 0)
{
}
int length = array2.Length;
int num14 = 0;
this.FeedStreamFragment(array2, num14, length);
VariableSizedBufferPool.Release(array);
if (this.baseRequest.useStreaming)
{
byte[] array3;
if (array3 != 0)
{
int length2 = array3.Length;
int num15 = 0;
this.FeedStreamFragment(array3, num15, length2);
}
this.FlushRemainingFragmentBuffer();
}
if (!this.baseRequest.useStreaming)
{
byte[] array4;
this.<Data>k__BackingField = array4;
}
if (httprequest4 != 0)
{
}
if (num == 0)
{
break;
}
}
}
this.CloseDecompressors();
}
// Token: 0x06009475 RID: 38005 RVA: 0x001E7888 File Offset: 0x001E5A88
[Token(Token = "0x6009475")]
[Address(RVA = "0x17269A0", Offset = "0x17257A0", VA = "0x1817269A0")]
protected void ReadUnknownSize(Stream stream)
{
for (;;)
{
if (this.<IsFromCache>k__BackingField)
{
}
string firstHeaderValue = this.GetFirstHeaderValue("content-encoding");
if (string.IsNullOrEmpty(firstHeaderValue))
{
}
bool flag = string.Equals(firstHeaderValue, "gzip");
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream();
int num = this.baseRequest.streamFragmentSize;
uint num2;
num = Math.Max(num, (int)num2);
int num3 = 0;
byte[] array = VariableSizedBufferPool.Get((long)num, num3 != 0);
if (HTTPManager.Logger == 0)
{
int length = array.Length;
string text = string.Format("ReadUnknownSize - buffer size: {0:N0}", length);
this.VerboseLogging(text);
}
int num4 = 0;
int num5 = 0;
if (stream == 0 || stream == 0 || (this.baseRequest.<EnableSafeReadOnUnknownContentLength>k__BackingField ? 1 : 0) == num5)
{
goto IL_B3;
}
if (num4 < array.Length)
{
num5++;
num4++;
goto IL_B3;
}
IL_C3:
HTTPRequest httprequest = this.baseRequest;
HTTPRequest httprequest2 = this.baseRequest;
long <Downloaded>k__BackingField = httprequest2.<Downloaded>k__BackingField;
httprequest2.<DownloadLength>k__BackingField = <Downloaded>k__BackingField;
HTTPRequest httprequest3 = this.baseRequest;
if (this.IsSuccess)
{
continue;
}
bool flag2 = this.<IsFromCache>k__BackingField;
httprequest3.<DownloadProgressChanged>k__BackingField = flag2;
if (num4 < array.Length)
{
}
if (!this.baseRequest.useStreaming)
{
int num6 = stream.ReadByte();
}
int num7 = 0;
if (httprequest3 == 0)
{
this.FeedStreamFragment(array, num7, num4);
}
ulong num8;
byte[] array2 = this.Decompress(array, num7, num4, num8 != 0UL);
if (array2 != 0)
{
int length2 = array2.Length;
int num9 = 0;
this.FeedStreamFragment(array2, num9, length2);
}
VariableSizedBufferPool.Release(array);
if (this.baseRequest.useStreaming)
{
byte[] array3;
if (httprequest3 != 0 && array3 != 0)
{
int length3 = array3.Length;
int num10 = 0;
this.FeedStreamFragment(array3, num10, length3);
}
this.FlushRemainingFragmentBuffer();
}
if (!this.baseRequest.useStreaming)
{
byte[] array4;
this.<Data>k__BackingField = array4;
}
int num11 = 0;
if (stream != 0)
{
}
if (num11 == 0)
{
break;
}
continue;
IL_B3:
int num12 = array.Length;
num12 -= num4;
goto IL_C3;
}
GZipStream gzipStream = this.decompressorGZipStream;
if (gzipStream != 0)
{
gzipStream.Dispose();
}
this.decompressorGZipStream = (ulong)0L;
BufferPoolMemoryStream bufferPoolMemoryStream2 = this.decompressorInputStream;
if (bufferPoolMemoryStream2 != 0)
{
bufferPoolMemoryStream2.Dispose();
}
this.decompressorInputStream = (ulong)0L;
BufferPoolMemoryStream bufferPoolMemoryStream3 = this.decompressorOutputStream;
if (bufferPoolMemoryStream3 != 0)
{
bufferPoolMemoryStream3.Dispose();
}
this.decompressorOutputStream = (ulong)0L;
}
// Token: 0x06009476 RID: 38006 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009476")]
[Address(RVA = "0x1723D00", Offset = "0x1722B00", VA = "0x181723D00")]
protected byte[] DecodeStream(BufferPoolMemoryStream streamToDecode)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009477 RID: 38007 RVA: 0x001E7B1C File Offset: 0x001E5D1C
[Token(Token = "0x6009477")]
[Address(RVA = "0x1723C90", Offset = "0x1722A90", VA = "0x181723C90")]
private void CloseDecompressors()
{
GZipStream gzipStream = this.decompressorGZipStream;
if (gzipStream != 0)
{
gzipStream.Dispose();
}
BufferPoolMemoryStream bufferPoolMemoryStream = this.decompressorInputStream;
int num = 0;
this.decompressorGZipStream = num;
if (bufferPoolMemoryStream != 0)
{
bufferPoolMemoryStream.Dispose();
}
BufferPoolMemoryStream bufferPoolMemoryStream2 = this.decompressorOutputStream;
this.decompressorInputStream = num;
if (bufferPoolMemoryStream2 != 0)
{
bufferPoolMemoryStream2.Dispose();
}
this.decompressorOutputStream = num;
}
// Token: 0x06009478 RID: 38008 RVA: 0x001E7B74 File Offset: 0x001E5D74
[Token(Token = "0x6009478")]
[Address(RVA = "0x1723FD0", Offset = "0x1722DD0", VA = "0x181723FD0")]
private byte[] Decompress(byte[] data, int offset, int count, bool forceDecompress = false)
{
BufferPoolMemoryStream bufferPoolMemoryStream = this.decompressorInputStream;
if (bufferPoolMemoryStream == 0)
{
BufferPoolMemoryStream bufferPoolMemoryStream2 = new BufferPoolMemoryStream(count);
this.decompressorInputStream = bufferPoolMemoryStream2;
}
if (data != 0)
{
int num = bufferPoolMemoryStream.ReadByte();
}
BufferPoolMemoryStream bufferPoolMemoryStream3 = this.decompressorInputStream;
if (bufferPoolMemoryStream3.CanWrite < false)
{
}
long position = bufferPoolMemoryStream3.Position;
GZipStream gzipStream;
FlushType flushMode = gzipStream.FlushMode;
BufferPoolMemoryStream bufferPoolMemoryStream4 = new BufferPoolMemoryStream();
byte[] array;
VariableSizedBufferPool.Release(array);
throw new NullReferenceException();
}
// Token: 0x06009479 RID: 38009 RVA: 0x001E7BDC File Offset: 0x001E5DDC
[Token(Token = "0x6009479")]
[Address(RVA = "0x1723B60", Offset = "0x1722960", VA = "0x181723B60")]
protected void BeginReceiveStreamFragments()
{
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.disableCache && httprequest.useStreaming && !this.<IsFromCache>k__BackingField)
{
if (httprequest.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField = httprequest.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField = httprequest.<MethodType>k__BackingField;
if (HTTPCacheService.IsCacheble(<Uri>k__BackingField, <MethodType>k__BackingField, this))
{
HTTPRequest httprequest2 = this.baseRequest;
if (httprequest2.<IsRedirected>k__BackingField)
{
}
Stream stream = HTTPCacheService.PrepareStreamed(httprequest2.<Uri>k__BackingField, this);
this.cacheStream = stream;
}
}
this.allFragmentSize = (int)((ulong)0L);
}
// Token: 0x0600947A RID: 38010 RVA: 0x001E7C64 File Offset: 0x001E5E64
[Token(Token = "0x600947A")]
[Address(RVA = "0x1724380", Offset = "0x1723180", VA = "0x181724380")]
protected void FeedStreamFragment(byte[] buffer, int pos, int length)
{
int num = 0;
if (buffer != 0 && length != 0)
{
if ((this.baseRequest.useStreaming ? 1 : 0) != num && this.FragmentQueueIsFull())
{
this.VerboseLogging("WaitWhileFragmentQueueIsFull");
if (this.fragmentWaitEvent == 0)
{
int num2;
AutoResetEvent autoResetEvent = new AutoResetEvent(num2 != 0);
num2 = 0;
this.fragmentWaitEvent = autoResetEvent;
}
AutoResetEvent autoResetEvent2 = this.fragmentWaitEvent;
}
byte[] array;
if (this.fragmentBuffer == num)
{
int streamFragmentSize = this.baseRequest.streamFragmentSize;
int num3 = 0;
array = VariableSizedBufferPool.Get((long)streamFragmentSize, num3 != 0);
this.fragmentBuffer = array;
this.fragmentBufferDataLength = num;
}
HTTPRequest httprequest = this.baseRequest;
int num4 = this.fragmentBufferDataLength;
int num5 = httprequest.streamFragmentSize;
if (array > num5)
{
num5 -= num4;
num4 = num5;
this.FeedStreamFragment(buffer, pos, num4);
}
byte[] array2 = this.fragmentBuffer;
Array.Copy(buffer, pos, array2, num4, length);
int num6 = this.fragmentBufferDataLength;
HTTPRequest httprequest2 = this.baseRequest;
num6 += length;
this.fragmentBufferDataLength = num6;
if (num6 == httprequest2.streamFragmentSize)
{
byte[] array3 = this.fragmentBuffer;
this.AddStreamedFragment(array3);
this.fragmentBuffer = num;
this.fragmentBufferDataLength = num;
}
}
}
// Token: 0x0600947B RID: 38011 RVA: 0x001E7D8C File Offset: 0x001E5F8C
[Token(Token = "0x600947B")]
[Address(RVA = "0x1724650", Offset = "0x1723450", VA = "0x181724650")]
protected void FlushRemainingFragmentBuffer()
{
int num = 0;
if (this.fragmentBuffer != num)
{
byte[] array = this.fragmentBuffer;
this.AddStreamedFragment(array);
this.fragmentBuffer = num;
this.fragmentBufferDataLength = num;
}
Stream stream = this.cacheStream;
if (stream != 0)
{
stream.Dispose();
HTTPRequest httprequest = this.baseRequest;
this.cacheStream = num;
if ((httprequest.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
Uri <Uri>k__BackingField = httprequest.<Uri>k__BackingField;
int num2 = this.allFragmentSize;
HTTPCacheService.SetBodyLength(<Uri>k__BackingField, num2);
}
AutoResetEvent autoResetEvent = this.fragmentWaitEvent;
this.fragmentWaitEvent = num;
if (autoResetEvent != 0)
{
}
}
// Token: 0x0600947C RID: 38012 RVA: 0x001E7E20 File Offset: 0x001E6020
[Token(Token = "0x600947C")]
[Address(RVA = "0x1723940", Offset = "0x1722740", VA = "0x181723940")]
protected void AddStreamedFragment(byte[] buffer)
{
int num;
do
{
num = 0;
object syncRoot = this.SyncRoot;
if ((this.<IsCacheOnly>k__BackingField ? 1 : 0) == num)
{
List<byte[]> list = this.streamedFragments;
if (list == 0)
{
List<byte[]> list2 = new List();
this.streamedFragments = list2;
}
list.Add(buffer);
}
if (HTTPManager.Logger == 0 && buffer != 0 && this.streamedFragments != (ulong)0L)
{
int length = buffer.Length;
List<byte[]> list3 = this.streamedFragments;
string text = string.Format("AddStreamedFragment buffer length: {0:N0} streamedFragments: {1:N0}", length, length);
this.VerboseLogging(text);
}
Stream stream = this.cacheStream;
if (stream != 0)
{
int num2 = stream.ReadByte();
int length2 = buffer.Length;
}
Monitor.Exit(syncRoot);
}
while (num != 0);
}
// Token: 0x0600947D RID: 38013 RVA: 0x001E7EE4 File Offset: 0x001E60E4
[Token(Token = "0x600947D")]
[Address(RVA = "0x1727880", Offset = "0x1726680", VA = "0x181727880")]
protected void WaitWhileFragmentQueueIsFull()
{
if (this.baseRequest.useStreaming && this.FragmentQueueIsFull())
{
this.VerboseLogging("WaitWhileFragmentQueueIsFull");
if (this.fragmentWaitEvent == 0)
{
int num;
AutoResetEvent autoResetEvent = new AutoResetEvent(num != 0);
num = 0;
this.fragmentWaitEvent = autoResetEvent;
}
AutoResetEvent autoResetEvent2 = this.fragmentWaitEvent;
HTTPRequest httprequest = this.baseRequest;
}
}
// Token: 0x0600947E RID: 38014 RVA: 0x001E7F44 File Offset: 0x001E6144
[Token(Token = "0x600947E")]
[Address(RVA = "0x17247A0", Offset = "0x17235A0", VA = "0x1817247A0")]
private bool FragmentQueueIsFull()
{
bool flag;
for (;;)
{
int num = 0;
object syncRoot = this.SyncRoot;
List<byte[]> list = this.streamedFragments;
if (list == 0)
{
}
int size = list._size;
int <MaxFragmentQueueLength>k__BackingField = this.baseRequest.<MaxFragmentQueueLength>k__BackingField;
flag = size >= <MaxFragmentQueueLength>k__BackingField;
if (HTTPManager.Logger == 0)
{
int size2 = this.streamedFragments._size;
int <MaxFragmentQueueLength>k__BackingField2 = this.baseRequest.<MaxFragmentQueueLength>k__BackingField;
string text = string.Format("HasFragmentsInQueue - {0} / {1}", size2, <MaxFragmentQueueLength>k__BackingField2);
this.VerboseLogging(text);
Monitor.Exit(syncRoot);
if (num == 0)
{
break;
}
}
}
return flag;
}
// Token: 0x0600947F RID: 38015 RVA: 0x001E7FE4 File Offset: 0x001E61E4
[Token(Token = "0x600947F")]
[Address(RVA = "0x1724CE0", Offset = "0x1723AE0", VA = "0x181724CE0")]
public List<byte[]> GetStreamedFragments()
{
int num;
do
{
num = 0;
object syncRoot = this.SyncRoot;
List<byte[]> list = this.streamedFragments;
if (list != 0)
{
List<byte[]> list2 = new List(list);
this.streamedFragments.Clear();
if (this.fragmentWaitEvent != 0)
{
bool flag = this.fragmentWaitEvent.Set();
}
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
int num2 = 0;
if (logger == 0)
{
string text = num2.ToString();
string text2 = string.Format("GetStreamedFragments - returning with {0:N0} fragments", text);
this.VerboseLogging(text2);
}
}
if (HTTPManager.Logger == 0)
{
this.VerboseLogging("GetStreamedFragments - no fragments, returning with null");
}
Monitor.Exit(syncRoot);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x06009480 RID: 38016 RVA: 0x001E80A0 File Offset: 0x001E62A0
[Token(Token = "0x6009480")]
[Address(RVA = "0x1725000", Offset = "0x1723E00", VA = "0x181725000")]
internal bool HasStreamedFragments()
{
int num;
bool flag;
do
{
num = 0;
object syncRoot = this.SyncRoot;
List<byte[]> list = this.streamedFragments;
if (list == 0)
{
}
int size = list._size;
HTTPRequest httprequest = this.baseRequest;
flag = size >= httprequest.<MaxFragmentQueueLength>k__BackingField;
Monitor.Exit(syncRoot);
}
while (num != 0);
return flag;
}
// Token: 0x06009481 RID: 38017 RVA: 0x001E80F4 File Offset: 0x001E62F4
[Token(Token = "0x6009481")]
[Address(RVA = "0x17245C0", Offset = "0x17233C0", VA = "0x1817245C0")]
internal void FinishStreaming()
{
if (HTTPManager.Logger == 0)
{
this.VerboseLogging("FinishStreaming");
}
this.<IsStreamingFinished>k__BackingField = true;
this.Dispose();
}
// Token: 0x06009482 RID: 38018 RVA: 0x001E812C File Offset: 0x001E632C
[Token(Token = "0x6009482")]
[Address(RVA = "0x1727750", Offset = "0x1726550", VA = "0x181727750")]
private void VerboseLogging(string str)
{
if (HTTPManager.Logger == 0)
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
HTTPRequest httprequest = this.baseRequest;
if (httprequest.<IsRedirected>k__BackingField)
{
}
int hashCode = httprequest.<Uri>k__BackingField.GetHashCode();
}
}
// Token: 0x06009483 RID: 38019 RVA: 0x001E8170 File Offset: 0x001E6370
[Token(Token = "0x6009483")]
[Address(RVA = "0x17242A0", Offset = "0x17230A0", VA = "0x1817242A0", Slot = "4")]
public void Dispose()
{
Stream stream = this.Stream;
if (stream == 0 || stream != 0)
{
}
Stream stream2 = this.cacheStream;
this.Stream = (ulong)0L;
if (stream2 != 0)
{
stream2.Dispose();
this.cacheStream = (ulong)0L;
}
GC.SuppressFinalize(this);
}
// Token: 0x0400650E RID: 25870
[Token(Token = "0x400650E")]
internal const byte CR = 13;
// Token: 0x0400650F RID: 25871
[Token(Token = "0x400650F")]
internal const byte LF = 10;
// Token: 0x04006510 RID: 25872
[Token(Token = "0x4006510")]
public const int MinBufferSize = 4096;
// Token: 0x0400651E RID: 25886
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400651E")]
protected string dataAsText;
// Token: 0x0400651F RID: 25887
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400651F")]
protected Texture2D texture;
// Token: 0x04006521 RID: 25889
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4006521")]
internal HTTPRequest baseRequest;
// Token: 0x04006522 RID: 25890
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4006522")]
protected Stream Stream;
// Token: 0x04006523 RID: 25891
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4006523")]
protected List<byte[]> streamedFragments;
// Token: 0x04006524 RID: 25892
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4006524")]
protected object SyncRoot;
// Token: 0x04006525 RID: 25893
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4006525")]
protected byte[] fragmentBuffer;
// Token: 0x04006526 RID: 25894
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4006526")]
protected int fragmentBufferDataLength;
// Token: 0x04006527 RID: 25895
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4006527")]
protected Stream cacheStream;
// Token: 0x04006528 RID: 25896
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4006528")]
protected int allFragmentSize;
// Token: 0x04006529 RID: 25897
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4006529")]
private BufferPoolMemoryStream decompressorInputStream;
// Token: 0x0400652A RID: 25898
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x400652A")]
private BufferPoolMemoryStream decompressorOutputStream;
// Token: 0x0400652B RID: 25899
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x400652B")]
private GZipStream decompressorGZipStream;
// Token: 0x0400652C RID: 25900
[Token(Token = "0x400652C")]
private const int MinLengthToDecompress = 256;
// Token: 0x0400652D RID: 25901
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x400652D")]
private AutoResetEvent fragmentWaitEvent;
}
}
@@ -0,0 +1,207 @@
using System;
using System.Threading;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Logger;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP
{
// Token: 0x020018A7 RID: 6311
[Token(Token = "0x20018A7")]
[ExecuteInEditMode]
public sealed class HTTPUpdateDelegator : MonoBehaviour
{
// Token: 0x170017A4 RID: 6052
// (get) Token: 0x06009484 RID: 38020 RVA: 0x001E81B8 File Offset: 0x001E63B8
// (set) Token: 0x06009485 RID: 38021 RVA: 0x001E81CC File Offset: 0x001E63CC
[Token(Token = "0x170017A4")]
public static HTTPUpdateDelegator Instance
{
[Token(Token = "0x6009484")]
[Address(RVA = "0x264EA90", Offset = "0x264D890", VA = "0x18264EA90")]
get;
[Token(Token = "0x6009485")]
[Address(RVA = "0x264ECD0", Offset = "0x264DAD0", VA = "0x18264ECD0")]
private set;
}
// Token: 0x170017A5 RID: 6053
// (get) Token: 0x06009486 RID: 38022 RVA: 0x001E81E0 File Offset: 0x001E63E0
// (set) Token: 0x06009487 RID: 38023 RVA: 0x001E81F4 File Offset: 0x001E63F4
[Token(Token = "0x170017A5")]
public static bool IsCreated
{
[Token(Token = "0x6009486")]
[Address(RVA = "0x264EAF0", Offset = "0x264D8F0", VA = "0x18264EAF0")]
get;
[Token(Token = "0x6009487")]
[Address(RVA = "0x264ED90", Offset = "0x264DB90", VA = "0x18264ED90")]
private set;
}
// Token: 0x170017A6 RID: 6054
// (get) Token: 0x06009488 RID: 38024 RVA: 0x001E8208 File Offset: 0x001E6408
// (set) Token: 0x06009489 RID: 38025 RVA: 0x001E821C File Offset: 0x001E641C
[Token(Token = "0x170017A6")]
public static bool IsThreaded
{
[Token(Token = "0x6009488")]
[Address(RVA = "0x264EBB0", Offset = "0x264D9B0", VA = "0x18264EBB0")]
get;
[Token(Token = "0x6009489")]
[Address(RVA = "0x264EE50", Offset = "0x264DC50", VA = "0x18264EE50")]
set;
}
// Token: 0x170017A7 RID: 6055
// (get) Token: 0x0600948A RID: 38026 RVA: 0x001E8230 File Offset: 0x001E6430
// (set) Token: 0x0600948B RID: 38027 RVA: 0x001E8244 File Offset: 0x001E6444
[Token(Token = "0x170017A7")]
public static bool IsThreadRunning
{
[Token(Token = "0x600948A")]
[Address(RVA = "0x264EB50", Offset = "0x264D950", VA = "0x18264EB50")]
get;
[Token(Token = "0x600948B")]
[Address(RVA = "0x264EDF0", Offset = "0x264DBF0", VA = "0x18264EDF0")]
private set;
}
// Token: 0x170017A8 RID: 6056
// (get) Token: 0x0600948C RID: 38028 RVA: 0x001E8258 File Offset: 0x001E6458
// (set) Token: 0x0600948D RID: 38029 RVA: 0x001E826C File Offset: 0x001E646C
[Token(Token = "0x170017A8")]
public static int ThreadFrequencyInMS
{
[Token(Token = "0x600948C")]
[Address(RVA = "0x264EC10", Offset = "0x264DA10", VA = "0x18264EC10")]
get;
[Token(Token = "0x600948D")]
[Address(RVA = "0x264EEB0", Offset = "0x264DCB0", VA = "0x18264EEB0")]
set;
}
// Token: 0x0600948F RID: 38031 RVA: 0x001E8290 File Offset: 0x001E6490
[Token(Token = "0x600948F")]
[Address(RVA = "0x264DBA0", Offset = "0x264C9A0", VA = "0x18264DBA0")]
public static void CheckInstance()
{
GameObject gameObject = GameObject.Find("HTTP Update Delegator");
int num = 0;
if (gameObject != num)
{
HTTPUpdateDelegator component = gameObject.GetComponent<HTTPUpdateDelegator>();
}
HTTPUpdateDelegator httpupdateDelegator = HTTPUpdateDelegator.<Instance>k__BackingField;
int num2 = 0;
if (httpupdateDelegator == num2)
{
HTTPUpdateDelegator httpupdateDelegator2 = new GameObject("HTTP Update Delegator")
{
hideFlags = HideFlags.DontSave
}.AddComponent<HTTPUpdateDelegator>();
}
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
}
// Token: 0x06009490 RID: 38032 RVA: 0x001E831C File Offset: 0x001E651C
[Token(Token = "0x6009490")]
[Address(RVA = "0x264E3D0", Offset = "0x264D1D0", VA = "0x18264E3D0")]
private void Setup()
{
HTTPCacheService.SetupCacheFolder();
CookieJar.SetupFolder();
CookieJar.Load();
bool flag = ThreadPool.QueueUserWorkItem(new WaitCallback(this.ThreadFunc));
if (!Application.isEditor || Application.isPlaying)
{
global::UnityEngine.Object.DontDestroyOnLoad(base.gameObject);
}
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
}
// Token: 0x06009491 RID: 38033 RVA: 0x001E8384 File Offset: 0x001E6584
[Token(Token = "0x6009491")]
[Address(RVA = "0x264E5D0", Offset = "0x264D3D0", VA = "0x18264E5D0")]
private void ThreadFunc(object obj)
{
int num;
do
{
num = 0;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
HTTPManager.OnUpdate();
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
}
while (num != 0);
}
// Token: 0x06009492 RID: 38034 RVA: 0x001E83B4 File Offset: 0x001E65B4
[Token(Token = "0x6009492")]
[Address(RVA = "0x264E850", Offset = "0x264D650", VA = "0x18264E850")]
private void Update()
{
bool flag;
bool flag2;
if (!flag || !flag2)
{
this.Setup();
HTTPManager.OnUpdate();
}
}
// Token: 0x06009493 RID: 38035 RVA: 0x001E83DC File Offset: 0x001E65DC
[Token(Token = "0x6009493")]
[Address(RVA = "0x264E340", Offset = "0x264D140", VA = "0x18264E340")]
private void OnDisable()
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
this.OnApplicationQuit();
}
// Token: 0x06009494 RID: 38036 RVA: 0x001E8400 File Offset: 0x001E6600
[Token(Token = "0x6009494")]
[Address(RVA = "0x264DF40", Offset = "0x264CD40", VA = "0x18264DF40")]
private void OnApplicationPause(bool isPaused)
{
HTTPUpdateDelegator.OnApplicationForegroundStateChanged(isPaused);
}
// Token: 0x06009495 RID: 38037 RVA: 0x001E8420 File Offset: 0x001E6620
[Token(Token = "0x6009495")]
[Address(RVA = "0x264DFF0", Offset = "0x264CDF0", VA = "0x18264DFF0")]
private void OnApplicationQuit()
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
if (HTTPUpdateDelegator.OnBeforeApplicationQuit() != 0)
{
}
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
string empty = string.Empty;
HTTPManager.OnQuit();
}
// Token: 0x06009496 RID: 38038 RVA: 0x001E847C File Offset: 0x001E667C
[Token(Token = "0x6009496")]
[Address(RVA = "0x74EA40", Offset = "0x74D840", VA = "0x18074EA40")]
public HTTPUpdateDelegator()
{
}
// Token: 0x04006533 RID: 25907
[Token(Token = "0x4006533")]
public static Func<bool> OnBeforeApplicationQuit;
// Token: 0x04006534 RID: 25908
[Token(Token = "0x4006534")]
public static Action<bool> OnApplicationForegroundStateChanged;
// Token: 0x04006535 RID: 25909
[Token(Token = "0x4006535")]
private static bool IsSetupCalled;
}
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018A5 RID: 6309
[Token(Token = "0x20018A5")]
public interface IProtocol
{
// Token: 0x17001792 RID: 6034
// (get) Token: 0x06009444 RID: 37956
[Token(Token = "0x17001792")]
bool IsClosed
{
[Token(Token = "0x6009444")]
[Address(Slot = "0")]
get;
}
// Token: 0x06009445 RID: 37957
[Token(Token = "0x6009445")]
[Address(Slot = "1")]
void HandleEvents();
}
}
+481
View File
@@ -0,0 +1,481 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.JSON
{
// Token: 0x02001F7E RID: 8062
[Token(Token = "0x2001F7E")]
public class Json
{
// Token: 0x0600CC18 RID: 52248 RVA: 0x002EBD48 File Offset: 0x002E9F48
[Token(Token = "0x600CC18")]
[Address(RVA = "0x264F3E0", Offset = "0x264E1E0", VA = "0x18264F3E0")]
public static object Decode(string json)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CC19 RID: 52249 RVA: 0x002EBD64 File Offset: 0x002E9F64
[Token(Token = "0x600CC19")]
[Address(RVA = "0x264F430", Offset = "0x264E230", VA = "0x18264F430")]
public static object Decode(string json, ref bool success)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CC1A RID: 52250 RVA: 0x002EBD80 File Offset: 0x002E9F80
[Token(Token = "0x600CC1A")]
[Address(RVA = "0x264F510", Offset = "0x264E310", VA = "0x18264F510")]
public static string Encode(object json)
{
StringBuilder stringBuilder = new StringBuilder(2000);
if (Json.SerializeValue(json, stringBuilder))
{
}
throw new NullReferenceException();
}
// Token: 0x0600CC1B RID: 52251 RVA: 0x002EBDAC File Offset: 0x002E9FAC
[Token(Token = "0x600CC1B")]
[Address(RVA = "0x264FC40", Offset = "0x264EA40", VA = "0x18264FC40")]
protected static Dictionary<string, object> ParseObject(char[] json, ref int index, ref bool success)
{
Dictionary<string, object> dictionary = new Dictionary();
int num = Json.NextToken(json, ref index);
int num2;
if (num2 != 0)
{
if (num2 != 6)
{
if (num2 == 2)
{
goto IL_49;
}
string text = Json.ParseString(json, ref index, ref success);
if (Json.NextToken(json, ref index) != 5)
{
goto IL_52;
}
object obj = Json.ParseValue(json, ref index, ref success);
dictionary[text] = obj;
}
int num3 = Json.NextToken(json, ref index);
IL_49:
int num4 = Json.NextToken(json, ref index);
}
IL_52:
throw new NullReferenceException();
}
// Token: 0x0600CC1C RID: 52252 RVA: 0x002EBE14 File Offset: 0x002EA014
[Token(Token = "0x600CC1C")]
[Address(RVA = "0x264F9D0", Offset = "0x264E7D0", VA = "0x18264F9D0")]
protected static List<object> ParseArray(char[] json, ref int index, ref bool success)
{
List<object> list = new List();
int num = Json.NextToken(json, ref index);
int num2;
if (num2 != 0)
{
while (num2 == 6)
{
}
if (num2 != 4)
{
object obj = Json.ParseValue(json, ref index, ref success);
list.Add(obj);
}
}
throw new NullReferenceException();
}
// Token: 0x0600CC1D RID: 52253 RVA: 0x002EBE54 File Offset: 0x002EA054
[Token(Token = "0x600CC1D")]
[Address(RVA = "0x2650090", Offset = "0x264EE90", VA = "0x182650090")]
protected static object ParseValue(char[] json, ref int index, ref bool success)
{
int num;
if (num <= 11)
{
Dictionary<string, object> dictionary = new Dictionary();
int num2 = Json.NextToken(json, ref index);
int num3;
if (num3 != 0)
{
while (num3 == 6)
{
}
if (num3 != 2)
{
string text = Json.ParseString(json, ref index, ref success);
if (Json.NextToken(json, ref index) == 5)
{
object obj = Json.ParseValue(json, ref index, ref success);
dictionary[text] = obj;
}
}
}
int num4 = 0;
success.m_value = num4 != 0;
List<object> list = new List();
int num5 = Json.NextToken(json, ref index);
int num6;
if (num6 != 0)
{
while (num6 == 6)
{
}
if (num6 != 4)
{
object obj2 = Json.ParseValue(json, ref index, ref success);
list.Add(obj2);
}
}
string text2 = Json.ParseString(json, ref index, ref success);
Json.EatWhitespace(json, ref index);
int length = json.Length;
int num7;
if (num7 != -1)
{
}
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
}
throw new NullReferenceException();
}
// Token: 0x0600CC1E RID: 52254 RVA: 0x002EBF28 File Offset: 0x002EA128
[Token(Token = "0x600CC1E")]
[Address(RVA = "0x264FD70", Offset = "0x264EB70", VA = "0x18264FD70")]
protected static string ParseString(char[] json, ref int index, ref bool success)
{
int num = 0;
uint num2;
StringBuilder stringBuilder = new StringBuilder((int)num2);
Json.EatWhitespace(json, ref index);
index.m_value = stringBuilder;
index.m_value = stringBuilder;
int length = json.Length;
if (stringBuilder != length)
{
index.m_value = length;
int num3 = json.Length;
num3 -= length;
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
if (flag)
{
string text = char.ConvertFromUtf32(num);
StringBuilder stringBuilder2 = stringBuilder.Append(text);
}
return "";
}
success.m_value = num != 0;
throw new IndexOutOfRangeException();
}
// Token: 0x0600CC1F RID: 52255 RVA: 0x002EBFC0 File Offset: 0x002EA1C0
[Token(Token = "0x600CC1F")]
[Address(RVA = "0x264FAD0", Offset = "0x264E8D0", VA = "0x18264FAD0")]
protected static double ParseNumber(char[] json, ref int index, ref bool success)
{
Json.EatWhitespace(json, ref index);
int length = json.Length;
int num;
if (num != -1)
{
}
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
throw new NullReferenceException();
}
// Token: 0x0600CC20 RID: 52256 RVA: 0x002EBFFC File Offset: 0x002EA1FC
[Token(Token = "0x600CC20")]
[Address(RVA = "0x264F5A0", Offset = "0x264E3A0", VA = "0x18264F5A0")]
protected static int GetLastIndexOfNumber(char[] json, int index)
{
int length = json.Length;
if (index < length)
{
char c = json[index];
int num;
if (num != -1)
{
}
}
return index - 1;
}
// Token: 0x0600CC21 RID: 52257 RVA: 0x002EC02C File Offset: 0x002EA22C
[Token(Token = "0x600CC21")]
[Address(RVA = "0x264F480", Offset = "0x264E280", VA = "0x18264F480")]
protected static void EatWhitespace(char[] json, ref int index)
{
int length = json.Length;
int num;
if (num != -1)
{
}
}
// Token: 0x0600CC22 RID: 52258 RVA: 0x002EC04C File Offset: 0x002EA24C
[Token(Token = "0x600CC22")]
[Address(RVA = "0x264F630", Offset = "0x264E430", VA = "0x18264F630")]
protected static int LookAhead(char[] json, int index)
{
return Json.NextToken(json, index);
}
// Token: 0x0600CC23 RID: 52259 RVA: 0x002EC060 File Offset: 0x002EA260
[Token(Token = "0x600CC23")]
[Address(RVA = "0x264F650", Offset = "0x264E450", VA = "0x18264F650")]
protected static int NextToken(char[] json, ref int index)
{
Json.EatWhitespace(json, ref index);
char c;
index.m_value = (int)c;
uint num;
index.m_value = (int)num;
uint num2;
index.m_value = (int)num2;
uint num3;
index.m_value = (int)num3;
return 0;
}
// Token: 0x0600CC24 RID: 52260 RVA: 0x002EC09C File Offset: 0x002EA29C
[Token(Token = "0x600CC24")]
[Address(RVA = "0x2650A90", Offset = "0x264F890", VA = "0x182650A90")]
protected static bool SerializeValue(object value, StringBuilder builder)
{
for (;;)
{
int num = 0;
if (value == 0 || value == 0 || value != 0)
{
if (value != 0)
{
if (value != 0)
{
StringBuilder stringBuilder = builder.Append("true");
}
if (value != 0)
{
StringBuilder stringBuilder2 = builder.Append("false");
}
}
if (value != 0)
{
}
StringBuilder stringBuilder3 = builder.Append("null");
double num2 = Convert.ToDouble(value);
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
string text = Convert.ToString(num2, invariantCulture);
StringBuilder stringBuilder4 = builder.Append("[");
if (num < stringBuilder4)
{
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder5 = builder.Append(", ");
}
if (!Json.SerializeValue(stringBuilder4, builder))
{
return true;
}
num++;
}
if (value != 0)
{
}
StringBuilder stringBuilder6 = builder.Append("{");
if (stringBuilder6 == 0)
{
break;
}
int hashCode = stringBuilder6.GetHashCode();
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder7 = builder.Append(", ");
}
StringBuilder stringBuilder8 = builder.Append(":");
if (Json.SerializeValue(hashCode, builder))
{
break;
}
}
}
StringBuilder stringBuilder9 = builder.Append("}");
return true;
}
// Token: 0x0600CC25 RID: 52261 RVA: 0x002EC198 File Offset: 0x002EA398
[Token(Token = "0x600CC25")]
[Address(RVA = "0x2650680", Offset = "0x264F480", VA = "0x182650680")]
protected static bool SerializeObject(IDictionary anObject, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("{");
if (stringBuilder != 0)
{
int hashCode = stringBuilder.GetHashCode();
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder2 = builder.Append(", ");
}
StringBuilder stringBuilder3 = builder.Append(":");
if (Json.SerializeValue(hashCode, builder))
{
}
}
StringBuilder stringBuilder4 = builder.Append("}");
throw new NullReferenceException();
}
// Token: 0x0600CC26 RID: 52262 RVA: 0x002EC1FC File Offset: 0x002EA3FC
[Token(Token = "0x600CC26")]
[Address(RVA = "0x26504C0", Offset = "0x264F2C0", VA = "0x1826504C0")]
protected static bool SerializeArray(IList anArray, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("[");
int num = 0;
if (num < stringBuilder)
{
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder2 = builder.Append(", ");
}
if (Json.SerializeValue(stringBuilder, builder))
{
num++;
}
}
StringBuilder stringBuilder3 = builder.Append("]");
throw new NullReferenceException();
}
// Token: 0x0600CC27 RID: 52263 RVA: 0x002EC250 File Offset: 0x002EA450
[Token(Token = "0x600CC27")]
[Address(RVA = "0x26507F0", Offset = "0x264F5F0", VA = "0x1826507F0")]
protected static bool SerializeString(string aString, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("\"");
char[] array = aString.ToCharArray();
int num = 0;
int length = array.Length;
if (num < length)
{
char c = array[num];
string text = Convert.ToString((int)Convert.ToChar((ushort)c), 16);
string text3;
string text2 = "\\u" + text3;
StringBuilder stringBuilder2 = builder.Append(text2);
num++;
StringBuilder stringBuilder3 = builder.Append(c);
num++;
StringBuilder stringBuilder4 = builder.Append("\\t");
num++;
StringBuilder stringBuilder5 = builder.Append("\\r");
num++;
StringBuilder stringBuilder6 = builder.Append("\\n");
num++;
StringBuilder stringBuilder7 = builder.Append("\\f");
num++;
StringBuilder stringBuilder8 = builder.Append("\\b");
num++;
StringBuilder stringBuilder9 = builder.Append("\\\\");
num++;
StringBuilder stringBuilder10 = builder.Append("\\\"");
num++;
}
StringBuilder stringBuilder11 = builder.Append("\"");
return true;
}
// Token: 0x0600CC28 RID: 52264 RVA: 0x002EC350 File Offset: 0x002EA550
[Token(Token = "0x600CC28")]
[Address(RVA = "0x26505D0", Offset = "0x264F3D0", VA = "0x1826505D0")]
protected static bool SerializeNumber(double number, StringBuilder builder)
{
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
string text = Convert.ToString(number, invariantCulture);
StringBuilder stringBuilder = builder.Append(text);
return true;
}
// Token: 0x0600CC29 RID: 52265 RVA: 0x002EC37C File Offset: 0x002EA57C
[Token(Token = "0x600CC29")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public Json()
{
}
// Token: 0x0400821D RID: 33309
[Token(Token = "0x400821D")]
private const int TOKEN_NONE = 0;
// Token: 0x0400821E RID: 33310
[Token(Token = "0x400821E")]
private const int TOKEN_CURLY_OPEN = 1;
// Token: 0x0400821F RID: 33311
[Token(Token = "0x400821F")]
private const int TOKEN_CURLY_CLOSE = 2;
// Token: 0x04008220 RID: 33312
[Token(Token = "0x4008220")]
private const int TOKEN_SQUARED_OPEN = 3;
// Token: 0x04008221 RID: 33313
[Token(Token = "0x4008221")]
private const int TOKEN_SQUARED_CLOSE = 4;
// Token: 0x04008222 RID: 33314
[Token(Token = "0x4008222")]
private const int TOKEN_COLON = 5;
// Token: 0x04008223 RID: 33315
[Token(Token = "0x4008223")]
private const int TOKEN_COMMA = 6;
// Token: 0x04008224 RID: 33316
[Token(Token = "0x4008224")]
private const int TOKEN_STRING = 7;
// Token: 0x04008225 RID: 33317
[Token(Token = "0x4008225")]
private const int TOKEN_NUMBER = 8;
// Token: 0x04008226 RID: 33318
[Token(Token = "0x4008226")]
private const int TOKEN_TRUE = 9;
// Token: 0x04008227 RID: 33319
[Token(Token = "0x4008227")]
private const int TOKEN_FALSE = 10;
// Token: 0x04008228 RID: 33320
[Token(Token = "0x4008228")]
private const int TOKEN_NULL = 11;
// Token: 0x04008229 RID: 33321
[Token(Token = "0x4008229")]
private const int BUILDER_CAPACITY = 2000;
}
}
@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200188E RID: 6286
[Token(Token = "0x200188E")]
internal sealed class KeepAliveHeader
{
// Token: 0x1700173F RID: 5951
// (get) Token: 0x06009318 RID: 37656 RVA: 0x001E215C File Offset: 0x001E035C
// (set) Token: 0x06009319 RID: 37657 RVA: 0x001E2170 File Offset: 0x001E0370
[Token(Token = "0x1700173F")]
public TimeSpan TimeOut
{
[Token(Token = "0x6009318")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x6009319")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
private set;
}
// Token: 0x17001740 RID: 5952
// (get) Token: 0x0600931A RID: 37658 RVA: 0x001E2184 File Offset: 0x001E0384
// (set) Token: 0x0600931B RID: 37659 RVA: 0x001E2198 File Offset: 0x001E0398
[Token(Token = "0x17001740")]
public int MaxRequests
{
[Token(Token = "0x600931A")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
get;
[Token(Token = "0x600931B")]
[Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")]
private set;
}
// Token: 0x0600931C RID: 37660 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600931C")]
[Address(RVA = "0x2650F50", Offset = "0x264FD50", VA = "0x182650F50")]
public void Parse(List<string> headerValues)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600931D RID: 37661 RVA: 0x001E21AC File Offset: 0x001E03AC
[Token(Token = "0x600931D")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public KeepAliveHeader()
{
}
}
}
@@ -0,0 +1,211 @@
using System;
using System.Text;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Logger
{
// Token: 0x02001F7B RID: 8059
[Token(Token = "0x2001F7B")]
public class DefaultLogger : ILogger
{
// Token: 0x17002067 RID: 8295
// (get) Token: 0x0600CBF4 RID: 52212 RVA: 0x002EBA10 File Offset: 0x002E9C10
// (set) Token: 0x0600CBF5 RID: 52213 RVA: 0x002EBA24 File Offset: 0x002E9C24
[Token(Token = "0x17002067")]
public Loglevels Level
{
[Token(Token = "0x600CBF4")]
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
get;
[Token(Token = "0x600CBF5")]
[Address(RVA = "0x495D50", Offset = "0x494B50", VA = "0x180495D50", Slot = "5")]
set;
}
// Token: 0x17002068 RID: 8296
// (get) Token: 0x0600CBF6 RID: 52214 RVA: 0x002EBA38 File Offset: 0x002E9C38
// (set) Token: 0x0600CBF7 RID: 52215 RVA: 0x002EBA4C File Offset: 0x002E9C4C
[Token(Token = "0x17002068")]
public string FormatVerbose
{
[Token(Token = "0x600CBF6")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "6")]
get;
[Token(Token = "0x600CBF7")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210", Slot = "7")]
set;
}
// Token: 0x17002069 RID: 8297
// (get) Token: 0x0600CBF8 RID: 52216 RVA: 0x002EBA60 File Offset: 0x002E9C60
// (set) Token: 0x0600CBF9 RID: 52217 RVA: 0x002EBA74 File Offset: 0x002E9C74
[Token(Token = "0x17002069")]
public string FormatInfo
{
[Token(Token = "0x600CBF8")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "8")]
get;
[Token(Token = "0x600CBF9")]
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90", Slot = "9")]
set;
}
// Token: 0x1700206A RID: 8298
// (get) Token: 0x0600CBFA RID: 52218 RVA: 0x002EBA88 File Offset: 0x002E9C88
// (set) Token: 0x0600CBFB RID: 52219 RVA: 0x002EBA9C File Offset: 0x002E9C9C
[Token(Token = "0x1700206A")]
public string FormatWarn
{
[Token(Token = "0x600CBFA")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "10")]
get;
[Token(Token = "0x600CBFB")]
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60", Slot = "11")]
set;
}
// Token: 0x1700206B RID: 8299
// (get) Token: 0x0600CBFC RID: 52220 RVA: 0x002EBAB0 File Offset: 0x002E9CB0
// (set) Token: 0x0600CBFD RID: 52221 RVA: 0x002EBAC4 File Offset: 0x002E9CC4
[Token(Token = "0x1700206B")]
public string FormatErr
{
[Token(Token = "0x600CBFC")]
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180", Slot = "12")]
get;
[Token(Token = "0x600CBFD")]
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0", Slot = "13")]
set;
}
// Token: 0x1700206C RID: 8300
// (get) Token: 0x0600CBFE RID: 52222 RVA: 0x002EBAD8 File Offset: 0x002E9CD8
// (set) Token: 0x0600CBFF RID: 52223 RVA: 0x002EBAEC File Offset: 0x002E9CEC
[Token(Token = "0x1700206C")]
public string FormatEx
{
[Token(Token = "0x600CBFE")]
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0", Slot = "14")]
get;
[Token(Token = "0x600CBFF")]
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0", Slot = "15")]
set;
}
// Token: 0x0600CC00 RID: 52224 RVA: 0x002EBB00 File Offset: 0x002E9D00
[Token(Token = "0x600CC00")]
[Address(RVA = "0x264C8E0", Offset = "0x264B6E0", VA = "0x18264C8E0")]
public DefaultLogger()
{
this.FormatVerbose = "[{0}] D [{1}]: {2}";
this.FormatInfo = "[{0}] I [{1}]: {2}";
this.FormatWarn = "[{0}] W [{1}]: {2}";
this.FormatErr = "[{0}] Err [{1}]: {2}";
this.FormatEx = "[{0}] Ex [{1}]: {2} - Message: {3} StackTrace: {4}";
bool flag = !Debug.isDebugBuild;
this.Level = (flag ? Loglevels.Information : Loglevels.All);
}
// Token: 0x0600CC01 RID: 52225 RVA: 0x002EBB5C File Offset: 0x002E9D5C
[Token(Token = "0x600CC01")]
[Address(RVA = "0x264C740", Offset = "0x264B540", VA = "0x18264C740", Slot = "16")]
public void Verbose(string division, string verb)
{
string text = this.<FormatVerbose>k__BackingField;
string formattedTime = this.GetFormattedTime();
Debug.Log(string.Format(text, formattedTime, division, verb));
}
// Token: 0x0600CC02 RID: 52226 RVA: 0x002EBB88 File Offset: 0x002E9D88
[Token(Token = "0x600CC02")]
[Address(RVA = "0x264C670", Offset = "0x264B470", VA = "0x18264C670", Slot = "17")]
public void Information(string division, string info)
{
string text = this.<FormatInfo>k__BackingField;
string formattedTime = this.GetFormattedTime();
Debug.Log(string.Format(text, formattedTime, division, info));
}
// Token: 0x0600CC03 RID: 52227 RVA: 0x002EBBB4 File Offset: 0x002E9DB4
[Token(Token = "0x600CC03")]
[Address(RVA = "0x264C810", Offset = "0x264B610", VA = "0x18264C810", Slot = "18")]
public void Warning(string division, string warn)
{
string text = this.<FormatWarn>k__BackingField;
string formattedTime = this.GetFormattedTime();
Debug.LogWarning(string.Format(text, formattedTime, division, warn));
}
// Token: 0x0600CC04 RID: 52228 RVA: 0x002EBBE0 File Offset: 0x002E9DE0
[Token(Token = "0x600CC04")]
[Address(RVA = "0x264C140", Offset = "0x264AF40", VA = "0x18264C140", Slot = "19")]
public void Error(string division, string err)
{
string text = this.<FormatErr>k__BackingField;
string formattedTime = this.GetFormattedTime();
Debug.LogError(string.Format(text, formattedTime, division, err));
}
// Token: 0x0600CC05 RID: 52229 RVA: 0x002EBC0C File Offset: 0x002E9E0C
[Token(Token = "0x600CC05")]
[Address(RVA = "0x264C210", Offset = "0x264B010", VA = "0x18264C210", Slot = "20")]
public void Exception(string division, string msg, Exception ex)
{
if (ex != 0)
{
StringBuilder stringBuilder = new StringBuilder();
if (ex != 0)
{
Exception innerException = ex.InnerException;
string text;
StringBuilder stringBuilder2 = stringBuilder.AppendFormat("{0}: {1} {2}", text, text, innerException);
if (ex._innerException != 0)
{
StringBuilder stringBuilder3 = stringBuilder.AppendLine();
}
}
int hashCode = stringBuilder.GetHashCode();
}
string text2 = this.<FormatEx>k__BackingField;
object[] array = new object[5];
DateTime now = DateTime.Now;
string text3;
if (text3 != 0)
{
}
array[0] = text3;
if (division != 0)
{
}
array[1] = division;
if (text3 != 0)
{
}
array[2] = text3;
if ("null" != 0)
{
}
array[3] = "null";
if (ex != 0)
{
Exception innerException2 = ex.InnerException;
}
if ("null" != 0)
{
}
array[4] = "null";
Debug.LogError(string.Format(text2, array));
}
// Token: 0x0600CC06 RID: 52230 RVA: 0x002EBD30 File Offset: 0x002E9F30
[Token(Token = "0x600CC06")]
[Address(RVA = "0x264C5F0", Offset = "0x264B3F0", VA = "0x18264C5F0")]
private string GetFormattedTime()
{
DateTime now = DateTime.Now;
string text;
return text;
}
}
}
+119
View File
@@ -0,0 +1,119 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Logger
{
// Token: 0x02001F7D RID: 8061
[Token(Token = "0x2001F7D")]
public interface ILogger
{
// Token: 0x1700206D RID: 8301
// (get) Token: 0x0600CC07 RID: 52231
// (set) Token: 0x0600CC08 RID: 52232
[Token(Token = "0x1700206D")]
Loglevels Level
{
[Token(Token = "0x600CC07")]
[Address(Slot = "0")]
get;
[Token(Token = "0x600CC08")]
[Address(Slot = "1")]
set;
}
// Token: 0x1700206E RID: 8302
// (get) Token: 0x0600CC09 RID: 52233
// (set) Token: 0x0600CC0A RID: 52234
[Token(Token = "0x1700206E")]
string FormatVerbose
{
[Token(Token = "0x600CC09")]
[Address(Slot = "2")]
get;
[Token(Token = "0x600CC0A")]
[Address(Slot = "3")]
set;
}
// Token: 0x1700206F RID: 8303
// (get) Token: 0x0600CC0B RID: 52235
// (set) Token: 0x0600CC0C RID: 52236
[Token(Token = "0x1700206F")]
string FormatInfo
{
[Token(Token = "0x600CC0B")]
[Address(Slot = "4")]
get;
[Token(Token = "0x600CC0C")]
[Address(Slot = "5")]
set;
}
// Token: 0x17002070 RID: 8304
// (get) Token: 0x0600CC0D RID: 52237
// (set) Token: 0x0600CC0E RID: 52238
[Token(Token = "0x17002070")]
string FormatWarn
{
[Token(Token = "0x600CC0D")]
[Address(Slot = "6")]
get;
[Token(Token = "0x600CC0E")]
[Address(Slot = "7")]
set;
}
// Token: 0x17002071 RID: 8305
// (get) Token: 0x0600CC0F RID: 52239
// (set) Token: 0x0600CC10 RID: 52240
[Token(Token = "0x17002071")]
string FormatErr
{
[Token(Token = "0x600CC0F")]
[Address(Slot = "8")]
get;
[Token(Token = "0x600CC10")]
[Address(Slot = "9")]
set;
}
// Token: 0x17002072 RID: 8306
// (get) Token: 0x0600CC11 RID: 52241
// (set) Token: 0x0600CC12 RID: 52242
[Token(Token = "0x17002072")]
string FormatEx
{
[Token(Token = "0x600CC11")]
[Address(Slot = "10")]
get;
[Token(Token = "0x600CC12")]
[Address(Slot = "11")]
set;
}
// Token: 0x0600CC13 RID: 52243
[Token(Token = "0x600CC13")]
[Address(Slot = "12")]
void Verbose(string division, string verb);
// Token: 0x0600CC14 RID: 52244
[Token(Token = "0x600CC14")]
[Address(Slot = "13")]
void Information(string division, string info);
// Token: 0x0600CC15 RID: 52245
[Token(Token = "0x600CC15")]
[Address(Slot = "14")]
void Warning(string division, string warn);
// Token: 0x0600CC16 RID: 52246
[Token(Token = "0x600CC16")]
[Address(Slot = "15")]
void Error(string division, string err);
// Token: 0x0600CC17 RID: 52247
[Token(Token = "0x600CC17")]
[Address(Slot = "16")]
void Exception(string division, string msg, Exception ex);
}
}
@@ -0,0 +1,29 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Logger
{
// Token: 0x02001F7C RID: 8060
[Token(Token = "0x2001F7C")]
public enum Loglevels : byte
{
// Token: 0x04008217 RID: 33303
[Token(Token = "0x4008217")]
All,
// Token: 0x04008218 RID: 33304
[Token(Token = "0x4008218")]
Information,
// Token: 0x04008219 RID: 33305
[Token(Token = "0x4008219")]
Warning,
// Token: 0x0400821A RID: 33306
[Token(Token = "0x400821A")]
Error,
// Token: 0x0400821B RID: 33307
[Token(Token = "0x400821B")]
Exception,
// Token: 0x0400821C RID: 33308
[Token(Token = "0x400821C")]
None
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018A1 RID: 6305
[Token(Token = "0x20018A1")]
public sealed class OnBeforeHeaderSendDelegate : MulticastDelegate
{
// Token: 0x060093A5 RID: 37797 RVA: 0x001E532C File Offset: 0x001E352C
[Token(Token = "0x60093A5")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnBeforeHeaderSendDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060093A6 RID: 37798 RVA: 0x001E5348 File Offset: 0x001E3548
[Token(Token = "0x60093A6")]
[Address(RVA = "0x4D7E10", Offset = "0x4D6C10", VA = "0x1804D7E10", Slot = "13")]
public void Invoke(HTTPRequest req)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060093A7 RID: 37799 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60093A7")]
[Address(RVA = "0x457150", Offset = "0x455F50", VA = "0x180457150", Slot = "14")]
public IAsyncResult BeginInvoke(HTTPRequest req, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060093A8 RID: 37800 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60093A8")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189F RID: 6303
[Token(Token = "0x200189F")]
public sealed class OnBeforeRedirectionDelegate : MulticastDelegate
{
// Token: 0x0600939D RID: 37789 RVA: 0x001E50DC File Offset: 0x001E32DC
[Token(Token = "0x600939D")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnBeforeRedirectionDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600939E RID: 37790 RVA: 0x001E50F8 File Offset: 0x001E32F8
[Token(Token = "0x600939E")]
[Address(RVA = "0xF21290", Offset = "0xF20090", VA = "0x180F21290", Slot = "13")]
public bool Invoke(HTTPRequest originalRequest, HTTPResponse response, Uri redirectUri)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600939F RID: 37791 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600939F")]
[Address(RVA = "0xDF4DC0", Offset = "0xDF3BC0", VA = "0x180DF4DC0", Slot = "14")]
public IAsyncResult BeginInvoke(HTTPRequest originalRequest, HTTPResponse response, Uri redirectUri, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060093A0 RID: 37792 RVA: 0x001E51FC File Offset: 0x001E33FC
[Token(Token = "0x60093A0")]
[Address(RVA = "0x451890", Offset = "0x450690", VA = "0x180451890", Slot = "15")]
public bool EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189D RID: 6301
[Token(Token = "0x200189D")]
public sealed class OnDownloadProgressDelegate : MulticastDelegate
{
// Token: 0x06009395 RID: 37781 RVA: 0x001E4FD4 File Offset: 0x001E31D4
[Token(Token = "0x6009395")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnDownloadProgressDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009396 RID: 37782 RVA: 0x001E4FF0 File Offset: 0x001E31F0
[Token(Token = "0x6009396")]
[Address(RVA = "0x2651A40", Offset = "0x2650840", VA = "0x182651A40", Slot = "13")]
public void Invoke(HTTPRequest originalRequest, long downloaded, long downloadLength)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06009397 RID: 37783 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009397")]
[Address(RVA = "0x26519A0", Offset = "0x26507A0", VA = "0x1826519A0", Slot = "14")]
public IAsyncResult BeginInvoke(HTTPRequest originalRequest, long downloaded, long downloadLength, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009398 RID: 37784 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009398")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018A0 RID: 6304
[Token(Token = "0x20018A0")]
public sealed class OnHeaderEnumerationDelegate : MulticastDelegate
{
// Token: 0x060093A1 RID: 37793 RVA: 0x001E5210 File Offset: 0x001E3410
[Token(Token = "0x60093A1")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnHeaderEnumerationDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060093A2 RID: 37794 RVA: 0x001E522C File Offset: 0x001E342C
[Token(Token = "0x60093A2")]
[Address(RVA = "0x48FFD0", Offset = "0x48EDD0", VA = "0x18048FFD0", Slot = "13")]
public void Invoke(string header, List<string> values)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060093A3 RID: 37795 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60093A3")]
[Address(RVA = "0x457420", Offset = "0x456220", VA = "0x180457420", Slot = "14")]
public IAsyncResult BeginInvoke(string header, List<string> values, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060093A4 RID: 37796 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60093A4")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189C RID: 6300
[Token(Token = "0x200189C")]
public sealed class OnRequestFinishedDelegate : MulticastDelegate
{
// Token: 0x06009391 RID: 37777 RVA: 0x001E4EB8 File Offset: 0x001E30B8
[Token(Token = "0x6009391")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnRequestFinishedDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009392 RID: 37778 RVA: 0x001E4ED4 File Offset: 0x001E30D4
[Token(Token = "0x6009392")]
[Address(RVA = "0x48FFD0", Offset = "0x48EDD0", VA = "0x18048FFD0", Slot = "13")]
public void Invoke(HTTPRequest originalRequest, HTTPResponse response)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06009393 RID: 37779 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009393")]
[Address(RVA = "0x457420", Offset = "0x456220", VA = "0x180457420", Slot = "14")]
public IAsyncResult BeginInvoke(HTTPRequest originalRequest, HTTPResponse response, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009394 RID: 37780 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009394")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200189E RID: 6302
[Token(Token = "0x200189E")]
public sealed class OnUploadProgressDelegate : MulticastDelegate
{
// Token: 0x06009399 RID: 37785 RVA: 0x001E5058 File Offset: 0x001E3258
[Token(Token = "0x6009399")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public OnUploadProgressDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600939A RID: 37786 RVA: 0x001E5074 File Offset: 0x001E3274
[Token(Token = "0x600939A")]
[Address(RVA = "0x2651A40", Offset = "0x2650840", VA = "0x182651A40", Slot = "13")]
public void Invoke(HTTPRequest originalRequest, long uploaded, long uploadLength)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600939B RID: 37787 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600939B")]
[Address(RVA = "0x2651D40", Offset = "0x2650B40", VA = "0x182651D40", Slot = "14")]
public IAsyncResult BeginInvoke(HTTPRequest originalRequest, long uploaded, long uploadLength, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600939C RID: 37788 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600939C")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,98 @@
using System;
using System.IO;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.FileSystem
{
// Token: 0x02001F78 RID: 8056
[Token(Token = "0x2001F78")]
public sealed class DefaultIOService : IIOService
{
// Token: 0x0600CBE7 RID: 52199 RVA: 0x002EB8AC File Offset: 0x002E9AAC
[Token(Token = "0x600CBE7")]
[Address(RVA = "0x264B9E0", Offset = "0x264A7E0", VA = "0x18264B9E0", Slot = "9")]
public Stream CreateFileStream(string path, FileStreamModes mode)
{
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
}
FileStream fileStream = new FileStream(path, FileMode.Append);
throw new NullReferenceException();
}
// Token: 0x0600CBE8 RID: 52200 RVA: 0x002EB8F0 File Offset: 0x002E9AF0
[Token(Token = "0x600CBE8")]
[Address(RVA = "0x264BC00", Offset = "0x264AA00", VA = "0x18264BC00", Slot = "4")]
public void DirectoryCreate(string path)
{
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
string text = string.Format("DirectoryCreate path: '{0}'", path);
}
DirectoryInfo directoryInfo = Directory.CreateDirectory(path);
}
// Token: 0x0600CBE9 RID: 52201 RVA: 0x002EB92C File Offset: 0x002E9B2C
[Token(Token = "0x600CBE9")]
[Address(RVA = "0x264BCF0", Offset = "0x264AAF0", VA = "0x18264BCF0", Slot = "5")]
public bool DirectoryExists(string path)
{
bool flag = Directory.Exists(path);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
}
return flag;
}
// Token: 0x0600CBEA RID: 52202 RVA: 0x002EB95C File Offset: 0x002E9B5C
[Token(Token = "0x600CBEA")]
[Address(RVA = "0x264C020", Offset = "0x264AE20", VA = "0x18264C020", Slot = "6")]
public string[] GetFiles(string path)
{
string[] files = Directory.GetFiles(path);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
int length = files.Length;
}
return files;
}
// Token: 0x0600CBEB RID: 52203 RVA: 0x002EB994 File Offset: 0x002E9B94
[Token(Token = "0x600CBEB")]
[Address(RVA = "0x264BE10", Offset = "0x264AC10", VA = "0x18264BE10", Slot = "7")]
public void FileDelete(string path)
{
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
string text = string.Format("FileDelete path: '{0}'", path);
}
File.Delete(path);
}
// Token: 0x0600CBEC RID: 52204 RVA: 0x002EB9CC File Offset: 0x002E9BCC
[Token(Token = "0x600CBEC")]
[Address(RVA = "0x264BF00", Offset = "0x264AD00", VA = "0x18264BF00", Slot = "8")]
public bool FileExists(string path)
{
bool flag = File.Exists(path);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
}
return flag;
}
// Token: 0x0600CBED RID: 52205 RVA: 0x002EB9FC File Offset: 0x002E9BFC
[Token(Token = "0x600CBED")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public DefaultIOService()
{
}
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.FileSystem
{
// Token: 0x02001F79 RID: 8057
[Token(Token = "0x2001F79")]
public enum FileStreamModes
{
// Token: 0x0400820D RID: 33293
[Token(Token = "0x400820D")]
Create,
// Token: 0x0400820E RID: 33294
[Token(Token = "0x400820E")]
Open,
// Token: 0x0400820F RID: 33295
[Token(Token = "0x400820F")]
Append
}
}
@@ -0,0 +1,41 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.FileSystem
{
// Token: 0x02001F7A RID: 8058
[Token(Token = "0x2001F7A")]
public interface IIOService
{
// Token: 0x0600CBEE RID: 52206
[Token(Token = "0x600CBEE")]
[Address(Slot = "0")]
void DirectoryCreate(string path);
// Token: 0x0600CBEF RID: 52207
[Token(Token = "0x600CBEF")]
[Address(Slot = "1")]
bool DirectoryExists(string path);
// Token: 0x0600CBF0 RID: 52208
[Token(Token = "0x600CBF0")]
[Address(Slot = "2")]
string[] GetFiles(string path);
// Token: 0x0600CBF1 RID: 52209
[Token(Token = "0x600CBF1")]
[Address(Slot = "3")]
void FileDelete(string path);
// Token: 0x0600CBF2 RID: 52210
[Token(Token = "0x600CBF2")]
[Address(Slot = "4")]
bool FileExists(string path);
// Token: 0x0600CBF3 RID: 52211
[Token(Token = "0x600CBF3")]
[Address(Slot = "5")]
Stream CreateFileStream(string path, FileStreamModes mode);
}
}
@@ -0,0 +1,781 @@
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.TcpClient.General
{
// Token: 0x02001F74 RID: 8052
[Token(Token = "0x2001F74")]
public class TcpClient : IDisposable
{
// Token: 0x0600CBB7 RID: 52151 RVA: 0x002EADE0 File Offset: 0x002E8FE0
[Token(Token = "0x600CBB7")]
[Address(RVA = "0x26558B0", Offset = "0x26546B0", VA = "0x1826558B0")]
private void Init(AddressFamily family)
{
Socket socket = this.client;
this.active = false;
if (socket != 0)
{
socket.Close();
this.client = (ulong)0L;
}
Socket socket2;
this.client = socket2;
}
// Token: 0x0600CBB8 RID: 52152 RVA: 0x002EAE18 File Offset: 0x002E9018
[Token(Token = "0x600CBB8")]
[Address(RVA = "0x2655CE0", Offset = "0x2654AE0", VA = "0x182655CE0")]
public TcpClient()
{
this.Init(AddressFamily.InterNetwork);
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
}
// Token: 0x0600CBB9 RID: 52153 RVA: 0x002EAE3C File Offset: 0x002E903C
[Token(Token = "0x600CBB9")]
[Address(RVA = "0x2655C20", Offset = "0x2654A20", VA = "0x182655C20")]
public TcpClient(AddressFamily family)
{
/*
An exception occurred when decompiling this method (0600CBB9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.PlatformSupport.TcpClient.General.TcpClient::.ctor(System.Net.Sockets.AddressFamily)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:ArgumentException(var_2_28, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Family must be InterNetwork or InterNetworkV6"), ldstr:string("family")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CBBA RID: 52154 RVA: 0x002EAE74 File Offset: 0x002E9074
[Token(Token = "0x600CBBA")]
[Address(RVA = "0x2655D60", Offset = "0x2654B60", VA = "0x182655D60")]
public TcpClient(IPEndPoint localEP)
{
string text = localEP.ToString();
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
}
// Token: 0x0600CBBB RID: 52155 RVA: 0x002EAE9C File Offset: 0x002E909C
[Token(Token = "0x600CBBB")]
[Address(RVA = "0x2655E00", Offset = "0x2654C00", VA = "0x182655E00")]
public TcpClient(string hostname, int port)
{
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
this.Connect(hostname, port);
}
// Token: 0x1700205B RID: 8283
// (get) Token: 0x0600CBBC RID: 52156 RVA: 0x002EAEC0 File Offset: 0x002E90C0
// (set) Token: 0x0600CBBD RID: 52157 RVA: 0x002EAED4 File Offset: 0x002E90D4
[Token(Token = "0x1700205B")]
protected bool Active
{
[Token(Token = "0x600CBBC")]
[Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0")]
get
{
return this.active;
}
[Token(Token = "0x600CBBD")]
[Address(RVA = "0x43DE90", Offset = "0x43CC90", VA = "0x18043DE90")]
set
{
this.active = value;
}
}
// Token: 0x1700205C RID: 8284
// (get) Token: 0x0600CBBE RID: 52158 RVA: 0x002EAEE8 File Offset: 0x002E90E8
// (set) Token: 0x0600CBBF RID: 52159 RVA: 0x002EAEFC File Offset: 0x002E90FC
[Token(Token = "0x1700205C")]
public Socket Client
{
[Token(Token = "0x600CBBE")]
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
get
{
return this.client;
}
[Token(Token = "0x600CBBF")]
[Address(RVA = "0x2655BA0", Offset = "0x26549A0", VA = "0x182655BA0")]
set
{
this.client = value;
this.stream = (ulong)0L;
}
}
// Token: 0x1700205D RID: 8285
// (get) Token: 0x0600CBC0 RID: 52160 RVA: 0x002EAF1C File Offset: 0x002E911C
[Token(Token = "0x1700205D")]
public int Available
{
[Token(Token = "0x600CBC0")]
[Address(RVA = "0x2655E90", Offset = "0x2654C90", VA = "0x182655E90")]
get
{
return this.client.Available;
}
}
// Token: 0x1700205E RID: 8286
// (get) Token: 0x0600CBC1 RID: 52161 RVA: 0x002EAF3C File Offset: 0x002E913C
[Token(Token = "0x1700205E")]
public bool Connected
{
[Token(Token = "0x600CBC1")]
[Address(RVA = "0x2655EB0", Offset = "0x2654CB0", VA = "0x182655EB0")]
get
{
return this.client.is_connected;
}
}
// Token: 0x0600CBC2 RID: 52162 RVA: 0x002EAF5C File Offset: 0x002E915C
[Token(Token = "0x600CBC2")]
[Address(RVA = "0x2655940", Offset = "0x2654740", VA = "0x182655940")]
public bool IsConnected()
{
Socket socket = this.client;
int num = 0;
if (socket.Poll(1, (SelectMode)num))
{
int available = this.client.Available;
}
throw new NullReferenceException();
}
// Token: 0x1700205F RID: 8287
// (get) Token: 0x0600CBC3 RID: 52163 RVA: 0x002EAF98 File Offset: 0x002E9198
// (set) Token: 0x0600CBC4 RID: 52164 RVA: 0x002EAFB8 File Offset: 0x002E91B8
[Token(Token = "0x1700205F")]
public bool ExclusiveAddressUse
{
[Token(Token = "0x600CBC3")]
[Address(RVA = "0x2655ED0", Offset = "0x2654CD0", VA = "0x182655ED0")]
get
{
return this.client.ExclusiveAddressUse;
}
[Token(Token = "0x600CBC4")]
[Address(RVA = "0x2656270", Offset = "0x2655070", VA = "0x182656270")]
set
{
this.client.ExclusiveAddressUse = value;
}
}
// Token: 0x0600CBC5 RID: 52165 RVA: 0x002EAFD8 File Offset: 0x002E91D8
[Token(Token = "0x600CBC5")]
[Address(RVA = "0x2655BA0", Offset = "0x26549A0", VA = "0x182655BA0")]
internal void SetTcpClient(Socket s)
{
this.client = s;
this.stream = (ulong)0L;
}
// Token: 0x17002060 RID: 8288
// (get) Token: 0x0600CBC6 RID: 52166 RVA: 0x002EAFF8 File Offset: 0x002E91F8
// (set) Token: 0x0600CBC7 RID: 52167 RVA: 0x002EB038 File Offset: 0x002E9238
[Token(Token = "0x17002060")]
public LingerOption LingerState
{
[Token(Token = "0x600CBC6")]
[Address(RVA = "0x2655EF0", Offset = "0x2654CF0", VA = "0x182655EF0")]
get
{
while (this.values == (TcpClient.Properties)1)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)128));
if (socketOption == 0)
{
}
if (socketOption != 0)
{
break;
}
}
return this.linger_state;
}
[Token(Token = "0x600CBC7")]
[Address(RVA = "0x2656290", Offset = "0x2655090", VA = "0x182656290")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)128), value);
return;
}
this.linger_state = value;
}
}
// Token: 0x17002061 RID: 8289
// (get) Token: 0x0600CBC8 RID: 52168 RVA: 0x002EB078 File Offset: 0x002E9278
// (set) Token: 0x0600CBC9 RID: 52169 RVA: 0x002EB0A4 File Offset: 0x002E92A4
[Token(Token = "0x17002061")]
public bool NoDelay
{
[Token(Token = "0x600CBC8")]
[Address(RVA = "0x2655FA0", Offset = "0x2654DA0", VA = "0x182655FA0")]
get
{
if (this.values == (TcpClient.Properties)2)
{
object socketOption = this.client.GetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.Debug);
}
return this.no_delay;
}
[Token(Token = "0x600CBC9")]
[Address(RVA = "0x26562E0", Offset = "0x26550E0", VA = "0x1826562E0")]
set
{
if (this.client.is_connected)
{
return;
}
this.no_delay = value;
}
}
// Token: 0x17002062 RID: 8290
// (get) Token: 0x0600CBCA RID: 52170 RVA: 0x002EB0D0 File Offset: 0x002E92D0
// (set) Token: 0x0600CBCB RID: 52171 RVA: 0x002EB108 File Offset: 0x002E9308
[Token(Token = "0x17002062")]
public int ReceiveBufferSize
{
[Token(Token = "0x600CBCA")]
[Address(RVA = "0x2656030", Offset = "0x2654E30", VA = "0x182656030")]
get
{
if (this.values == (TcpClient.Properties)4)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4098));
}
return this.recv_buffer_size;
}
[Token(Token = "0x600CBCB")]
[Address(RVA = "0x2656330", Offset = "0x2655130", VA = "0x182656330")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4098), value);
return;
}
this.recv_buffer_size = value;
}
}
// Token: 0x17002063 RID: 8291
// (get) Token: 0x0600CBCC RID: 52172 RVA: 0x002EB148 File Offset: 0x002E9348
// (set) Token: 0x0600CBCD RID: 52173 RVA: 0x002EB180 File Offset: 0x002E9380
[Token(Token = "0x17002063")]
public int ReceiveTimeout
{
[Token(Token = "0x600CBCC")]
[Address(RVA = "0x26560C0", Offset = "0x2654EC0", VA = "0x1826560C0")]
get
{
if (this.values == (TcpClient.Properties)8)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4102));
}
return this.recv_timeout;
}
[Token(Token = "0x600CBCD")]
[Address(RVA = "0x2656380", Offset = "0x2655180", VA = "0x182656380")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4102), value);
return;
}
this.recv_timeout = value;
}
}
// Token: 0x17002064 RID: 8292
// (get) Token: 0x0600CBCE RID: 52174 RVA: 0x002EB1C0 File Offset: 0x002E93C0
// (set) Token: 0x0600CBCF RID: 52175 RVA: 0x002EB1F8 File Offset: 0x002E93F8
[Token(Token = "0x17002064")]
public int SendBufferSize
{
[Token(Token = "0x600CBCE")]
[Address(RVA = "0x2656150", Offset = "0x2654F50", VA = "0x182656150")]
get
{
if (this.values == (TcpClient.Properties)16)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4097));
}
return this.send_buffer_size;
}
[Token(Token = "0x600CBCF")]
[Address(RVA = "0x26563D0", Offset = "0x26551D0", VA = "0x1826563D0")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4097), value);
return;
}
this.send_buffer_size = value;
}
}
// Token: 0x17002065 RID: 8293
// (get) Token: 0x0600CBD0 RID: 52176 RVA: 0x002EB238 File Offset: 0x002E9438
// (set) Token: 0x0600CBD1 RID: 52177 RVA: 0x002EB270 File Offset: 0x002E9470
[Token(Token = "0x17002065")]
public int SendTimeout
{
[Token(Token = "0x600CBD0")]
[Address(RVA = "0x26561E0", Offset = "0x2654FE0", VA = "0x1826561E0")]
get
{
if (this.values == (TcpClient.Properties)32)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4101));
}
return this.send_timeout;
}
[Token(Token = "0x600CBD1")]
[Address(RVA = "0x2656420", Offset = "0x2655220", VA = "0x182656420")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4101), value);
return;
}
this.send_timeout = value;
}
}
// Token: 0x17002066 RID: 8294
// (get) Token: 0x0600CBD2 RID: 52178 RVA: 0x002EB2B0 File Offset: 0x002E94B0
// (set) Token: 0x0600CBD3 RID: 52179 RVA: 0x002EB2C4 File Offset: 0x002E94C4
[Token(Token = "0x17002066")]
public TimeSpan ConnectTimeout
{
[Token(Token = "0x600CBD2")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get;
[Token(Token = "0x600CBD3")]
[Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")]
set;
}
// Token: 0x0600CBD4 RID: 52180 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CBD4")]
[Address(RVA = "0x2654E00", Offset = "0x2653C00", VA = "0x182654E00")]
public void Close()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CBD5 RID: 52181 RVA: 0x002EB2D8 File Offset: 0x002E94D8
[Token(Token = "0x600CBD5")]
[Address(RVA = "0x2654E40", Offset = "0x2653C40", VA = "0x182654E40")]
public void Connect(IPEndPoint remoteEP)
{
int num;
do
{
num = 0;
TimeSpan timeSpan = this.<ConnectTimeout>k__BackingField;
TimeSpan zero = TimeSpan.Zero;
if (!(timeSpan > zero))
{
this.client.Connect(remoteEP);
this.active = true;
}
int num2;
ManualResetEvent manualResetEvent = new ManualResetEvent(num2 != 0);
num2 = 0;
ManualResetEvent mre = manualResetEvent;
Socket socket = this.client;
AsyncCallback asyncCallback = delegate(IAsyncResult res)
{
bool flag2 = mre.Set();
};
int num3 = 0;
IAsyncResult asyncResult = socket.BeginConnect(remoteEP, asyncCallback, num3);
ManualResetEvent mre2 = mre;
TimeSpan timeSpan2 = this.<ConnectTimeout>k__BackingField;
bool flag = mre2.WaitOne(timeSpan2);
this.active = flag;
if (!flag)
{
goto IL_B6;
}
this.client.EndConnect(asyncResult);
this.CheckDisposed();
}
while (num != 0);
return;
IL_B6:
throw new NullReferenceException();
}
// Token: 0x0600CBD6 RID: 52182 RVA: 0x002EB3C4 File Offset: 0x002E95C4
[Token(Token = "0x600CBD6")]
[Address(RVA = "0x2655080", Offset = "0x2653E80", VA = "0x182655080")]
public void Connect(IPAddress address, int port)
{
IPEndPoint ipendPoint = new IPEndPoint(address, port);
this.Connect(ipendPoint);
}
// Token: 0x0600CBD7 RID: 52183 RVA: 0x002EB3E0 File Offset: 0x002E95E0
[Token(Token = "0x600CBD7")]
[Address(RVA = "0x26559E0", Offset = "0x26547E0", VA = "0x1826559E0")]
private void SetOptions()
{
TcpClient.Properties properties = this.values;
int num = 0;
this.values = (TcpClient.Properties)num;
if (properties != (TcpClient.Properties)1)
{
Socket socket = this.client;
if ((socket.is_connected ? 1 : 0) != num)
{
LingerOption lingerOption = this.linger_state;
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)128), lingerOption);
}
this.values = (TcpClient.Properties)((ulong)1L);
}
if (properties != (TcpClient.Properties)2 && (this.client.is_connected ? 1 : 0) != num)
{
bool flag = (this.no_delay ? 1 : 0) != num;
}
if (properties != (TcpClient.Properties)4)
{
Socket socket2 = this.client;
if ((socket2.is_connected ? 1 : 0) != num)
{
int num2 = this.recv_buffer_size;
socket2.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4098), num2);
}
}
if (properties != (TcpClient.Properties)8)
{
Socket socket3 = this.client;
if ((socket3.is_connected ? 1 : 0) != num)
{
int num3 = this.recv_timeout;
socket3.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4102), num3);
}
}
if (properties != (TcpClient.Properties)16)
{
Socket socket4 = this.client;
if ((socket4.is_connected ? 1 : 0) != num)
{
int num4 = this.send_buffer_size;
socket4.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4097), num4);
}
}
if (properties != (TcpClient.Properties)32)
{
Socket socket5 = this.client;
int num5 = this.send_timeout;
if ((socket5.is_connected ? 1 : 0) == num)
{
return;
}
socket5.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4101), num5);
}
}
// Token: 0x0600CBD8 RID: 52184 RVA: 0x002EB530 File Offset: 0x002E9730
[Token(Token = "0x600CBD8")]
[Address(RVA = "0x2655100", Offset = "0x2653F00", VA = "0x182655100")]
public void Connect(string hostname, int port)
{
/*
An exception occurred when decompiling this method (0600CBD8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.PlatformSupport.TcpClient.General.TcpClient::Connect(System.String,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A5:
stloc:TimeoutException(var_14_AF, newobj:TimeoutException(TimeoutException::.ctor, ldstr:string("DNS resolve timed out!")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CBD9 RID: 52185 RVA: 0x002EB5F0 File Offset: 0x002E97F0
[Token(Token = "0x600CBD9")]
[Address(RVA = "0x26553A0", Offset = "0x26541A0", VA = "0x1826553A0")]
public void Connect(IPAddress[] ipAddresses, int port)
{
/*
An exception occurred when decompiling this method (0600CBD9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.PlatformSupport.TcpClient.General.TcpClient::Connect(System.Net.IPAddress[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_D8:
stloc:ArgumentNullException(var_15_E2, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("ipAddresses")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CBDA RID: 52186 RVA: 0x002EB6E0 File Offset: 0x002E98E0
[Token(Token = "0x600CBDA")]
[Address(RVA = "0x2655740", Offset = "0x2654540", VA = "0x182655740")]
public void EndConnect(IAsyncResult asyncResult)
{
this.client.EndConnect(asyncResult);
}
// Token: 0x0600CBDB RID: 52187 RVA: 0x002EB700 File Offset: 0x002E9900
[Token(Token = "0x600CBDB")]
[Address(RVA = "0x2654D10", Offset = "0x2653B10", VA = "0x182654D10")]
public IAsyncResult BeginConnect(IPAddress address, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CBDC RID: 52188 RVA: 0x002EB71C File Offset: 0x002E991C
[Token(Token = "0x600CBDC")]
[Address(RVA = "0x2654CE0", Offset = "0x2653AE0", VA = "0x182654CE0")]
public IAsyncResult BeginConnect(IPAddress[] addresses, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CBDD RID: 52189 RVA: 0x002EB738 File Offset: 0x002E9938
[Token(Token = "0x600CBDD")]
[Address(RVA = "0x2654D40", Offset = "0x2653B40", VA = "0x182654D40")]
public IAsyncResult BeginConnect(string host, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CBDE RID: 52190 RVA: 0x002EB754 File Offset: 0x002E9954
[Token(Token = "0x600CBDE")]
[Address(RVA = "0x2655BB0", Offset = "0x26549B0", VA = "0x182655BB0", Slot = "4")]
void IDisposable.Dispose()
{
this.System.IDisposable.Dispose();
GC.SuppressFinalize(this);
}
// Token: 0x0600CBDF RID: 52191 RVA: 0x002EB770 File Offset: 0x002E9970
[Token(Token = "0x600CBDF")]
[Address(RVA = "0x26556E0", Offset = "0x26544E0", VA = "0x1826556E0", Slot = "5")]
protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
this.disposed = true;
if (disposing)
{
NetworkStream networkStream = this.stream;
this.stream = (ulong)0L;
if (networkStream == 0)
{
Socket socket = this.client;
if (socket != 0)
{
socket.Close();
this.client = (ulong)0L;
return;
}
}
else
{
int writeTimeout = networkStream.WriteTimeout;
this.active = false;
}
}
}
}
// Token: 0x0600CBE0 RID: 52192 RVA: 0x002EB7D0 File Offset: 0x002E99D0
[Token(Token = "0x600CBE0")]
[Address(RVA = "0x2655760", Offset = "0x2654560", VA = "0x182655760", Slot = "1")]
protected override void Finalize()
{
int num;
do
{
num = 0;
this.System.IDisposable.Dispose();
base..ctor();
}
while (num != 0);
}
// Token: 0x0600CBE1 RID: 52193 RVA: 0x002EB7F0 File Offset: 0x002E99F0
[Token(Token = "0x600CBE1")]
[Address(RVA = "0x26557E0", Offset = "0x26545E0", VA = "0x1826557E0")]
public Stream GetStream()
{
/*
An exception occurred when decompiling this method (0600CBE1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.PlatformSupport.TcpClient.General.TcpClient::GetStream()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1F:
call:void(TcpClient::CheckDisposed, ldloc:TcpClient(this))
brtrue(IL_00, cne:bool(ldloc:int32(var_0_01), ldc.i4:int32(0)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660
*/;
}
// Token: 0x0600CBE2 RID: 52194 RVA: 0x002EB828 File Offset: 0x002E9A28
[Token(Token = "0x600CBE2")]
[Address(RVA = "0x2654D70", Offset = "0x2653B70", VA = "0x182654D70")]
private void CheckDisposed()
{
}
// Token: 0x040081F7 RID: 33271
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40081F7")]
private NetworkStream stream;
// Token: 0x040081F8 RID: 33272
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40081F8")]
private bool active;
// Token: 0x040081F9 RID: 33273
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40081F9")]
private Socket client;
// Token: 0x040081FA RID: 33274
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40081FA")]
private bool disposed;
// Token: 0x040081FB RID: 33275
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40081FB")]
private TcpClient.Properties values;
// Token: 0x040081FC RID: 33276
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40081FC")]
private int recv_timeout;
// Token: 0x040081FD RID: 33277
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40081FD")]
private int send_timeout;
// Token: 0x040081FE RID: 33278
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40081FE")]
private int recv_buffer_size;
// Token: 0x040081FF RID: 33279
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40081FF")]
private int send_buffer_size;
// Token: 0x04008200 RID: 33280
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008200")]
private LingerOption linger_state;
// Token: 0x04008201 RID: 33281
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008201")]
private bool no_delay;
// Token: 0x02001F75 RID: 8053
[Token(Token = "0x2001F75")]
private enum Properties : uint
{
// Token: 0x04008204 RID: 33284
[Token(Token = "0x4008204")]
LingerState = 1U,
// Token: 0x04008205 RID: 33285
[Token(Token = "0x4008205")]
NoDelay,
// Token: 0x04008206 RID: 33286
[Token(Token = "0x4008206")]
ReceiveBufferSize = 4U,
// Token: 0x04008207 RID: 33287
[Token(Token = "0x4008207")]
ReceiveTimeout = 8U,
// Token: 0x04008208 RID: 33288
[Token(Token = "0x4008208")]
SendBufferSize = 16U,
// Token: 0x04008209 RID: 33289
[Token(Token = "0x4008209")]
SendTimeout = 32U
}
}
}
+59
View File
@@ -0,0 +1,59 @@
using System;
using System.IO;
using BestHTTP.Authentication;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001898 RID: 6296
[Token(Token = "0x2001898")]
public abstract class Proxy
{
// Token: 0x17001756 RID: 5974
// (get) Token: 0x06009371 RID: 37745 RVA: 0x001E4550 File Offset: 0x001E2750
// (set) Token: 0x06009372 RID: 37746 RVA: 0x001E4564 File Offset: 0x001E2764
[Token(Token = "0x17001756")]
public Uri Address
{
[Token(Token = "0x6009371")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
get;
[Token(Token = "0x6009372")]
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
set;
}
// Token: 0x17001757 RID: 5975
// (get) Token: 0x06009373 RID: 37747 RVA: 0x001E4578 File Offset: 0x001E2778
// (set) Token: 0x06009374 RID: 37748 RVA: 0x001E458C File Offset: 0x001E278C
[Token(Token = "0x17001757")]
public Credentials Credentials
{
[Token(Token = "0x6009373")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get;
[Token(Token = "0x6009374")]
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
set;
}
// Token: 0x06009375 RID: 37749 RVA: 0x001E45A0 File Offset: 0x001E27A0
[Token(Token = "0x6009375")]
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
internal Proxy(Uri address, Credentials credentials)
{
this.Address = address;
this.Credentials = credentials;
}
// Token: 0x06009376 RID: 37750
[Token(Token = "0x6009376")]
[Address(Slot = "4")]
internal abstract void Connect(Stream stream, HTTPRequest request);
// Token: 0x06009377 RID: 37751
[Token(Token = "0x6009377")]
[Address(Slot = "5")]
internal abstract string GetRequestPath(Uri uri);
}
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200188F RID: 6287
[Token(Token = "0x200188F")]
internal enum RetryCauses
{
// Token: 0x0400647D RID: 25725
[Token(Token = "0x400647D")]
None,
// Token: 0x0400647E RID: 25726
[Token(Token = "0x400647E")]
Reconnect,
// Token: 0x0400647F RID: 25727
[Token(Token = "0x400647F")]
Authenticate,
// Token: 0x04006480 RID: 25728
[Token(Token = "0x4006480")]
ProxyAuthenticate
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018AB RID: 6315
[Token(Token = "0x20018AB")]
internal enum SOCKSAddressTypes
{
// Token: 0x04006549 RID: 25929
[Token(Token = "0x4006549")]
IPV4,
// Token: 0x0400654A RID: 25930
[Token(Token = "0x400654A")]
DomainName = 3,
// Token: 0x0400654B RID: 25931
[Token(Token = "0x400654B")]
IPv6
}
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018A9 RID: 6313
[Token(Token = "0x20018A9")]
internal enum SOCKSMethods : byte
{
// Token: 0x0400653A RID: 25914
[Token(Token = "0x400653A")]
NoAuthenticationRequired,
// Token: 0x0400653B RID: 25915
[Token(Token = "0x400653B")]
GSSAPI,
// Token: 0x0400653C RID: 25916
[Token(Token = "0x400653C")]
UsernameAndPassword,
// Token: 0x0400653D RID: 25917
[Token(Token = "0x400653D")]
NoAcceptableMethods = 255
}
}
+171
View File
@@ -0,0 +1,171 @@
using System;
using System.IO;
using System.Net;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018AC RID: 6316
[Token(Token = "0x20018AC")]
public sealed class SOCKSProxy : Proxy
{
// Token: 0x06009497 RID: 38039 RVA: 0x001E8490 File Offset: 0x001E6690
[Token(Token = "0x6009497")]
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
public SOCKSProxy(Uri address, Credentials credentials)
{
this.<Address>k__BackingField = address;
this.<Credentials>k__BackingField = credentials;
}
// Token: 0x06009498 RID: 38040 RVA: 0x001E84B4 File Offset: 0x001E66B4
[Token(Token = "0x6009498")]
[Address(RVA = "0x2654AF0", Offset = "0x26538F0", VA = "0x182654AF0", Slot = "5")]
internal override string GetRequestPath(Uri uri)
{
return uri.GetRequestPathAndQueryURL();
}
// Token: 0x06009499 RID: 38041 RVA: 0x001E84C8 File Offset: 0x001E66C8
[Token(Token = "0x6009499")]
[Address(RVA = "0x26539D0", Offset = "0x26527D0", VA = "0x1826539D0", Slot = "4")]
internal override void Connect(Stream stream, HTTPRequest request)
{
byte[] array;
for (;;)
{
array = new byte[1024];
array[0] = (byte)((ulong)5L);
if (HTTPManager.Logger == 0)
{
int num = 0;
ILogger logger = HTTPManager.Logger;
string text = num.ToString();
string text3;
string text2 = string.Format("Sending method negotiation - count: {0} buffer: {1} ", text, text3);
}
int num2 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num3 = 0;
ILogger logger2 = HTTPManager.Logger;
string text4 = num3.ToString();
string text6;
string text5 = string.Format("Negotiation response - count: {0} buffer: {1} ", text4, text6);
}
int length = array.Length;
byte b = array[0];
byte b2 = array[0];
ILogger logger3 = HTTPManager.Logger;
if (typeof(ILogger).TypeHandle == 0)
{
goto IL_186;
}
if (typeof(ILogger).TypeHandle != 0 && (typeof(ILogger).TypeHandle == (ulong)1L || typeof(ILogger).TypeHandle != (ulong)255L))
{
Credentials <Credentials>k__BackingField = this.<Credentials>k__BackingField;
string <UserName>k__BackingField = <Credentials>k__BackingField.<UserName>k__BackingField;
string <Password>k__BackingField = <Credentials>k__BackingField.<Password>k__BackingField;
ILogger logger4 = HTTPManager.Logger;
array[0] = (byte)((ulong)1L);
Credentials <Credentials>k__BackingField2 = this.<Credentials>k__BackingField;
int num4 = 0;
Credentials <Credentials>k__BackingField3 = this.<Credentials>k__BackingField;
if (HTTPManager.Logger == 0)
{
int num5 = 0;
ILogger logger5 = HTTPManager.Logger;
string text7 = num5.ToString();
string text9;
string text8 = string.Format("Sending username and password sub-negotiation - count: {0} buffer: {1} ", text7, text9);
}
int num6 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num7 = 0;
ILogger logger6 = HTTPManager.Logger;
string text10 = num7.ToString();
string text12;
string text11 = string.Format("Username and password sub-negotiation response - count: {0} buffer: {1} ", text10, text12);
}
if ("{il2cpp array field local5->}" == num4)
{
break;
}
}
}
ILogger logger7 = HTTPManager.Logger;
IL_186:
array[0] = (byte)((ulong)5L);
Uri currentUri = request.CurrentUri;
if (!currentUri.IsHostIsAnIPAddress())
{
currentUri.m_Syntax = (ulong)3L;
string host = request.CurrentUri.Host;
}
string host2 = request.CurrentUri.Host;
bool flag = Extensions.IsIpV4AddressValid(host2);
int length2 = IPAddress.Parse(request.CurrentUri.Host).GetAddressBytes().Length;
int port = request.CurrentUri.Port;
int port2 = request.CurrentUri.Port;
if (HTTPManager.Logger == 0)
{
int num8 = 0;
ILogger logger8 = HTTPManager.Logger;
string text13 = num8.ToString();
string text15;
string text14 = string.Format("Sending connect request - count: {0} buffer: {1} ", text13, text15);
}
int num9 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num10 = 0;
ILogger logger9 = HTTPManager.Logger;
string text16 = num10.ToString();
string text18;
string text17 = string.Format("Connect response - count: {0} buffer: {1} ", text16, text18);
}
int length3 = array.Length;
byte b3 = array[0];
ILogger logger10 = HTTPManager.Logger;
}
// Token: 0x0600949A RID: 38042 RVA: 0x001E8768 File Offset: 0x001E6968
[Token(Token = "0x600949A")]
[Address(RVA = "0x2654BA0", Offset = "0x26539A0", VA = "0x182654BA0")]
private void WriteString(byte[] buffer, ref int count, string str)
{
Encoding utf = Encoding.UTF8;
count.m_value = utf;
}
// Token: 0x0600949B RID: 38043 RVA: 0x001E878C File Offset: 0x001E698C
[Token(Token = "0x600949B")]
[Address(RVA = "0x2654B50", Offset = "0x2653950", VA = "0x182654B50")]
private void WriteBytes(byte[] buffer, ref int count, byte[] bytes)
{
int length = bytes.Length;
int length2 = bytes.Length;
}
// Token: 0x0600949C RID: 38044 RVA: 0x001E87B0 File Offset: 0x001E69B0
[Token(Token = "0x600949C")]
[Address(RVA = "0x26538E0", Offset = "0x26526E0", VA = "0x1826538E0")]
private string BufferToHexStr(byte[] buffer, int count)
{
int num = 0;
if (count > 0)
{
StringBuilder stringBuilder2;
string text;
StringBuilder stringBuilder = stringBuilder2.AppendFormat("0x{0} ", text);
num++;
}
throw new NullReferenceException();
}
}
}
+38
View File
@@ -0,0 +1,38 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020018AA RID: 6314
[Token(Token = "0x20018AA")]
internal enum SOCKSReplies : byte
{
// Token: 0x0400653F RID: 25919
[Token(Token = "0x400653F")]
Succeeded,
// Token: 0x04006540 RID: 25920
[Token(Token = "0x4006540")]
GeneralSOCKSServerFailure,
// Token: 0x04006541 RID: 25921
[Token(Token = "0x4006541")]
ConnectionNotAllowedByRuleset,
// Token: 0x04006542 RID: 25922
[Token(Token = "0x4006542")]
NetworkUnreachable,
// Token: 0x04006543 RID: 25923
[Token(Token = "0x4006543")]
HostUnreachable,
// Token: 0x04006544 RID: 25924
[Token(Token = "0x4006544")]
ConnectionRefused,
// Token: 0x04006545 RID: 25925
[Token(Token = "0x4006545")]
TTLExpired,
// Token: 0x04006546 RID: 25926
[Token(Token = "0x4006546")]
CommandNotSupported,
// Token: 0x04006547 RID: 25927
[Token(Token = "0x4006547")]
AddressTypeNotSupported
}
}

Some files were not shown because too many files have changed in this diff Show More