This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020020A8 RID: 8360
[Token(Token = "0x20020A8")]
public enum AuthenticationTypes
{
// Token: 0x040085CB RID: 34251
[Token(Token = "0x40085CB")]
Unknown,
// Token: 0x040085CC RID: 34252
[Token(Token = "0x40085CC")]
Basic,
// Token: 0x040085CD RID: 34253
[Token(Token = "0x40085CD")]
Digest
}
}
@@ -0,0 +1,74 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020020A9 RID: 8361
[Token(Token = "0x20020A9")]
public sealed class Credentials
{
// Token: 0x17002182 RID: 8578
// (get) Token: 0x0600D266 RID: 53862 RVA: 0x00301698 File Offset: 0x002FF898
// (set) Token: 0x0600D267 RID: 53863 RVA: 0x003016AC File Offset: 0x002FF8AC
[Token(Token = "0x17002182")]
public AuthenticationTypes Type
{
[Token(Token = "0x600D266")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
get;
[Token(Token = "0x600D267")]
[Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")]
private set;
}
// Token: 0x17002183 RID: 8579
// (get) Token: 0x0600D268 RID: 53864 RVA: 0x003016C0 File Offset: 0x002FF8C0
// (set) Token: 0x0600D269 RID: 53865 RVA: 0x003016D4 File Offset: 0x002FF8D4
[Token(Token = "0x17002183")]
public string UserName
{
[Token(Token = "0x600D268")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600D269")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x17002184 RID: 8580
// (get) Token: 0x0600D26A RID: 53866 RVA: 0x003016E8 File Offset: 0x002FF8E8
// (set) Token: 0x0600D26B RID: 53867 RVA: 0x003016FC File Offset: 0x002FF8FC
[Token(Token = "0x17002184")]
public string Password
{
[Token(Token = "0x600D26A")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600D26B")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
private set;
}
// Token: 0x0600D26C RID: 53868 RVA: 0x00301710 File Offset: 0x002FF910
[Token(Token = "0x600D26C")]
[Address(RVA = "0x169C830", Offset = "0x169B830", VA = "0x18169C830")]
public Credentials(string userName, string password)
{
this.UserName = userName;
this.Password = password;
this.Type = (AuthenticationTypes)((ulong)0L);
}
// Token: 0x0600D26D RID: 53869 RVA: 0x0030173C File Offset: 0x002FF93C
[Token(Token = "0x600D26D")]
[Address(RVA = "0xA83C00", Offset = "0xA82C00", VA = "0x180A83C00")]
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: 0x020020AA RID: 8362
[Token(Token = "0x20020AA")]
public sealed class Digest
{
// Token: 0x17002185 RID: 8581
// (get) Token: 0x0600D26E RID: 53870 RVA: 0x0030176C File Offset: 0x002FF96C
// (set) Token: 0x0600D26F RID: 53871 RVA: 0x00301780 File Offset: 0x002FF980
[Token(Token = "0x17002185")]
public Uri Uri
{
[Token(Token = "0x600D26E")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D26F")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x17002186 RID: 8582
// (get) Token: 0x0600D270 RID: 53872 RVA: 0x00301794 File Offset: 0x002FF994
// (set) Token: 0x0600D271 RID: 53873 RVA: 0x003017A8 File Offset: 0x002FF9A8
[Token(Token = "0x17002186")]
public AuthenticationTypes Type
{
[Token(Token = "0x600D270")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x600D271")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
private set;
}
// Token: 0x17002187 RID: 8583
// (get) Token: 0x0600D272 RID: 53874 RVA: 0x003017BC File Offset: 0x002FF9BC
// (set) Token: 0x0600D273 RID: 53875 RVA: 0x003017D0 File Offset: 0x002FF9D0
[Token(Token = "0x17002187")]
public string Realm
{
[Token(Token = "0x600D272")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600D273")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
private set;
}
// Token: 0x17002188 RID: 8584
// (get) Token: 0x0600D274 RID: 53876 RVA: 0x003017E4 File Offset: 0x002FF9E4
// (set) Token: 0x0600D275 RID: 53877 RVA: 0x003017F8 File Offset: 0x002FF9F8
[Token(Token = "0x17002188")]
public bool Stale
{
[Token(Token = "0x600D274")]
[Address(RVA = "0x51F260", Offset = "0x51E260", VA = "0x18051F260")]
get;
[Token(Token = "0x600D275")]
[Address(RVA = "0x51F2B0", Offset = "0x51E2B0", VA = "0x18051F2B0")]
private set;
}
// Token: 0x17002189 RID: 8585
// (get) Token: 0x0600D276 RID: 53878 RVA: 0x0030180C File Offset: 0x002FFA0C
// (set) Token: 0x0600D277 RID: 53879 RVA: 0x00301820 File Offset: 0x002FFA20
[Token(Token = "0x17002189")]
private string Nonce
{
[Token(Token = "0x600D276")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x600D277")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
set;
}
// Token: 0x1700218A RID: 8586
// (get) Token: 0x0600D278 RID: 53880 RVA: 0x00301834 File Offset: 0x002FFA34
// (set) Token: 0x0600D279 RID: 53881 RVA: 0x00301848 File Offset: 0x002FFA48
[Token(Token = "0x1700218A")]
private string Opaque
{
[Token(Token = "0x600D278")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get;
[Token(Token = "0x600D279")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
set;
}
// Token: 0x1700218B RID: 8587
// (get) Token: 0x0600D27A RID: 53882 RVA: 0x0030185C File Offset: 0x002FFA5C
// (set) Token: 0x0600D27B RID: 53883 RVA: 0x00301870 File Offset: 0x002FFA70
[Token(Token = "0x1700218B")]
private string Algorithm
{
[Token(Token = "0x600D27A")]
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")]
get;
[Token(Token = "0x600D27B")]
[Address(RVA = "0x417960", Offset = "0x416960", VA = "0x180417960")]
set;
}
// Token: 0x1700218C RID: 8588
// (get) Token: 0x0600D27C RID: 53884 RVA: 0x00301884 File Offset: 0x002FFA84
// (set) Token: 0x0600D27D RID: 53885 RVA: 0x00301898 File Offset: 0x002FFA98
[Token(Token = "0x1700218C")]
public List<string> ProtectedUris
{
[Token(Token = "0x600D27C")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get;
[Token(Token = "0x600D27D")]
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0")]
private set;
}
// Token: 0x1700218D RID: 8589
// (get) Token: 0x0600D27E RID: 53886 RVA: 0x003018AC File Offset: 0x002FFAAC
// (set) Token: 0x0600D27F RID: 53887 RVA: 0x003018C0 File Offset: 0x002FFAC0
[Token(Token = "0x1700218D")]
private string QualityOfProtections
{
[Token(Token = "0x600D27E")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get;
[Token(Token = "0x600D27F")]
[Address(RVA = "0x55BCE0", Offset = "0x55ACE0", VA = "0x18055BCE0")]
set;
}
// Token: 0x1700218E RID: 8590
// (get) Token: 0x0600D280 RID: 53888 RVA: 0x003018D4 File Offset: 0x002FFAD4
// (set) Token: 0x0600D281 RID: 53889 RVA: 0x003018E8 File Offset: 0x002FFAE8
[Token(Token = "0x1700218E")]
private int NonceCount
{
[Token(Token = "0x600D280")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get;
[Token(Token = "0x600D281")]
[Address(RVA = "0x56DEE0", Offset = "0x56CEE0", VA = "0x18056DEE0")]
set;
}
// Token: 0x1700218F RID: 8591
// (get) Token: 0x0600D282 RID: 53890 RVA: 0x003018FC File Offset: 0x002FFAFC
// (set) Token: 0x0600D283 RID: 53891 RVA: 0x00301910 File Offset: 0x002FFB10
[Token(Token = "0x1700218F")]
private string HA1Sess
{
[Token(Token = "0x600D282")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get;
[Token(Token = "0x600D283")]
[Address(RVA = "0x417A20", Offset = "0x416A20", VA = "0x180417A20")]
set;
}
// Token: 0x0600D284 RID: 53892 RVA: 0x00301924 File Offset: 0x002FFB24
[Token(Token = "0x600D284")]
[Address(RVA = "0x169E7E0", Offset = "0x169D7E0", VA = "0x18169E7E0")]
internal Digest(Uri uri)
{
this.Uri = uri;
this.Algorithm = "md5";
}
// Token: 0x0600D285 RID: 53893 RVA: 0x0030194C File Offset: 0x002FFB4C
[Token(Token = "0x600D285")]
[Address(RVA = "0x169E360", Offset = "0x169D360", VA = "0x18169E360")]
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: 0x0600D286 RID: 53894 RVA: 0x00301ABC File Offset: 0x002FFCBC
[Token(Token = "0x600D286")]
[Address(RVA = "0x169D440", Offset = "0x169C440", VA = "0x18169D440")]
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: 0x0600D287 RID: 53895 RVA: 0x003020B0 File Offset: 0x003002B0
[Token(Token = "0x600D287")]
[Address(RVA = "0x169E250", Offset = "0x169D250", VA = "0x18169E250")]
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,129 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020020AB RID: 8363
[Token(Token = "0x20020AB")]
public static class DigestStore
{
// Token: 0x0600D288 RID: 53896 RVA: 0x00302108 File Offset: 0x00300308
[Token(Token = "0x600D288")]
[Address(RVA = "0x169CF30", Offset = "0x169BF30", VA = "0x18169CF30")]
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: 0x0600D289 RID: 53897 RVA: 0x003021A4 File Offset: 0x003003A4
[Token(Token = "0x600D289")]
[Address(RVA = "0x169CD00", Offset = "0x169BD00", VA = "0x18169CD00")]
public static Digest GetOrCreate(Uri uri)
{
for (;;)
{
int num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
if (!digests.TryGetValue(host, num2))
{
break;
}
Monitor.Exit(locker);
if (num == 0)
{
goto Block_1;
}
}
Dictionary<string, Digest> digests2 = DigestStore.Digests;
string host2 = uri.Host;
Digest digest;
digest.<Uri>k__BackingField = uri;
digest.<Algorithm>k__BackingField = "md5";
throw new NullReferenceException();
Block_1:
throw new NullReferenceException();
}
// Token: 0x0600D28A RID: 53898 RVA: 0x0030221C File Offset: 0x0030041C
[Token(Token = "0x600D28A")]
[Address(RVA = "0x169D1A0", Offset = "0x169C1A0", VA = "0x18169D1A0")]
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: 0x0600D28B RID: 53899 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D28B")]
[Address(RVA = "0x169CB20", Offset = "0x169BB20", VA = "0x18169CB20")]
public static string FindBest(List<string> authHeaders)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D28C RID: 53900 RVA: 0x00302260 File Offset: 0x00300460
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D28C")]
[Address(RVA = "0x169D2E0", Offset = "0x169C2E0", VA = "0x18169D2E0")]
static DigestStore()
{
string[] array = new string[2];
if ("digest" != 0)
{
}
array[0] = "digest";
if ("basic" != 0)
{
}
array[1] = "basic";
DigestStore.SupportedAlgorithms = array;
}
// Token: 0x040085DC RID: 34268
[Token(Token = "0x40085DC")]
private static Dictionary<string, Digest> Digests = new Dictionary();
// Token: 0x040085DD RID: 34269
[Token(Token = "0x40085DD")]
private static object Locker = new object();
// Token: 0x040085DE RID: 34270
[Token(Token = "0x40085DE")]
private static string[] SupportedAlgorithms;
}
}
@@ -0,0 +1,644 @@
using System;
using System.Collections.Generic;
using System.IO;
using BestHTTP.Extensions;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020020A1 RID: 8353
[Token(Token = "0x20020A1")]
public class HTTPCacheFileInfo : IComparable<HTTPCacheFileInfo>
{
// Token: 0x1700216F RID: 8559
// (get) Token: 0x0600D20C RID: 53772 RVA: 0x002FFB84 File Offset: 0x002FDD84
// (set) Token: 0x0600D20D RID: 53773 RVA: 0x002FFB98 File Offset: 0x002FDD98
[Token(Token = "0x1700216F")]
internal Uri Uri
{
[Token(Token = "0x600D20C")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D20D")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x17002170 RID: 8560
// (get) Token: 0x0600D20E RID: 53774 RVA: 0x002FFBAC File Offset: 0x002FDDAC
// (set) Token: 0x0600D20F RID: 53775 RVA: 0x002FFBC0 File Offset: 0x002FDDC0
[Token(Token = "0x17002170")]
internal DateTime LastAccess
{
[Token(Token = "0x600D20E")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600D20F")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set;
}
// Token: 0x17002171 RID: 8561
// (get) Token: 0x0600D210 RID: 53776 RVA: 0x002FFBD4 File Offset: 0x002FDDD4
// (set) Token: 0x0600D211 RID: 53777 RVA: 0x002FFBE8 File Offset: 0x002FDDE8
[Token(Token = "0x17002171")]
public int BodyLength
{
[Token(Token = "0x600D210")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
get;
[Token(Token = "0x600D211")]
[Address(RVA = "0x62ADB0", Offset = "0x629DB0", VA = "0x18062ADB0")]
set;
}
// Token: 0x17002172 RID: 8562
// (get) Token: 0x0600D212 RID: 53778 RVA: 0x002FFBFC File Offset: 0x002FDDFC
// (set) Token: 0x0600D213 RID: 53779 RVA: 0x002FFC10 File Offset: 0x002FDE10
[Token(Token = "0x17002172")]
private string ETag
{
[Token(Token = "0x600D212")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x600D213")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
set;
}
// Token: 0x17002173 RID: 8563
// (get) Token: 0x0600D214 RID: 53780 RVA: 0x002FFC24 File Offset: 0x002FDE24
// (set) Token: 0x0600D215 RID: 53781 RVA: 0x002FFC38 File Offset: 0x002FDE38
[Token(Token = "0x17002173")]
private string LastModified
{
[Token(Token = "0x600D214")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x600D215")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
set;
}
// Token: 0x17002174 RID: 8564
// (get) Token: 0x0600D216 RID: 53782 RVA: 0x002FFC4C File Offset: 0x002FDE4C
// (set) Token: 0x0600D217 RID: 53783 RVA: 0x002FFC60 File Offset: 0x002FDE60
[Token(Token = "0x17002174")]
private DateTime Expires
{
[Token(Token = "0x600D216")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get;
[Token(Token = "0x600D217")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
set;
}
// Token: 0x17002175 RID: 8565
// (get) Token: 0x0600D218 RID: 53784 RVA: 0x002FFC74 File Offset: 0x002FDE74
// (set) Token: 0x0600D219 RID: 53785 RVA: 0x002FFC88 File Offset: 0x002FDE88
[Token(Token = "0x17002175")]
private long Age
{
[Token(Token = "0x600D218")]
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")]
get;
[Token(Token = "0x600D219")]
[Address(RVA = "0x417960", Offset = "0x416960", VA = "0x180417960")]
set;
}
// Token: 0x17002176 RID: 8566
// (get) Token: 0x0600D21A RID: 53786 RVA: 0x002FFC9C File Offset: 0x002FDE9C
// (set) Token: 0x0600D21B RID: 53787 RVA: 0x002FFCB0 File Offset: 0x002FDEB0
[Token(Token = "0x17002176")]
private long MaxAge
{
[Token(Token = "0x600D21A")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get;
[Token(Token = "0x600D21B")]
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0")]
set;
}
// Token: 0x17002177 RID: 8567
// (get) Token: 0x0600D21C RID: 53788 RVA: 0x002FFCC4 File Offset: 0x002FDEC4
// (set) Token: 0x0600D21D RID: 53789 RVA: 0x002FFCD8 File Offset: 0x002FDED8
[Token(Token = "0x17002177")]
private DateTime Date
{
[Token(Token = "0x600D21C")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get;
[Token(Token = "0x600D21D")]
[Address(RVA = "0x55BCE0", Offset = "0x55ACE0", VA = "0x18055BCE0")]
set;
}
// Token: 0x17002178 RID: 8568
// (get) Token: 0x0600D21E RID: 53790 RVA: 0x002FFCEC File Offset: 0x002FDEEC
// (set) Token: 0x0600D21F RID: 53791 RVA: 0x002FFD00 File Offset: 0x002FDF00
[Token(Token = "0x17002178")]
private bool MustRevalidate
{
[Token(Token = "0x600D21E")]
[Address(RVA = "0x51F220", Offset = "0x51E220", VA = "0x18051F220")]
get;
[Token(Token = "0x600D21F")]
[Address(RVA = "0x51DB50", Offset = "0x51CB50", VA = "0x18051DB50")]
set;
}
// Token: 0x17002179 RID: 8569
// (get) Token: 0x0600D220 RID: 53792 RVA: 0x002FFD14 File Offset: 0x002FDF14
// (set) Token: 0x0600D221 RID: 53793 RVA: 0x002FFD28 File Offset: 0x002FDF28
[Token(Token = "0x17002179")]
private DateTime Received
{
[Token(Token = "0x600D220")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get;
[Token(Token = "0x600D221")]
[Address(RVA = "0x417A20", Offset = "0x416A20", VA = "0x180417A20")]
set;
}
// Token: 0x1700217A RID: 8570
// (get) Token: 0x0600D222 RID: 53794 RVA: 0x002FFD3C File Offset: 0x002FDF3C
// (set) Token: 0x0600D223 RID: 53795 RVA: 0x002FFD50 File Offset: 0x002FDF50
[Token(Token = "0x1700217A")]
private string ConstructedPath
{
[Token(Token = "0x600D222")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x600D223")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
set;
}
// Token: 0x1700217B RID: 8571
// (get) Token: 0x0600D224 RID: 53796 RVA: 0x002FFD64 File Offset: 0x002FDF64
// (set) Token: 0x0600D225 RID: 53797 RVA: 0x002FFD78 File Offset: 0x002FDF78
[Token(Token = "0x1700217B")]
internal ulong MappedNameIDX
{
[Token(Token = "0x600D224")]
[Address(RVA = "0x493640", Offset = "0x492640", VA = "0x180493640")]
get;
[Token(Token = "0x600D225")]
[Address(RVA = "0x476170", Offset = "0x475170", VA = "0x180476170")]
set;
}
// Token: 0x0600D226 RID: 53798 RVA: 0x002FFD8C File Offset: 0x002FDF8C
[Token(Token = "0x600D226")]
[Address(RVA = "0x16A1F70", Offset = "0x16A0F70", VA = "0x1816A1F70")]
internal HTTPCacheFileInfo(Uri uri)
{
DateTime utcNow = DateTime.UtcNow;
base..ctor();
this.Uri = uri;
this.LastAccess = utcNow;
this.BodyLength = (int)((ulong)4294967295L);
this.MaxAge = (long)((ulong)(-1L));
ulong nameIdx = HTTPCacheService.GetNameIdx();
this.MappedNameIDX = nameIdx;
}
// Token: 0x0600D227 RID: 53799 RVA: 0x002FFDE0 File Offset: 0x002FDFE0
[Token(Token = "0x600D227")]
[Address(RVA = "0x16A2040", Offset = "0x16A1040", VA = "0x1816A2040")]
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: 0x0600D228 RID: 53800 RVA: 0x002FFE20 File Offset: 0x002FE020
[Token(Token = "0x600D228")]
[Address(RVA = "0x16A1D90", Offset = "0x16A0D90", VA = "0x1816A1D90")]
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: 0x0600D229 RID: 53801 RVA: 0x002FFF08 File Offset: 0x002FE108
[Token(Token = "0x600D229")]
[Address(RVA = "0x16A1150", Offset = "0x16A0150", VA = "0x1816A1150")]
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: 0x0600D22A RID: 53802 RVA: 0x002FFFBC File Offset: 0x002FE1BC
[Token(Token = "0x600D22A")]
[Address(RVA = "0x16A05D0", Offset = "0x169F5D0", VA = "0x1816A05D0")]
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: 0x0600D22B RID: 53803 RVA: 0x002FFFF4 File Offset: 0x002FE1F4
[Token(Token = "0x600D22B")]
[Address(RVA = "0x16A0DE0", Offset = "0x169FDE0", VA = "0x1816A0DE0")]
public bool IsExists()
{
if (HTTPCacheService.IsSupported)
{
IIOService ioservice = HTTPManager.IOService;
string path = this.GetPath();
}
throw new NullReferenceException();
}
// Token: 0x0600D22C RID: 53804 RVA: 0x00300020 File Offset: 0x002FE220
[Token(Token = "0x600D22C")]
[Address(RVA = "0x16A02C0", Offset = "0x169F2C0", VA = "0x1816A02C0")]
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: 0x0600D22D RID: 53805 RVA: 0x003000D0 File Offset: 0x002FE2D0
[Token(Token = "0x600D22D")]
[Address(RVA = "0x16A1090", Offset = "0x16A0090", VA = "0x1816A1090")]
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: 0x0600D22E RID: 53806 RVA: 0x00300154 File Offset: 0x002FE354
[Token(Token = "0x600D22E")]
[Address(RVA = "0x16A12D0", Offset = "0x16A02D0", VA = "0x1816A12D0")]
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: 0x0600D22F RID: 53807 RVA: 0x0030027C File Offset: 0x002FE47C
[Token(Token = "0x600D22F")]
[Address(RVA = "0x16A1C10", Offset = "0x16A0C10", VA = "0x1816A1C10")]
internal bool WillExpireInTheFuture()
{
if (this.IsExists() && !this.<MustRevalidate>k__BackingField)
{
DateTime dateTime = this.<Expires>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
return dateTime > utcNow;
}
}
// Token: 0x0600D230 RID: 53808 RVA: 0x00300324 File Offset: 0x002FE524
[Token(Token = "0x600D230")]
[Address(RVA = "0x16A1540", Offset = "0x16A0540", VA = "0x1816A1540")]
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: 0x0600D231 RID: 53809 RVA: 0x00300380 File Offset: 0x002FE580
[Token(Token = "0x600D231")]
[Address(RVA = "0x16A04A0", Offset = "0x169F4A0", VA = "0x1816A04A0")]
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: 0x0600D232 RID: 53810 RVA: 0x003003CC File Offset: 0x002FE5CC
[Token(Token = "0x600D232")]
[Address(RVA = "0x16A0EB0", Offset = "0x169FEB0", VA = "0x1816A0EB0")]
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: 0x0600D233 RID: 53811 RVA: 0x00300428 File Offset: 0x002FE628
[Token(Token = "0x600D233")]
[Address(RVA = "0x16A15E0", Offset = "0x16A05E0", VA = "0x1816A15E0")]
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: 0x0600D234 RID: 53812 RVA: 0x00300570 File Offset: 0x002FE770
[Token(Token = "0x600D234")]
[Address(RVA = "0x16A06F0", Offset = "0x169F6F0", VA = "0x1816A06F0")]
internal Stream GetSaveStream(HTTPResponse response)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_F0;
}
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_123;
}
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_F0:
throw new ArrayTypeMismatchException();
IL_123:
throw new NullReferenceException();
}
// Token: 0x0600D235 RID: 53813 RVA: 0x003006B4 File Offset: 0x002FE8B4
[Token(Token = "0x600D235")]
[Address(RVA = "0x16A0290", Offset = "0x169F290", VA = "0x1816A0290", 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,80 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020020A2 RID: 8354
[Token(Token = "0x20020A2")]
internal sealed class HTTPCacheFileLock
{
// Token: 0x0600D236 RID: 53814 RVA: 0x003006D8 File Offset: 0x002FE8D8
[Token(Token = "0x600D236")]
[Address(RVA = "0x2411CF0", Offset = "0x2410CF0", VA = "0x182411CF0")]
internal static object Acquire(Uri uri)
{
for (;;)
{
int num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
int num2 = 0;
if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2))
{
break;
}
Monitor.Exit(syncRoot);
if (num == 0)
{
goto Block_1;
}
}
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
object obj = new object();
throw new NullReferenceException();
Block_1:
throw new NullReferenceException();
}
// Token: 0x0600D237 RID: 53815 RVA: 0x00300728 File Offset: 0x002FE928
[Token(Token = "0x600D237")]
[Address(RVA = "0x2411FD0", Offset = "0x2410FD0", VA = "0x182411FD0")]
internal static void Remove(Uri uri)
{
object syncRoot = HTTPCacheFileLock.SyncRoot;
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
throw new NullReferenceException();
}
// Token: 0x0600D238 RID: 53816 RVA: 0x00300770 File Offset: 0x002FE970
[Token(Token = "0x600D238")]
[Address(RVA = "0x2411EB0", Offset = "0x2410EB0", VA = "0x182411EB0")]
internal static void Clear()
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
HTTPCacheFileLock.FileLocks.Clear();
Monitor.Exit(syncRoot);
}
while (num != 0);
}
// Token: 0x0600D239 RID: 53817 RVA: 0x003007A0 File Offset: 0x002FE9A0
[Token(Token = "0x600D239")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HTTPCacheFileLock()
{
}
// Token: 0x040085B7 RID: 34231
[Token(Token = "0x40085B7")]
private static Dictionary<Uri, object> FileLocks = new Dictionary();
// Token: 0x040085B8 RID: 34232
[Token(Token = "0x40085B8")]
private static object SyncRoot = new object();
}
}
@@ -0,0 +1,47 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020020A3 RID: 8355
[Token(Token = "0x20020A3")]
public sealed class HTTPCacheMaintananceParams
{
// Token: 0x1700217C RID: 8572
// (get) Token: 0x0600D23B RID: 53819 RVA: 0x003007D8 File Offset: 0x002FE9D8
// (set) Token: 0x0600D23C RID: 53820 RVA: 0x003007EC File Offset: 0x002FE9EC
[Token(Token = "0x1700217C")]
public TimeSpan DeleteOlder
{
[Token(Token = "0x600D23B")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D23C")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x1700217D RID: 8573
// (get) Token: 0x0600D23D RID: 53821 RVA: 0x00300800 File Offset: 0x002FEA00
// (set) Token: 0x0600D23E RID: 53822 RVA: 0x00300814 File Offset: 0x002FEA14
[Token(Token = "0x1700217D")]
public ulong MaxCacheSize
{
[Token(Token = "0x600D23D")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600D23E")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x0600D23F RID: 53823 RVA: 0x00300828 File Offset: 0x002FEA28
[Token(Token = "0x600D23F")]
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
public HTTPCacheMaintananceParams(TimeSpan deleteOlder, ulong maxCacheSize)
{
this.DeleteOlder = deleteOlder;
this.MaxCacheSize = maxCacheSize;
}
}
}
@@ -0,0 +1,801 @@
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: 0x020020A5 RID: 8357
[Token(Token = "0x20020A5")]
public static class HTTPCacheService
{
// Token: 0x1700217E RID: 8574
// (get) Token: 0x0600D243 RID: 53827 RVA: 0x00300894 File Offset: 0x002FEA94
[Token(Token = "0x1700217E")]
public static bool IsSupported
{
[Token(Token = "0x600D243")]
[Address(RVA = "0x2415FC0", Offset = "0x2414FC0", VA = "0x182415FC0")]
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: 0x1700217F RID: 8575
// (get) Token: 0x0600D244 RID: 53828 RVA: 0x003008D8 File Offset: 0x002FEAD8
[Token(Token = "0x1700217F")]
private static Dictionary<Uri, HTTPCacheFileInfo> Library
{
[Token(Token = "0x600D244")]
[Address(RVA = "0x2416310", Offset = "0x2415310", VA = "0x182416310")]
get
{
HTTPCacheService.LoadLibrary();
return HTTPCacheService.library;
}
}
// Token: 0x17002180 RID: 8576
// (get) Token: 0x0600D245 RID: 53829 RVA: 0x003008F4 File Offset: 0x002FEAF4
// (set) Token: 0x0600D246 RID: 53830 RVA: 0x00300908 File Offset: 0x002FEB08
[Token(Token = "0x17002180")]
internal static string CacheFolder
{
[Token(Token = "0x600D245")]
[Address(RVA = "0x2415F60", Offset = "0x2414F60", VA = "0x182415F60")]
get;
[Token(Token = "0x600D246")]
[Address(RVA = "0x2416370", Offset = "0x2415370", VA = "0x182416370")]
private set;
}
// Token: 0x17002181 RID: 8577
// (get) Token: 0x0600D247 RID: 53831 RVA: 0x0030091C File Offset: 0x002FEB1C
// (set) Token: 0x0600D248 RID: 53832 RVA: 0x00300930 File Offset: 0x002FEB30
[Token(Token = "0x17002181")]
private static string LibraryPath
{
[Token(Token = "0x600D247")]
[Address(RVA = "0x2416250", Offset = "0x2415250", VA = "0x182416250")]
get;
[Token(Token = "0x600D248")]
[Address(RVA = "0x24163D0", Offset = "0x24153D0", VA = "0x1824163D0")]
set;
}
// Token: 0x0600D24A RID: 53834 RVA: 0x0030095C File Offset: 0x002FEB5C
[Token(Token = "0x600D24A")]
[Address(RVA = "0x24124B0", Offset = "0x24114B0", VA = "0x1824124B0")]
internal static void CheckSetup()
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
HTTPCacheService.LoadLibrary();
}
}
// Token: 0x0600D24B RID: 53835 RVA: 0x00300984 File Offset: 0x002FEB84
[Token(Token = "0x600D24B")]
[Address(RVA = "0x24156A0", Offset = "0x24146A0", VA = "0x1824156A0")]
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: 0x0600D24C RID: 53836 RVA: 0x00300A04 File Offset: 0x002FEC04
[Token(Token = "0x600D24C")]
[Address(RVA = "0x24138F0", Offset = "0x24128F0", VA = "0x1824138F0")]
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: 0x0600D24D RID: 53837 RVA: 0x00300A68 File Offset: 0x002FEC68
[Token(Token = "0x600D24D")]
[Address(RVA = "0x2413AE0", Offset = "0x2412AE0", VA = "0x182413AE0")]
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: 0x0600D24E RID: 53838 RVA: 0x00300AB8 File Offset: 0x002FECB8
[Token(Token = "0x600D24E")]
[Address(RVA = "0x2412820", Offset = "0x2411820", VA = "0x182412820")]
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: 0x0600D24F RID: 53839 RVA: 0x00300B74 File Offset: 0x002FED74
[Token(Token = "0x600D24F")]
[Address(RVA = "0x2413F30", Offset = "0x2412F30", VA = "0x182413F30")]
internal static bool IsCachedEntityExpiresInTheFuture(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: 0x0600D250 RID: 53840 RVA: 0x00300BE4 File Offset: 0x002FEDE4
[Token(Token = "0x600D250")]
[Address(RVA = "0x2415460", Offset = "0x2414460", VA = "0x182415460")]
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;
if (dictionary2.TryGetValue(currentUri, num2))
{
}
Monitor.Exit(dictionary);
}
while (num != 0);
}
// Token: 0x0600D251 RID: 53841 RVA: 0x00300C64 File Offset: 0x002FEE64
[Token(Token = "0x600D251")]
[Address(RVA = "0x2413460", Offset = "0x2412460", VA = "0x182413460")]
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: 0x0600D252 RID: 53842 RVA: 0x00300CB8 File Offset: 0x002FEEB8
[Token(Token = "0x600D252")]
[Address(RVA = "0x2413660", Offset = "0x2412660", VA = "0x182413660")]
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: 0x0600D253 RID: 53843 RVA: 0x00300D28 File Offset: 0x002FEF28
[Token(Token = "0x600D253")]
[Address(RVA = "0x2413CE0", Offset = "0x2412CE0", VA = "0x182413CE0")]
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: 0x0600D254 RID: 53844 RVA: 0x00300DE0 File Offset: 0x002FEFE0
[Token(Token = "0x600D254")]
[Address(RVA = "0x2415B10", Offset = "0x2414B10", VA = "0x182415B10")]
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response)
{
for (;;)
{
int num = 0;
if (response == 0)
{
goto IL_C0;
}
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
if (<Data>k__BackingField == 0 || <Data>k__BackingField.Length == num || !HTTPCacheService.IsSupported)
{
goto IL_C0;
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
int num2 = 0;
if (!HTTPCacheService.Library.TryGetValue(uri, num2))
{
break;
}
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);
if (num == 0)
{
goto IL_C0;
}
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
throw new NullReferenceException();
IL_C0:
throw new NullReferenceException();
}
// Token: 0x0600D255 RID: 53845 RVA: 0x00300EE0 File Offset: 0x002FF0E0
[Token(Token = "0x600D255")]
[Address(RVA = "0x2414920", Offset = "0x2413920", VA = "0x182414920")]
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_63;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
break;
}
Monitor.Exit(dictionary);
if (num == 0)
{
goto IL_63;
}
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
throw new NullReferenceException();
IL_63:
throw new NullReferenceException();
}
// Token: 0x0600D256 RID: 53846 RVA: 0x00300F70 File Offset: 0x002FF170
[Token(Token = "0x600D256")]
[Address(RVA = "0x24121E0", Offset = "0x24111E0", VA = "0x1824121E0")]
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: 0x0600D257 RID: 53847 RVA: 0x00300FB8 File Offset: 0x002FF1B8
[Token(Token = "0x600D257")]
[Address(RVA = "0x2412550", Offset = "0x2411550", VA = "0x182412550")]
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: 0x0600D258 RID: 53848 RVA: 0x0030101C File Offset: 0x002FF21C
[Token(Token = "0x600D258")]
[Address(RVA = "0x2412350", Offset = "0x2411350", VA = "0x182412350")]
public static void BeginMaintainence(HTTPCacheMaintananceParams maintananceParam)
{
/*
An exception occurred when decompiling this method (0600D258)
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 1663
*/;
}
// Token: 0x0600D259 RID: 53849 RVA: 0x00301070 File Offset: 0x002FF270
[Token(Token = "0x600D259")]
[Address(RVA = "0x2412FA0", Offset = "0x2411FA0", VA = "0x182412FA0")]
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: 0x0600D25A RID: 53850 RVA: 0x003010C8 File Offset: 0x002FF2C8
[Token(Token = "0x600D25A")]
[Address(RVA = "0x2413180", Offset = "0x2412180", VA = "0x182413180")]
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: 0x0600D25B RID: 53851 RVA: 0x0030112C File Offset: 0x002FF32C
[Token(Token = "0x600D25B")]
[Address(RVA = "0x24141B0", Offset = "0x24131B0", VA = "0x1824141B0")]
private static void LoadLibrary()
{
for (;;)
{
int 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();
if (new HTTPCacheFileInfo(uri, binaryReader, (int)num2).IsExists())
{
break;
}
num++;
}
if (binaryReader != 0)
{
}
if (num != 0)
{
goto IL_12F;
}
if (num != -1)
{
}
num++;
int num5;
if (uri != 0)
{
num5 = 0;
}
if (num != 0)
{
goto IL_12F;
}
if (num != -1)
{
}
Monitor.Exit(num5);
if (num == 0)
{
goto Block_6;
}
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
throw new NullReferenceException();
Block_6:
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_12F:
throw new NullReferenceException();
}
// Token: 0x0600D25C RID: 53852 RVA: 0x00301270 File Offset: 0x002FF470
[Token(Token = "0x600D25C")]
[Address(RVA = "0x2414C50", Offset = "0x2413C50", VA = "0x182414C50")]
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: 0x0600D25D RID: 53853 RVA: 0x00301344 File Offset: 0x002FF544
[Token(Token = "0x600D25D")]
[Address(RVA = "0x2415160", Offset = "0x2414160", VA = "0x182415160")]
internal static void SetBodyLength(Uri uri, int bodyLength)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
return;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
break;
}
Monitor.Exit(dictionary);
if (num == 0)
{
return;
}
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
DateTime utcNow = DateTime.UtcNow;
throw new NullReferenceException();
}
// Token: 0x0600D25E RID: 53854 RVA: 0x003013D4 File Offset: 0x002FF5D4
[Token(Token = "0x600D25E")]
[Address(RVA = "0x2412B90", Offset = "0x2411B90", VA = "0x182412B90")]
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: 0x040085BB RID: 34235
[Token(Token = "0x40085BB")]
private const int LibraryVersion = 2;
// Token: 0x040085BC RID: 34236
[Token(Token = "0x40085BC")]
private static bool isSupported;
// Token: 0x040085BD RID: 34237
[Token(Token = "0x40085BD")]
private static bool IsSupportCheckDone;
// Token: 0x040085BE RID: 34238
[Token(Token = "0x40085BE")]
private static Dictionary<Uri, HTTPCacheFileInfo> library;
// Token: 0x040085BF RID: 34239
[Token(Token = "0x40085BF")]
private static Dictionary<ulong, HTTPCacheFileInfo> UsedIndexes = new Dictionary();
// Token: 0x040085C2 RID: 34242
[Token(Token = "0x40085C2")]
private static bool InClearThread;
// Token: 0x040085C3 RID: 34243
[Token(Token = "0x40085C3")]
private static bool InMaintainenceThread;
// Token: 0x040085C4 RID: 34244
[Token(Token = "0x40085C4")]
private static ulong NextNameIDX;
}
}
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020020A4 RID: 8356
[Token(Token = "0x20020A4")]
public sealed class UriComparer : IEqualityComparer<Uri>
{
// Token: 0x0600D240 RID: 53824 RVA: 0x0030084C File Offset: 0x002FEA4C
[Token(Token = "0x600D240")]
[Address(RVA = "0x241CDF0", Offset = "0x241BDF0", VA = "0x18241CDF0", Slot = "4")]
public bool Equals(Uri x, Uri y)
{
int num;
return num == 0;
}
// Token: 0x0600D241 RID: 53825 RVA: 0x00300860 File Offset: 0x002FEA60
[Token(Token = "0x600D241")]
[Address(RVA = "0x241CE70", Offset = "0x241BE70", VA = "0x18241CE70", Slot = "5")]
public int GetHashCode(Uri uri)
{
TypeCode typeCode = ((IConvertible)uri.GetHashCode()).GetTypeCode();
throw new NullReferenceException();
}
// Token: 0x0600D242 RID: 53826 RVA: 0x00300880 File Offset: 0x002FEA80
[Token(Token = "0x600D242")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public UriComparer()
{
}
}
}
+390
View File
@@ -0,0 +1,390 @@
using System;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200196B RID: 6507
[Token(Token = "0x200196B")]
internal abstract class ConnectionBase : IDisposable
{
// Token: 0x170017CC RID: 6092
// (get) Token: 0x060096B7 RID: 38583 RVA: 0x001EA884 File Offset: 0x001E8A84
// (set) Token: 0x060096B8 RID: 38584 RVA: 0x001EA898 File Offset: 0x001E8A98
[Token(Token = "0x170017CC")]
public string ServerAddress
{
[Token(Token = "0x60096B7")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x60096B8")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
protected set;
}
// Token: 0x170017CD RID: 6093
// (get) Token: 0x060096B9 RID: 38585 RVA: 0x001EA8AC File Offset: 0x001E8AAC
// (set) Token: 0x060096BA RID: 38586 RVA: 0x001EA8C0 File Offset: 0x001E8AC0
[Token(Token = "0x170017CD")]
public HTTPConnectionStates State
{
[Token(Token = "0x60096B9")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x60096BA")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
protected set;
}
// Token: 0x170017CE RID: 6094
// (get) Token: 0x060096BB RID: 38587 RVA: 0x001EA8D4 File Offset: 0x001E8AD4
[Token(Token = "0x170017CE")]
public bool IsFree
{
[Token(Token = "0x60096BB")]
[Address(RVA = "0x2405B30", Offset = "0x2404B30", VA = "0x182405B30")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates == HTTPConnectionStates.Free;
}
}
// Token: 0x170017CF RID: 6095
// (get) Token: 0x060096BC RID: 38588 RVA: 0x001EA8F4 File Offset: 0x001E8AF4
[Token(Token = "0x170017CF")]
public bool IsActive
{
[Token(Token = "0x60096BC")]
[Address(RVA = "0x2405B10", Offset = "0x2404B10", VA = "0x182405B10")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return 0 < 6;
}
}
// Token: 0x170017D0 RID: 6096
// (get) Token: 0x060096BD RID: 38589 RVA: 0x001EA90C File Offset: 0x001E8B0C
// (set) Token: 0x060096BE RID: 38590 RVA: 0x001EA920 File Offset: 0x001E8B20
[Token(Token = "0x170017D0")]
public HTTPRequest CurrentRequest
{
[Token(Token = "0x60096BD")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x60096BE")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
protected set;
}
// Token: 0x170017D1 RID: 6097
// (get) Token: 0x060096BF RID: 38591 RVA: 0x001EA934 File Offset: 0x001E8B34
[Token(Token = "0x170017D1")]
public virtual bool IsRemovable
{
[Token(Token = "0x60096BF")]
[Address(RVA = "0x2405B50", Offset = "0x2404B50", VA = "0x182405B50", 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: 0x170017D2 RID: 6098
// (get) Token: 0x060096C0 RID: 38592 RVA: 0x001EA97C File Offset: 0x001E8B7C
// (set) Token: 0x060096C1 RID: 38593 RVA: 0x001EA990 File Offset: 0x001E8B90
[Token(Token = "0x170017D2")]
public DateTime StartTime
{
[Token(Token = "0x60096C0")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x60096C1")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
protected set;
}
// Token: 0x170017D3 RID: 6099
// (get) Token: 0x060096C2 RID: 38594 RVA: 0x001EA9A4 File Offset: 0x001E8BA4
// (set) Token: 0x060096C3 RID: 38595 RVA: 0x001EA9B8 File Offset: 0x001E8BB8
[Token(Token = "0x170017D3")]
public DateTime TimedOutStart
{
[Token(Token = "0x60096C2")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x60096C3")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
protected set;
}
// Token: 0x170017D4 RID: 6100
// (get) Token: 0x060096C4 RID: 38596 RVA: 0x001EA9CC File Offset: 0x001E8BCC
[Token(Token = "0x170017D4")]
public bool HasProxy
{
[Token(Token = "0x60096C4")]
[Address(RVA = "0x2405AF0", Offset = "0x2404AF0", VA = "0x182405AF0")]
get
{
/*
An exception occurred when decompiling this method (060096C4)
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 1663
*/;
}
}
// Token: 0x170017D5 RID: 6101
// (get) Token: 0x060096C5 RID: 38597 RVA: 0x001EA9E4 File Offset: 0x001E8BE4
// (set) Token: 0x060096C6 RID: 38598 RVA: 0x001EA9F8 File Offset: 0x001E8BF8
[Token(Token = "0x170017D5")]
public Uri LastProcessedUri
{
[Token(Token = "0x60096C5")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get;
[Token(Token = "0x60096C6")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
protected set;
}
// Token: 0x060096C7 RID: 38599 RVA: 0x001EAA0C File Offset: 0x001E8C0C
[Token(Token = "0x60096C7")]
[Address(RVA = "0x24059E0", Offset = "0x24049E0", VA = "0x1824059E0")]
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: 0x060096C8 RID: 38600 RVA: 0x001EAA48 File Offset: 0x001E8C48
[Token(Token = "0x60096C8")]
[Address(RVA = "0x2405A60", Offset = "0x2404A60", VA = "0x182405A60")]
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: 0x060096C9 RID: 38601
[Token(Token = "0x60096C9")]
[Address(Slot = "6")]
internal abstract void Abort(HTTPConnectionStates hTTPConnectionStates);
// Token: 0x060096CA RID: 38602 RVA: 0x001EAA84 File Offset: 0x001E8C84
[Token(Token = "0x60096CA")]
[Address(RVA = "0x2405760", Offset = "0x2404760", VA = "0x182405760")]
internal void Process(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (060096CA)
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 1663
*/;
}
// Token: 0x060096CB RID: 38603 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60096CB")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "7")]
protected virtual void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060096CC RID: 38604 RVA: 0x001EAAE0 File Offset: 0x001E8CE0
[Token(Token = "0x60096CC")]
[Address(RVA = "0x2405520", Offset = "0x2404520", VA = "0x182405520")]
internal void HandleProgressCallback()
{
ILogger logger = HTTPManager.Logger;
ILogger logger2 = HTTPManager.Logger;
this.<CurrentRequest>k__BackingField.<UploadProgressChanged>k__BackingField = false;
}
// Token: 0x060096CD RID: 38605 RVA: 0x001EAB2C File Offset: 0x001E8D2C
[Token(Token = "0x60096CD")]
[Address(RVA = "0x2405420", Offset = "0x2404420", VA = "0x182405420")]
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: 0x060096CE RID: 38606 RVA: 0x001EAB90 File Offset: 0x001E8D90
[Token(Token = "0x60096CE")]
[Address(RVA = "0x2405920", Offset = "0x2404920", VA = "0x182405920")]
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: 0x060096CF RID: 38607 RVA: 0x001EABF0 File Offset: 0x001E8DF0
[Token(Token = "0x60096CF")]
[Address(RVA = "0x2405870", Offset = "0x2404870", VA = "0x182405870")]
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: 0x170017D6 RID: 6102
// (get) Token: 0x060096D0 RID: 38608 RVA: 0x001EAC54 File Offset: 0x001E8E54
// (set) Token: 0x060096D1 RID: 38609 RVA: 0x001EAC68 File Offset: 0x001E8E68
[Token(Token = "0x170017D6")]
private protected bool IsDisposed
{
[Token(Token = "0x60096D0")]
[Address(RVA = "0x794070", Offset = "0x793070", VA = "0x180794070")]
protected get;
[Token(Token = "0x60096D1")]
[Address(RVA = "0x7937C0", Offset = "0x7927C0", VA = "0x1807937C0")]
private set;
}
// Token: 0x060096D2 RID: 38610 RVA: 0x001EAC7C File Offset: 0x001E8E7C
[Token(Token = "0x60096D2")]
[Address(RVA = "0x2405330", Offset = "0x2404330", VA = "0x182405330", Slot = "4")]
public void Dispose()
{
GC.SuppressFinalize(this);
}
// Token: 0x060096D3 RID: 38611 RVA: 0x001EAC90 File Offset: 0x001E8E90
[Token(Token = "0x60096D3")]
[Address(RVA = "0x2405320", Offset = "0x2404320", VA = "0x182405320", Slot = "8")]
protected virtual void Dispose(bool disposing)
{
this.<IsDisposed>k__BackingField = true;
}
// Token: 0x060096D4 RID: 38612 RVA: 0x001EACA4 File Offset: 0x001E8EA4
[Token(Token = "0x60096D4")]
[Address(RVA = "0x24053A0", Offset = "0x24043A0", VA = "0x1824053A0", 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: 0x0400662D RID: 26157
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400662D")]
protected DateTime LastProcessTime;
// Token: 0x0400662E RID: 26158
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400662E")]
protected HTTPConnectionRecycledDelegate OnConnectionRecycled;
// Token: 0x0400662F RID: 26159
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400662F")]
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: 0x0200209E RID: 8350
[Token(Token = "0x200209E")]
public sealed class Cookie : IComparable<Cookie>, IEquatable<Cookie>
{
// Token: 0x17002161 RID: 8545
// (get) Token: 0x0600D1CD RID: 53709 RVA: 0x002FEA30 File Offset: 0x002FCC30
// (set) Token: 0x0600D1CE RID: 53710 RVA: 0x002FEA44 File Offset: 0x002FCC44
[Token(Token = "0x17002161")]
public string Name
{
[Token(Token = "0x600D1CD")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D1CE")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x17002162 RID: 8546
// (get) Token: 0x0600D1CF RID: 53711 RVA: 0x002FEA58 File Offset: 0x002FCC58
// (set) Token: 0x0600D1D0 RID: 53712 RVA: 0x002FEA6C File Offset: 0x002FCC6C
[Token(Token = "0x17002162")]
public string Value
{
[Token(Token = "0x600D1CF")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600D1D0")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x17002163 RID: 8547
// (get) Token: 0x0600D1D1 RID: 53713 RVA: 0x002FEA80 File Offset: 0x002FCC80
// (set) Token: 0x0600D1D2 RID: 53714 RVA: 0x002FEA94 File Offset: 0x002FCC94
[Token(Token = "0x17002163")]
public DateTime Date
{
[Token(Token = "0x600D1D1")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600D1D2")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
internal set;
}
// Token: 0x17002164 RID: 8548
// (get) Token: 0x0600D1D3 RID: 53715 RVA: 0x002FEAA8 File Offset: 0x002FCCA8
// (set) Token: 0x0600D1D4 RID: 53716 RVA: 0x002FEABC File Offset: 0x002FCCBC
[Token(Token = "0x17002164")]
public DateTime LastAccess
{
[Token(Token = "0x600D1D3")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x600D1D4")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
set;
}
// Token: 0x17002165 RID: 8549
// (get) Token: 0x0600D1D5 RID: 53717 RVA: 0x002FEAD0 File Offset: 0x002FCCD0
// (set) Token: 0x0600D1D6 RID: 53718 RVA: 0x002FEAE4 File Offset: 0x002FCCE4
[Token(Token = "0x17002165")]
public DateTime Expires
{
[Token(Token = "0x600D1D5")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x600D1D6")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
private set;
}
// Token: 0x17002166 RID: 8550
// (get) Token: 0x0600D1D7 RID: 53719 RVA: 0x002FEAF8 File Offset: 0x002FCCF8
// (set) Token: 0x0600D1D8 RID: 53720 RVA: 0x002FEB0C File Offset: 0x002FCD0C
[Token(Token = "0x17002166")]
public long MaxAge
{
[Token(Token = "0x600D1D7")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get;
[Token(Token = "0x600D1D8")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
private set;
}
// Token: 0x17002167 RID: 8551
// (get) Token: 0x0600D1D9 RID: 53721 RVA: 0x002FEB20 File Offset: 0x002FCD20
// (set) Token: 0x0600D1DA RID: 53722 RVA: 0x002FEB34 File Offset: 0x002FCD34
[Token(Token = "0x17002167")]
public bool IsSession
{
[Token(Token = "0x600D1D9")]
[Address(RVA = "0x41CF00", Offset = "0x41BF00", VA = "0x18041CF00")]
get;
[Token(Token = "0x600D1DA")]
[Address(RVA = "0x41D000", Offset = "0x41C000", VA = "0x18041D000")]
private set;
}
// Token: 0x17002168 RID: 8552
// (get) Token: 0x0600D1DB RID: 53723 RVA: 0x002FEB48 File Offset: 0x002FCD48
// (set) Token: 0x0600D1DC RID: 53724 RVA: 0x002FEB5C File Offset: 0x002FCD5C
[Token(Token = "0x17002168")]
public string Domain
{
[Token(Token = "0x600D1DB")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get;
[Token(Token = "0x600D1DC")]
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0")]
private set;
}
// Token: 0x17002169 RID: 8553
// (get) Token: 0x0600D1DD RID: 53725 RVA: 0x002FEB70 File Offset: 0x002FCD70
// (set) Token: 0x0600D1DE RID: 53726 RVA: 0x002FEB84 File Offset: 0x002FCD84
[Token(Token = "0x17002169")]
public string Path
{
[Token(Token = "0x600D1DD")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get;
[Token(Token = "0x600D1DE")]
[Address(RVA = "0x55BCE0", Offset = "0x55ACE0", VA = "0x18055BCE0")]
private set;
}
// Token: 0x1700216A RID: 8554
// (get) Token: 0x0600D1DF RID: 53727 RVA: 0x002FEB98 File Offset: 0x002FCD98
// (set) Token: 0x0600D1E0 RID: 53728 RVA: 0x002FEBAC File Offset: 0x002FCDAC
[Token(Token = "0x1700216A")]
public bool IsSecure
{
[Token(Token = "0x600D1DF")]
[Address(RVA = "0x51F220", Offset = "0x51E220", VA = "0x18051F220")]
get;
[Token(Token = "0x600D1E0")]
[Address(RVA = "0x51DB50", Offset = "0x51CB50", VA = "0x18051DB50")]
private set;
}
// Token: 0x1700216B RID: 8555
// (get) Token: 0x0600D1E1 RID: 53729 RVA: 0x002FEBC0 File Offset: 0x002FCDC0
// (set) Token: 0x0600D1E2 RID: 53730 RVA: 0x002FEBD4 File Offset: 0x002FCDD4
[Token(Token = "0x1700216B")]
public bool IsHttpOnly
{
[Token(Token = "0x600D1E1")]
[Address(RVA = "0x538C50", Offset = "0x537C50", VA = "0x180538C50")]
get;
[Token(Token = "0x600D1E2")]
[Address(RVA = "0x6A46A0", Offset = "0x6A36A0", VA = "0x1806A46A0")]
private set;
}
// Token: 0x0600D1E3 RID: 53731 RVA: 0x002FEBE8 File Offset: 0x002FCDE8
[Token(Token = "0x600D1E3")]
[Address(RVA = "0x2409B10", Offset = "0x2408B10", VA = "0x182409B10")]
public Cookie(string name, string value)
{
string empty = string.Empty;
}
// Token: 0x0600D1E4 RID: 53732 RVA: 0x002FEBFC File Offset: 0x002FCDFC
[Token(Token = "0x600D1E4")]
[Address(RVA = "0x2409E00", Offset = "0x2408E00", VA = "0x182409E00")]
public Cookie(string name, string value, string path)
{
string empty = string.Empty;
}
// Token: 0x0600D1E5 RID: 53733 RVA: 0x002FEC10 File Offset: 0x002FCE10
[Token(Token = "0x600D1E5")]
[Address(RVA = "0x2409D50", Offset = "0x2408D50", VA = "0x182409D50")]
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: 0x0600D1E6 RID: 53734 RVA: 0x002FEC64 File Offset: 0x002FCE64
[Token(Token = "0x600D1E6")]
[Address(RVA = "0x2409B90", Offset = "0x2408B90", VA = "0x182409B90")]
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: 0x0600D1E7 RID: 53735 RVA: 0x002FECA4 File Offset: 0x002FCEA4
[Token(Token = "0x600D1E7")]
[Address(RVA = "0x2409C70", Offset = "0x2408C70", VA = "0x182409C70")]
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: 0x0600D1E8 RID: 53736 RVA: 0x002FECE4 File Offset: 0x002FCEE4
[Token(Token = "0x600D1E8")]
[Address(RVA = "0x2409E80", Offset = "0x2408E80", VA = "0x182409E80")]
internal Cookie()
{
this.IsSession = true;
this.MaxAge = (long)((ulong)(-1L));
DateTime utcNow = DateTime.UtcNow;
this.LastAccess = utcNow;
}
// Token: 0x0600D1E9 RID: 53737 RVA: 0x002FED18 File Offset: 0x002FCF18
[Token(Token = "0x600D1E9")]
[Address(RVA = "0x2409A00", Offset = "0x2408A00", VA = "0x182409A00")]
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: 0x0600D1EA RID: 53738 RVA: 0x002FED78 File Offset: 0x002FCF78
[Token(Token = "0x600D1EA")]
[Address(RVA = "0x2408BC0", Offset = "0x2407BC0", VA = "0x182408BC0")]
public uint GuessSize()
{
/*
An exception occurred when decompiling this method (0600D1EA)
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 1663
*/;
}
// Token: 0x0600D1EB RID: 53739 RVA: 0x002FEE0C File Offset: 0x002FD00C
[Token(Token = "0x600D1EB")]
[Address(RVA = "0x2408FB0", Offset = "0x2407FB0", VA = "0x182408FB0")]
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: 0x0600D1EC RID: 53740 RVA: 0x002FF0BC File Offset: 0x002FD2BC
[Token(Token = "0x600D1EC")]
[Address(RVA = "0x24097C0", Offset = "0x24087C0", VA = "0x1824097C0")]
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: 0x0600D1ED RID: 53741 RVA: 0x002FF180 File Offset: 0x002FD380
[Token(Token = "0x600D1ED")]
[Address(RVA = "0x2408C20", Offset = "0x2407C20", VA = "0x182408C20")]
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: 0x0600D1EE RID: 53742 RVA: 0x002FF254 File Offset: 0x002FD454
[Token(Token = "0x600D1EE")]
[Address(RVA = "0x24099C0", Offset = "0x24089C0", VA = "0x1824099C0", Slot = "3")]
public override string ToString()
{
string text = this.<Value>k__BackingField;
return this.<Name>k__BackingField + "=" + text;
}
// Token: 0x0600D1EF RID: 53743 RVA: 0x002FF27C File Offset: 0x002FD47C
[Token(Token = "0x600D1EF")]
[Address(RVA = "0x2408B50", Offset = "0x2407B50", VA = "0x182408B50", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != 0)
{
bool flag;
return flag;
}
}
// Token: 0x0600D1F0 RID: 53744 RVA: 0x002FF290 File Offset: 0x002FD490
[Token(Token = "0x600D1F0")]
[Address(RVA = "0x2408A90", Offset = "0x2407A90", VA = "0x182408A90", 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: 0x0600D1F1 RID: 53745 RVA: 0x002FF31C File Offset: 0x002FD51C
[Token(Token = "0x600D1F1")]
[Address(RVA = "0x8A4D10", Offset = "0x8A3D10", VA = "0x1808A4D10", Slot = "2")]
public override int GetHashCode()
{
TypeCode typeCode = ((IConvertible)this.GetHashCode()).GetTypeCode();
throw new NullReferenceException();
}
// Token: 0x0600D1F2 RID: 53746 RVA: 0x002FF33C File Offset: 0x002FD53C
[Token(Token = "0x600D1F2")]
[Address(RVA = "0x2409730", Offset = "0x2408730", VA = "0x182409730")]
private static string ReadValue(string str, ref int pos)
{
string empty = string.Empty;
if (str != 0)
{
}
return empty;
}
// Token: 0x0600D1F3 RID: 53747 RVA: 0x002FF354 File Offset: 0x002FD554
[Token(Token = "0x600D1F3")]
[Address(RVA = "0x2408DC0", Offset = "0x2407DC0", VA = "0x182408DC0")]
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: 0x0600D1F4 RID: 53748 RVA: 0x002FF3DC File Offset: 0x002FD5DC
[Token(Token = "0x600D1F4")]
[Address(RVA = "0x2408A60", Offset = "0x2407A60", VA = "0x182408A60", Slot = "4")]
public int CompareTo(Cookie other)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
DateTime dateTime2 = other.<LastAccess>k__BackingField;
int num;
return num;
}
// Token: 0x04008593 RID: 34195
[Token(Token = "0x4008593")]
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: 0x020020A0 RID: 8352
[Token(Token = "0x20020A0")]
public static class CookieJar
{
// Token: 0x1700216C RID: 8556
// (get) Token: 0x0600D1F8 RID: 53752 RVA: 0x002FF43C File Offset: 0x002FD63C
[Token(Token = "0x1700216C")]
public static bool IsSavingSupported
{
[Token(Token = "0x600D1F8")]
[Address(RVA = "0x2408650", Offset = "0x2407650", VA = "0x182408650")]
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: 0x1700216D RID: 8557
// (get) Token: 0x0600D1F9 RID: 53753 RVA: 0x002FF480 File Offset: 0x002FD680
// (set) Token: 0x0600D1FA RID: 53754 RVA: 0x002FF494 File Offset: 0x002FD694
[Token(Token = "0x1700216D")]
private static string CookieFolder
{
[Token(Token = "0x600D1F9")]
[Address(RVA = "0x2408590", Offset = "0x2407590", VA = "0x182408590")]
get;
[Token(Token = "0x600D1FA")]
[Address(RVA = "0x24089A0", Offset = "0x24079A0", VA = "0x1824089A0")]
set;
}
// Token: 0x1700216E RID: 8558
// (get) Token: 0x0600D1FB RID: 53755 RVA: 0x002FF4A8 File Offset: 0x002FD6A8
// (set) Token: 0x0600D1FC RID: 53756 RVA: 0x002FF4BC File Offset: 0x002FD6BC
[Token(Token = "0x1700216E")]
private static string LibraryPath
{
[Token(Token = "0x600D1FB")]
[Address(RVA = "0x24088E0", Offset = "0x24078E0", VA = "0x1824088E0")]
get;
[Token(Token = "0x600D1FC")]
[Address(RVA = "0x2408A00", Offset = "0x2407A00", VA = "0x182408A00")]
set;
}
// Token: 0x0600D1FD RID: 53757 RVA: 0x002FF4D0 File Offset: 0x002FD6D0
[Token(Token = "0x600D1FD")]
[Address(RVA = "0x2408220", Offset = "0x2407220", VA = "0x182408220")]
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: 0x0600D1FE RID: 53758 RVA: 0x002FF524 File Offset: 0x002FD724
[Token(Token = "0x600D1FE")]
[Address(RVA = "0x2407DB0", Offset = "0x2406DB0", VA = "0x182407DB0")]
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: 0x0600D1FF RID: 53759 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D1FF")]
[Address(RVA = "0x2406D90", Offset = "0x2405D90", VA = "0x182406D90")]
internal static void Maintain()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D200 RID: 53760 RVA: 0x002FF634 File Offset: 0x002FD834
[Token(Token = "0x600D200")]
[Address(RVA = "0x2407260", Offset = "0x2406260", VA = "0x182407260")]
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: 0x0600D201 RID: 53761 RVA: 0x002FF73C File Offset: 0x002FD93C
[Token(Token = "0x600D201")]
[Address(RVA = "0x24066E0", Offset = "0x24056E0", VA = "0x1824066E0")]
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: 0x0600D202 RID: 53762 RVA: 0x002FF854 File Offset: 0x002FDA54
[Token(Token = "0x600D202")]
[Address(RVA = "0x2406460", Offset = "0x2405460", VA = "0x182406460")]
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: 0x0600D203 RID: 53763 RVA: 0x002FF8EC File Offset: 0x002FDAEC
[Token(Token = "0x600D203")]
[Address(RVA = "0x2407B90", Offset = "0x2406B90", VA = "0x182407B90")]
public static void Set(Uri uri, Cookie cookie)
{
CookieJar.Set(cookie);
}
// Token: 0x0600D204 RID: 53764 RVA: 0x002FF900 File Offset: 0x002FDB00
[Token(Token = "0x600D204")]
[Address(RVA = "0x2407BF0", Offset = "0x2406BF0", VA = "0x182407BF0")]
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: 0x0600D205 RID: 53765 RVA: 0x002FF944 File Offset: 0x002FDB44
[Token(Token = "0x600D205")]
[Address(RVA = "0x2406350", Offset = "0x2405350", VA = "0x182406350")]
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: 0x0600D206 RID: 53766 RVA: 0x002FF974 File Offset: 0x002FDB74
[Token(Token = "0x600D206")]
[Address(RVA = "0x2405C70", Offset = "0x2404C70", VA = "0x182405C70")]
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: 0x0600D207 RID: 53767 RVA: 0x002FF9AC File Offset: 0x002FDBAC
[Token(Token = "0x600D207")]
[Address(RVA = "0x2405D90", Offset = "0x2404D90", VA = "0x182405D90")]
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: 0x0600D208 RID: 53768 RVA: 0x002FFA28 File Offset: 0x002FDC28
[Token(Token = "0x600D208")]
[Address(RVA = "0x2406000", Offset = "0x2405000", VA = "0x182406000")]
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: 0x0600D209 RID: 53769 RVA: 0x002FFA94 File Offset: 0x002FDC94
[Token(Token = "0x600D209")]
[Address(RVA = "0x2407910", Offset = "0x2406910", VA = "0x182407910")]
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: 0x0600D20A RID: 53770 RVA: 0x002FFB24 File Offset: 0x002FDD24
[Token(Token = "0x600D20A")]
[Address(RVA = "0x2406240", Offset = "0x2405240", VA = "0x182406240")]
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: 0x0600D20B RID: 53771 RVA: 0x002FFB5C File Offset: 0x002FDD5C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D20B")]
[Address(RVA = "0x24084D0", Offset = "0x24074D0", VA = "0x1824084D0")]
static CookieJar()
{
TimeSpan timeSpan;
CookieJar.AccessThreshold = timeSpan;
CookieJar.Cookies = new List();
CookieJar.Locker = new object();
}
// Token: 0x040085A1 RID: 34209
[Token(Token = "0x40085A1")]
private const int Version = 1;
// Token: 0x040085A2 RID: 34210
[Token(Token = "0x40085A2")]
public static TimeSpan AccessThreshold;
// Token: 0x040085A3 RID: 34211
[Token(Token = "0x40085A3")]
private static List<Cookie> Cookies;
// Token: 0x040085A6 RID: 34214
[Token(Token = "0x40085A6")]
private static object Locker;
// Token: 0x040085A7 RID: 34215
[Token(Token = "0x40085A7")]
private static bool _isSavingSupported;
// Token: 0x040085A8 RID: 34216
[Token(Token = "0x40085A8")]
private static bool IsSupportCheckDone;
// Token: 0x040085A9 RID: 34217
[Token(Token = "0x40085A9")]
private static bool Loaded;
}
}
@@ -0,0 +1,482 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Crc
{
// Token: 0x0200209D RID: 8349
[Token(Token = "0x200209D")]
internal class CRC32
{
// Token: 0x1700215F RID: 8543
// (get) Token: 0x0600D1BA RID: 53690 RVA: 0x002FE4F0 File Offset: 0x002FC6F0
[Token(Token = "0x1700215F")]
public long TotalBytesRead
{
[Token(Token = "0x600D1BA")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get
{
return this._TotalBytesRead;
}
}
// Token: 0x17002160 RID: 8544
// (get) Token: 0x0600D1BB RID: 53691 RVA: 0x002FE504 File Offset: 0x002FC704
[Token(Token = "0x17002160")]
public int Crc32Result
{
[Token(Token = "0x600D1BB")]
[Address(RVA = "0xF9F390", Offset = "0xF9E390", VA = "0x180F9F390")]
get
{
/*
An exception occurred when decompiling this method (0600D1BB)
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 1663
*/;
}
}
// Token: 0x0600D1BC RID: 53692 RVA: 0x002FE518 File Offset: 0x002FC718
[Token(Token = "0x600D1BC")]
[Address(RVA = "0x2404810", Offset = "0x2403810", VA = "0x182404810")]
public int GetCrc32(Stream input)
{
int num = 0;
return this.GetCrc32AndCopy(input, num);
}
// Token: 0x0600D1BD RID: 53693 RVA: 0x002FE530 File Offset: 0x002FC730
[Token(Token = "0x600D1BD")]
[Address(RVA = "0x2404580", Offset = "0x2403580", VA = "0x182404580")]
public int GetCrc32AndCopy(Stream input, Stream output)
{
/*
An exception occurred when decompiling this method (0600D1BD)
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_80:
stloc:Exception(var_10_8A, 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 1663
*/;
}
// Token: 0x0600D1BE RID: 53694 RVA: 0x002FE5C8 File Offset: 0x002FC7C8
[Token(Token = "0x600D1BE")]
[Address(RVA = "0xF9EBB0", Offset = "0xF9DBB0", VA = "0x180F9EBB0")]
public int ComputeCrc32(int W, byte B)
{
uint num = this.crc32Table[W];
throw new NullReferenceException();
}
// Token: 0x0600D1BF RID: 53695 RVA: 0x002FE5E8 File Offset: 0x002FC7E8
[Token(Token = "0x600D1BF")]
[Address(RVA = "0xF9EBB0", Offset = "0xF9DBB0", VA = "0x180F9EBB0")]
internal int _InternalComputeCrc32(uint W, byte B)
{
uint num = this.crc32Table[(int)W];
throw new NullReferenceException();
}
// Token: 0x0600D1C0 RID: 53696 RVA: 0x002FE608 File Offset: 0x002FC808
[Token(Token = "0x600D1C0")]
[Address(RVA = "0x2404830", Offset = "0x2403830", VA = "0x182404830")]
public void SlurpBlock(byte[] block, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D1C0)
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 1663
*/;
}
// Token: 0x0600D1C1 RID: 53697 RVA: 0x002FE658 File Offset: 0x002FC858
[Token(Token = "0x600D1C1")]
[Address(RVA = "0x2404A60", Offset = "0x2403A60", VA = "0x182404A60")]
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: 0x0600D1C2 RID: 53698 RVA: 0x002FE6A4 File Offset: 0x002FC8A4
[Token(Token = "0x600D1C2")]
[Address(RVA = "0x2404990", Offset = "0x2403990", VA = "0x182404990")]
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: 0x0600D1C3 RID: 53699 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D1C3")]
[Address(RVA = "0xF9F000", Offset = "0xF9E000", VA = "0x180F9F000")]
private static uint ReverseBits(uint data)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D1C4 RID: 53700 RVA: 0x002FE6E8 File Offset: 0x002FC8E8
[Token(Token = "0x600D1C4")]
[Address(RVA = "0xF9F060", Offset = "0xF9E060", VA = "0x180F9F060")]
private static byte ReverseBits(byte data)
{
/*
An exception occurred when decompiling this method (0600D1C4)
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 1663
*/;
}
// Token: 0x0600D1C5 RID: 53701 RVA: 0x002FE704 File Offset: 0x002FC904
[Token(Token = "0x600D1C5")]
[Address(RVA = "0x2404430", Offset = "0x2403430", VA = "0x182404430")]
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: 0x0600D1C6 RID: 53702 RVA: 0x002FE78C File Offset: 0x002FC98C
[Token(Token = "0x600D1C6")]
[Address(RVA = "0xF9F460", Offset = "0xF9E460", VA = "0x180F9F460")]
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: 0x0600D1C7 RID: 53703 RVA: 0x002FE7B4 File Offset: 0x002FC9B4
[Token(Token = "0x600D1C7")]
[Address(RVA = "0xF9F3A0", Offset = "0xF9E3A0", VA = "0x180F9F3A0")]
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: 0x0600D1C8 RID: 53704 RVA: 0x002FE7EC File Offset: 0x002FC9EC
[Token(Token = "0x600D1C8")]
[Address(RVA = "0x2404010", Offset = "0x2403010", VA = "0x182404010")]
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: 0x0600D1C9 RID: 53705 RVA: 0x002FE950 File Offset: 0x002FCB50
[Token(Token = "0x600D1C9")]
[Address(RVA = "0x2404C70", Offset = "0x2403C70", VA = "0x182404C70")]
public CRC32()
{
}
// Token: 0x0600D1CA RID: 53706 RVA: 0x002FE960 File Offset: 0x002FCB60
[Token(Token = "0x600D1CA")]
[Address(RVA = "0x2404C80", Offset = "0x2403C80", VA = "0x182404C80")]
public CRC32(bool reverseBits)
{
}
// Token: 0x0600D1CB RID: 53707 RVA: 0x002FE970 File Offset: 0x002FCB70
[Token(Token = "0x600D1CB")]
[Address(RVA = "0x2404B00", Offset = "0x2403B00", VA = "0x182404B00")]
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: 0x0600D1CC RID: 53708 RVA: 0x002FEA10 File Offset: 0x002FCC10
[Token(Token = "0x600D1CC")]
[Address(RVA = "0x2404820", Offset = "0x2403820", VA = "0x182404820")]
public void Reset()
{
this._register = (uint)((ulong)4294967295L);
}
// Token: 0x0400858D RID: 34189
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400858D")]
private uint dwPolynomial;
// Token: 0x0400858E RID: 34190
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400858E")]
private long _TotalBytesRead;
// Token: 0x0400858F RID: 34191
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400858F")]
private bool reverseBits;
// Token: 0x04008590 RID: 34192
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008590")]
private uint[] crc32Table;
// Token: 0x04008591 RID: 34193
[Token(Token = "0x4008591")]
private const int BUFFER_SIZE = 8192;
// Token: 0x04008592 RID: 34194
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008592")]
private uint _register;
}
}
@@ -0,0 +1,59 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002097 RID: 8343
[Token(Token = "0x2002097")]
public sealed class Adler
{
// Token: 0x0600D18A RID: 53642 RVA: 0x002FD348 File Offset: 0x002FB548
[Token(Token = "0x600D18A")]
[Address(RVA = "0x2403B50", Offset = "0x2402B50", VA = "0x182403B50")]
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: 0x0600D18B RID: 53643 RVA: 0x002FD3C4 File Offset: 0x002FB5C4
[Token(Token = "0x600D18B")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public Adler()
{
}
// Token: 0x04008557 RID: 34135
[Token(Token = "0x4008557")]
private static readonly uint BASE;
// Token: 0x04008558 RID: 34136
[Token(Token = "0x4008558")]
private static readonly int NMAX;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002080 RID: 8320
[Token(Token = "0x2002080")]
internal enum BlockState
{
// Token: 0x04008447 RID: 33863
[Token(Token = "0x4008447")]
NeedMore,
// Token: 0x04008448 RID: 33864
[Token(Token = "0x4008448")]
BlockDone,
// Token: 0x04008449 RID: 33865
[Token(Token = "0x4008449")]
FinishStarted,
// Token: 0x0400844A RID: 33866
[Token(Token = "0x400844A")]
FinishDone
}
}
@@ -0,0 +1,53 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002090 RID: 8336
[Token(Token = "0x2002090")]
public enum CompressionLevel
{
// Token: 0x0400852E RID: 34094
[Token(Token = "0x400852E")]
None,
// Token: 0x0400852F RID: 34095
[Token(Token = "0x400852F")]
Level0 = 0,
// Token: 0x04008530 RID: 34096
[Token(Token = "0x4008530")]
BestSpeed,
// Token: 0x04008531 RID: 34097
[Token(Token = "0x4008531")]
Level1 = 1,
// Token: 0x04008532 RID: 34098
[Token(Token = "0x4008532")]
Level2,
// Token: 0x04008533 RID: 34099
[Token(Token = "0x4008533")]
Level3,
// Token: 0x04008534 RID: 34100
[Token(Token = "0x4008534")]
Level4,
// Token: 0x04008535 RID: 34101
[Token(Token = "0x4008535")]
Level5,
// Token: 0x04008536 RID: 34102
[Token(Token = "0x4008536")]
Default,
// Token: 0x04008537 RID: 34103
[Token(Token = "0x4008537")]
Level6 = 6,
// Token: 0x04008538 RID: 34104
[Token(Token = "0x4008538")]
Level7,
// Token: 0x04008539 RID: 34105
[Token(Token = "0x4008539")]
Level8,
// Token: 0x0400853A RID: 34106
[Token(Token = "0x400853A")]
BestCompression,
// Token: 0x0400853B RID: 34107
[Token(Token = "0x400853B")]
Level9 = 9
}
}
@@ -0,0 +1,17 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002092 RID: 8338
[Token(Token = "0x2002092")]
public enum CompressionMode
{
// Token: 0x04008541 RID: 34113
[Token(Token = "0x4008541")]
Compress,
// Token: 0x04008542 RID: 34114
[Token(Token = "0x4008542")]
Decompress
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002091 RID: 8337
[Token(Token = "0x2002091")]
public enum CompressionStrategy
{
// Token: 0x0400853D RID: 34109
[Token(Token = "0x400853D")]
Default,
// Token: 0x0400853E RID: 34110
[Token(Token = "0x400853E")]
Filtered,
// Token: 0x0400853F RID: 34111
[Token(Token = "0x400853F")]
HuffmanOnly
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002081 RID: 8321
[Token(Token = "0x2002081")]
internal enum DeflateFlavor
{
// Token: 0x0400844C RID: 33868
[Token(Token = "0x400844C")]
Store,
// Token: 0x0400844D RID: 33869
[Token(Token = "0x400844D")]
Fast,
// Token: 0x0400844E RID: 33870
[Token(Token = "0x400844E")]
Slow
}
}
@@ -0,0 +1,2182 @@
using System;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002082 RID: 8322
[Token(Token = "0x2002082")]
internal sealed class DeflateManager
{
// Token: 0x0600D0F3 RID: 53491 RVA: 0x002F7600 File Offset: 0x002F5800
[Token(Token = "0x600D0F3")]
[Address(RVA = "0x240D290", Offset = "0x240C290", VA = "0x18240D290")]
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: 0x0600D0F4 RID: 53492 RVA: 0x002F76CC File Offset: 0x002F58CC
[Token(Token = "0x600D0F4")]
[Address(RVA = "0x240CA00", Offset = "0x240BA00", VA = "0x18240CA00")]
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: 0x0600D0F5 RID: 53493 RVA: 0x002F775C File Offset: 0x002F595C
[Token(Token = "0x600D0F5")]
[Address(RVA = "0x240CAF0", Offset = "0x240BAF0", VA = "0x18240CAF0")]
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: 0x0600D0F6 RID: 53494 RVA: 0x002F781C File Offset: 0x002F5A1C
[Token(Token = "0x600D0F6")]
[Address(RVA = "0x240C7E0", Offset = "0x240B7E0", VA = "0x18240C7E0")]
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: 0x0600D0F7 RID: 53495 RVA: 0x002F78C0 File Offset: 0x002F5AC0
[Token(Token = "0x600D0F7")]
[Address(RVA = "0x240EDB0", Offset = "0x240DDB0", VA = "0x18240EDB0")]
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: 0x0600D0F8 RID: 53496 RVA: 0x002F7964 File Offset: 0x002F5B64
[Token(Token = "0x600D0F8")]
[Address(RVA = "0x240CC30", Offset = "0x240BC30", VA = "0x18240CC30")]
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: 0x0600D0F9 RID: 53497 RVA: 0x002F7994 File Offset: 0x002F5B94
[Token(Token = "0x600D0F9")]
[Address(RVA = "0x240F010", Offset = "0x240E010", VA = "0x18240F010")]
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: 0x0600D0FA RID: 53498 RVA: 0x002F7A28 File Offset: 0x002F5C28
[Token(Token = "0x600D0FA")]
[Address(RVA = "0x240E460", Offset = "0x240D460", VA = "0x18240E460")]
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: 0x0600D0FB RID: 53499 RVA: 0x002F7AB4 File Offset: 0x002F5CB4
[Token(Token = "0x600D0FB")]
[Address(RVA = "0x240F350", Offset = "0x240E350", VA = "0x18240F350")]
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: 0x0600D0FC RID: 53500 RVA: 0x002F7B24 File Offset: 0x002F5D24
[Token(Token = "0x600D0FC")]
[Address(RVA = "0x240FC10", Offset = "0x240EC10", VA = "0x18240FC10")]
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: 0x0600D0FD RID: 53501 RVA: 0x002F7BE4 File Offset: 0x002F5DE4
[Token(Token = "0x600D0FD")]
[Address(RVA = "0x10A7EA0", Offset = "0x10A6EA0", VA = "0x1810A7EA0")]
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: 0x0600D0FE RID: 53502 RVA: 0x002F7C0C File Offset: 0x002F5E0C
[Token(Token = "0x600D0FE")]
[Address(RVA = "0x240F670", Offset = "0x240E670", VA = "0x18240F670")]
internal void send_code(int c, short[] tree)
{
int length = tree.Length;
short num;
short num2;
this.send_bits((int)num, (int)num2);
}
// Token: 0x0600D0FF RID: 53503 RVA: 0x002F7C30 File Offset: 0x002F5E30
[Token(Token = "0x600D0FF")]
[Address(RVA = "0x240F4D0", Offset = "0x240E4D0", VA = "0x18240F4D0")]
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: 0x0600D100 RID: 53504 RVA: 0x002F7C78 File Offset: 0x002F5E78
[Token(Token = "0x600D100")]
[Address(RVA = "0x240D790", Offset = "0x240C790", VA = "0x18240D790")]
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: 0x0600D101 RID: 53505 RVA: 0x002F7D08 File Offset: 0x002F5F08
[Token(Token = "0x600D101")]
[Address(RVA = "0x240E090", Offset = "0x240D090", VA = "0x18240E090")]
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: 0x0600D102 RID: 53506 RVA: 0x002F7E24 File Offset: 0x002F6024
[Token(Token = "0x600D102")]
[Address(RVA = "0x240F6E0", Offset = "0x240E6E0", VA = "0x18240F6E0")]
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: 0x0600D103 RID: 53507 RVA: 0x002F7F8C File Offset: 0x002F618C
[Token(Token = "0x600D103")]
[Address(RVA = "0x240FED0", Offset = "0x240EED0", VA = "0x18240FED0")]
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: 0x0600D104 RID: 53508 RVA: 0x002F7FE8 File Offset: 0x002F61E8
[Token(Token = "0x600D104")]
[Address(RVA = "0x10A6F70", Offset = "0x10A5F70", VA = "0x1810A6F70")]
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: 0x0600D105 RID: 53509 RVA: 0x002F808C File Offset: 0x002F628C
[Token(Token = "0x600D105")]
[Address(RVA = "0x10A7070", Offset = "0x10A6070", VA = "0x1810A7070")]
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: 0x0600D106 RID: 53510 RVA: 0x002F8140 File Offset: 0x002F6340
[Token(Token = "0x600D106")]
[Address(RVA = "0x10A7300", Offset = "0x10A6300", VA = "0x1810A7300")]
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: 0x0600D107 RID: 53511 RVA: 0x002F81F8 File Offset: 0x002F63F8
[Token(Token = "0x600D107")]
[Address(RVA = "0x240E5F0", Offset = "0x240D5F0", VA = "0x18240E5F0")]
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: 0x0600D108 RID: 53512 RVA: 0x002F8244 File Offset: 0x002F6444
[Token(Token = "0x600D108")]
[Address(RVA = "0x240A5C0", Offset = "0x24095C0", VA = "0x18240A5C0")]
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: 0x0600D109 RID: 53513 RVA: 0x002F8398 File Offset: 0x002F6598
[Token(Token = "0x600D109")]
[Address(RVA = "0x240DED0", Offset = "0x240CED0", VA = "0x18240DED0")]
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: 0x0600D10A RID: 53514 RVA: 0x002F8454 File Offset: 0x002F6654
[Token(Token = "0x600D10A")]
[Address(RVA = "0x240D9C0", Offset = "0x240C9C0", VA = "0x18240D9C0")]
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: 0x0600D10B RID: 53515 RVA: 0x002F85F4 File Offset: 0x002F67F4
[Token(Token = "0x600D10B")]
[Address(RVA = "0x240D470", Offset = "0x240C470", VA = "0x18240D470")]
private void _fillWindow()
{
int num;
do
{
num = 0;
int num2 = this.window_size;
int num3 = this.strstart;
num2 -= num3;
int num4 = this.lookahead;
num2 -= num4;
if (num3 != 0 || num4 != 0 || this.w_size != -1)
{
int num5 = this.w_size;
num5 += num5;
byte[] array = this.window;
int num6 = 0;
int 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 == num)
{
break;
}
int num16 = this.lookahead;
byte[] array4 = this.window;
uint num18;
int num17 = codec.read_buf(array4, num16, (int)num18);
int num19 = this.lookahead;
byte[] array5 = this.window;
int num20 = this.strstart;
byte b;
this.ins_h = (int)b;
int num21 = num20 + 1;
this.ins_h = (int)b;
int num22 = this.lookahead;
}
while (this._codec.AvailableBytesIn != num);
}
// Token: 0x0600D10C RID: 53516 RVA: 0x002F8770 File Offset: 0x002F6970
[Token(Token = "0x600D10C")]
[Address(RVA = "0x2409EF0", Offset = "0x2408EF0", VA = "0x182409EF0")]
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: 0x0600D10D RID: 53517 RVA: 0x002F8A60 File Offset: 0x002F6C60
[Token(Token = "0x600D10D")]
[Address(RVA = "0x240A800", Offset = "0x2409800", VA = "0x18240A800")]
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: 0x0600D10E RID: 53518 RVA: 0x002F8E08 File Offset: 0x002F7008
[Token(Token = "0x600D10E")]
[Address(RVA = "0x240E650", Offset = "0x240D650", VA = "0x18240E650")]
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: 0x1700213D RID: 8509
// (get) Token: 0x0600D10F RID: 53519 RVA: 0x002F8FD0 File Offset: 0x002F71D0
// (set) Token: 0x0600D110 RID: 53520 RVA: 0x002F8FE4 File Offset: 0x002F71E4
[Token(Token = "0x1700213D")]
internal bool WantRfc1950HeaderBytes
{
[Token(Token = "0x600D10F")]
[Address(RVA = "0x10A74D0", Offset = "0x10A64D0", VA = "0x1810A74D0")]
get
{
return this._WantRfc1950HeaderBytes;
}
[Token(Token = "0x600D110")]
[Address(RVA = "0x10A8DB0", Offset = "0x10A7DB0", VA = "0x1810A8DB0")]
set
{
this._WantRfc1950HeaderBytes = value;
}
}
// Token: 0x0600D111 RID: 53521 RVA: 0x002F8FF8 File Offset: 0x002F71F8
[Token(Token = "0x600D111")]
[Address(RVA = "0x240BB80", Offset = "0x240AB80", VA = "0x18240BB80")]
internal int Initialize(ZlibCodec codec, CompressionLevel level)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600D112 RID: 53522 RVA: 0x002F9010 File Offset: 0x002F7210
[Token(Token = "0x600D112")]
[Address(RVA = "0x240BAD0", Offset = "0x240AAD0", VA = "0x18240BAD0")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600D113 RID: 53523 RVA: 0x002F9028 File Offset: 0x002F7228
[Token(Token = "0x600D113")]
[Address(RVA = "0x240BED0", Offset = "0x240AED0", VA = "0x18240BED0")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits, CompressionStrategy compressionStrategy)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600D114 RID: 53524 RVA: 0x002F903C File Offset: 0x002F723C
[Token(Token = "0x600D114")]
[Address(RVA = "0x240BC20", Offset = "0x240AC20", VA = "0x18240BC20")]
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: 0x0600D115 RID: 53525 RVA: 0x002F9140 File Offset: 0x002F7340
[Token(Token = "0x600D115")]
[Address(RVA = "0x240BF80", Offset = "0x240AF80", VA = "0x18240BF80")]
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: 0x0600D116 RID: 53526 RVA: 0x002F92E4 File Offset: 0x002F74E4
[Token(Token = "0x600D116")]
[Address(RVA = "0x240B970", Offset = "0x240A970", VA = "0x18240B970")]
internal int End()
{
int num = this.status;
int num2 = this.status;
int num3 = this.status;
return -2;
}
// Token: 0x0600D117 RID: 53527 RVA: 0x002F9310 File Offset: 0x002F7510
[Token(Token = "0x600D117")]
[Address(RVA = "0x240C2A0", Offset = "0x240B2A0", VA = "0x18240C2A0")]
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: 0x0600D118 RID: 53528 RVA: 0x002F9364 File Offset: 0x002F7564
[Token(Token = "0x600D118")]
[Address(RVA = "0x240C6F0", Offset = "0x240B6F0", VA = "0x18240C6F0")]
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: 0x0600D119 RID: 53529 RVA: 0x002F93D8 File Offset: 0x002F75D8
[Token(Token = "0x600D119")]
[Address(RVA = "0x240C340", Offset = "0x240B340", VA = "0x18240C340")]
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: 0x0600D11A RID: 53530 RVA: 0x002F9508 File Offset: 0x002F7708
[Token(Token = "0x600D11A")]
[Address(RVA = "0x240B020", Offset = "0x240A020", VA = "0x18240B020")]
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: 0x0600D11B RID: 53531 RVA: 0x002F98A8 File Offset: 0x002F7AA8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D11B")]
[Address(RVA = "0x240CCF0", Offset = "0x240BCF0", VA = "0x18240CCF0")]
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: 0x0400844F RID: 33871
[Token(Token = "0x400844F")]
private static readonly int MEM_LEVEL_MAX;
// Token: 0x04008450 RID: 33872
[Token(Token = "0x4008450")]
private static readonly int MEM_LEVEL_DEFAULT;
// Token: 0x04008451 RID: 33873
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008451")]
private DeflateManager.CompressFunc DeflateFunction;
// Token: 0x04008452 RID: 33874
[Token(Token = "0x4008452")]
private static readonly string[] _ErrorMessage;
// Token: 0x04008453 RID: 33875
[Token(Token = "0x4008453")]
private static readonly int PRESET_DICT;
// Token: 0x04008454 RID: 33876
[Token(Token = "0x4008454")]
private static readonly int INIT_STATE;
// Token: 0x04008455 RID: 33877
[Token(Token = "0x4008455")]
private static readonly int BUSY_STATE;
// Token: 0x04008456 RID: 33878
[Token(Token = "0x4008456")]
private static readonly int FINISH_STATE;
// Token: 0x04008457 RID: 33879
[Token(Token = "0x4008457")]
private static readonly int Z_DEFLATED;
// Token: 0x04008458 RID: 33880
[Token(Token = "0x4008458")]
private static readonly int STORED_BLOCK;
// Token: 0x04008459 RID: 33881
[Token(Token = "0x4008459")]
private static readonly int STATIC_TREES;
// Token: 0x0400845A RID: 33882
[Token(Token = "0x400845A")]
private static readonly int DYN_TREES;
// Token: 0x0400845B RID: 33883
[Token(Token = "0x400845B")]
private static readonly int Z_BINARY;
// Token: 0x0400845C RID: 33884
[Token(Token = "0x400845C")]
private static readonly int Z_ASCII;
// Token: 0x0400845D RID: 33885
[Token(Token = "0x400845D")]
private static readonly int Z_UNKNOWN;
// Token: 0x0400845E RID: 33886
[Token(Token = "0x400845E")]
private static readonly int Buf_size;
// Token: 0x0400845F RID: 33887
[Token(Token = "0x400845F")]
private static readonly int MIN_MATCH;
// Token: 0x04008460 RID: 33888
[Token(Token = "0x4008460")]
private static readonly int MAX_MATCH;
// Token: 0x04008461 RID: 33889
[Token(Token = "0x4008461")]
private static readonly int MIN_LOOKAHEAD;
// Token: 0x04008462 RID: 33890
[Token(Token = "0x4008462")]
private static readonly int HEAP_SIZE;
// Token: 0x04008463 RID: 33891
[Token(Token = "0x4008463")]
private static readonly int END_BLOCK;
// Token: 0x04008464 RID: 33892
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008464")]
internal ZlibCodec _codec;
// Token: 0x04008465 RID: 33893
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008465")]
internal int status;
// Token: 0x04008466 RID: 33894
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008466")]
internal byte[] pending;
// Token: 0x04008467 RID: 33895
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008467")]
internal int nextPending;
// Token: 0x04008468 RID: 33896
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4008468")]
internal int pendingCount;
// Token: 0x04008469 RID: 33897
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008469")]
internal sbyte data_type;
// Token: 0x0400846A RID: 33898
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400846A")]
internal int last_flush;
// Token: 0x0400846B RID: 33899
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400846B")]
internal int w_size;
// Token: 0x0400846C RID: 33900
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x400846C")]
internal int w_bits;
// Token: 0x0400846D RID: 33901
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400846D")]
internal int w_mask;
// Token: 0x0400846E RID: 33902
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400846E")]
internal byte[] window;
// Token: 0x0400846F RID: 33903
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400846F")]
internal int window_size;
// Token: 0x04008470 RID: 33904
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4008470")]
internal short[] prev;
// Token: 0x04008471 RID: 33905
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4008471")]
internal short[] head;
// Token: 0x04008472 RID: 33906
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4008472")]
internal int ins_h;
// Token: 0x04008473 RID: 33907
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x4008473")]
internal int hash_size;
// Token: 0x04008474 RID: 33908
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4008474")]
internal int hash_bits;
// Token: 0x04008475 RID: 33909
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4008475")]
internal int hash_mask;
// Token: 0x04008476 RID: 33910
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4008476")]
internal int hash_shift;
// Token: 0x04008477 RID: 33911
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4008477")]
internal int block_start;
// Token: 0x04008478 RID: 33912
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4008478")]
private DeflateManager.Config config;
// Token: 0x04008479 RID: 33913
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4008479")]
internal int match_length;
// Token: 0x0400847A RID: 33914
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x400847A")]
internal int prev_match;
// Token: 0x0400847B RID: 33915
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400847B")]
internal int match_available;
// Token: 0x0400847C RID: 33916
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x400847C")]
internal int strstart;
// Token: 0x0400847D RID: 33917
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400847D")]
internal int match_start;
// Token: 0x0400847E RID: 33918
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x400847E")]
internal int lookahead;
// Token: 0x0400847F RID: 33919
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400847F")]
internal int prev_length;
// Token: 0x04008480 RID: 33920
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x4008480")]
internal CompressionLevel compressionLevel;
// Token: 0x04008481 RID: 33921
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4008481")]
internal CompressionStrategy compressionStrategy;
// Token: 0x04008482 RID: 33922
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4008482")]
internal short[] dyn_ltree;
// Token: 0x04008483 RID: 33923
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4008483")]
internal short[] dyn_dtree;
// Token: 0x04008484 RID: 33924
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4008484")]
internal short[] bl_tree;
// Token: 0x04008485 RID: 33925
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4008485")]
internal ZTree treeLiterals;
// Token: 0x04008486 RID: 33926
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4008486")]
internal ZTree treeDistances;
// Token: 0x04008487 RID: 33927
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4008487")]
internal ZTree treeBitLengths;
// Token: 0x04008488 RID: 33928
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x4008488")]
internal short[] bl_count;
// Token: 0x04008489 RID: 33929
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x4008489")]
internal int[] heap;
// Token: 0x0400848A RID: 33930
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x400848A")]
internal int heap_len;
// Token: 0x0400848B RID: 33931
[FieldOffset(Offset = "0xFC")]
[Token(Token = "0x400848B")]
internal int heap_max;
// Token: 0x0400848C RID: 33932
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x400848C")]
internal sbyte[] depth;
// Token: 0x0400848D RID: 33933
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x400848D")]
internal int _lengthOffset;
// Token: 0x0400848E RID: 33934
[FieldOffset(Offset = "0x10C")]
[Token(Token = "0x400848E")]
internal int lit_bufsize;
// Token: 0x0400848F RID: 33935
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x400848F")]
internal int last_lit;
// Token: 0x04008490 RID: 33936
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x4008490")]
internal int _distanceOffset;
// Token: 0x04008491 RID: 33937
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x4008491")]
internal int opt_len;
// Token: 0x04008492 RID: 33938
[FieldOffset(Offset = "0x11C")]
[Token(Token = "0x4008492")]
internal int static_len;
// Token: 0x04008493 RID: 33939
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x4008493")]
internal int matches;
// Token: 0x04008494 RID: 33940
[FieldOffset(Offset = "0x124")]
[Token(Token = "0x4008494")]
internal int last_eob_len;
// Token: 0x04008495 RID: 33941
[FieldOffset(Offset = "0x128")]
[Token(Token = "0x4008495")]
internal short bi_buf;
// Token: 0x04008496 RID: 33942
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x4008496")]
internal int bi_valid;
// Token: 0x04008497 RID: 33943
[FieldOffset(Offset = "0x130")]
[Token(Token = "0x4008497")]
private bool Rfc1950BytesEmitted;
// Token: 0x04008498 RID: 33944
[FieldOffset(Offset = "0x131")]
[Token(Token = "0x4008498")]
private bool _WantRfc1950HeaderBytes;
// Token: 0x02002083 RID: 8323
[Token(Token = "0x2002083")]
internal sealed class CompressFunc : MulticastDelegate
{
// Token: 0x0600D11C RID: 53532 RVA: 0x002F99C0 File Offset: 0x002F7BC0
[Token(Token = "0x600D11C")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public CompressFunc(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600D11D RID: 53533 RVA: 0x002F99DC File Offset: 0x002F7BDC
[Token(Token = "0x600D11D")]
[Address(RVA = "0x569240", Offset = "0x568240", VA = "0x180569240", 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: 0x0600D11E RID: 53534 RVA: 0x002F9A60 File Offset: 0x002F7C60
[Token(Token = "0x600D11E")]
[Address(RVA = "0x2404CA0", Offset = "0x2403CA0", VA = "0x182404CA0", Slot = "14")]
public IAsyncResult BeginInvoke(FlushType flush, AsyncCallback callback, object @object)
{
}
// Token: 0x0600D11F RID: 53535 RVA: 0x002F9A70 File Offset: 0x002F7C70
[Token(Token = "0x600D11F")]
[Address(RVA = "0x4AEA90", Offset = "0x4ADA90", VA = "0x1804AEA90", Slot = "15")]
public BlockState EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
// Token: 0x02002084 RID: 8324
[Token(Token = "0x2002084")]
internal class Config
{
// Token: 0x0600D120 RID: 53536 RVA: 0x002F9A84 File Offset: 0x002F7C84
[Token(Token = "0x600D120")]
[Address(RVA = "0x4E0F80", Offset = "0x4DFF80", VA = "0x1804E0F80")]
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: 0x0600D121 RID: 53537 RVA: 0x002F9ABC File Offset: 0x002F7CBC
[Token(Token = "0x600D121")]
[Address(RVA = "0x2404D20", Offset = "0x2403D20", VA = "0x182404D20")]
public static DeflateManager.Config Lookup(CompressionLevel level)
{
return DeflateManager.Config.Table[(int)level];
}
// Token: 0x0600D122 RID: 53538 RVA: 0x002F9ADC File Offset: 0x002F7CDC
[Token(Token = "0x600D122")]
[Address(RVA = "0x2404DB0", Offset = "0x2403DB0", VA = "0x182404DB0")]
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: 0x04008499 RID: 33945
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008499")]
internal int GoodLength;
// Token: 0x0400849A RID: 33946
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400849A")]
internal int MaxLazy;
// Token: 0x0400849B RID: 33947
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400849B")]
internal int NiceLength;
// Token: 0x0400849C RID: 33948
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x400849C")]
internal int MaxChainLength;
// Token: 0x0400849D RID: 33949
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400849D")]
internal DeflateFlavor Flavor;
// Token: 0x0400849E RID: 33950
[Token(Token = "0x400849E")]
private static readonly DeflateManager.Config[] Table;
}
}
}
@@ -0,0 +1,518 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002085 RID: 8325
[Token(Token = "0x2002085")]
public class DeflateStream : Stream
{
// Token: 0x0600D123 RID: 53539 RVA: 0x002F9D60 File Offset: 0x002F7F60
[Token(Token = "0x600D123")]
[Address(RVA = "0x24103A0", Offset = "0x240F3A0", VA = "0x1824103A0")]
public DeflateStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600D124 RID: 53540 RVA: 0x002F9D70 File Offset: 0x002F7F70
[Token(Token = "0x600D124")]
[Address(RVA = "0x24103D0", Offset = "0x240F3D0", VA = "0x1824103D0")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600D125 RID: 53541 RVA: 0x002F9D80 File Offset: 0x002F7F80
[Token(Token = "0x600D125")]
[Address(RVA = "0x24103F0", Offset = "0x240F3F0", VA = "0x1824103F0")]
public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600D126 RID: 53542 RVA: 0x002F9D90 File Offset: 0x002F7F90
[Token(Token = "0x600D126")]
[Address(RVA = "0x24104F0", Offset = "0x240F4F0", VA = "0x1824104F0")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x0600D127 RID: 53543 RVA: 0x002F9DB4 File Offset: 0x002F7FB4
[Token(Token = "0x600D127")]
[Address(RVA = "0x2410420", Offset = "0x240F420", VA = "0x182410420")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen, int windowBits)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x1700213E RID: 8510
// (get) Token: 0x0600D128 RID: 53544 RVA: 0x002F9DD8 File Offset: 0x002F7FD8
// (set) Token: 0x0600D129 RID: 53545 RVA: 0x002F9DF8 File Offset: 0x002F7FF8
[Token(Token = "0x1700213E")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600D128")]
[Address(RVA = "0x2410700", Offset = "0x240F700", VA = "0x182410700", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600D129")]
[Address(RVA = "0x2410940", Offset = "0x240F940", VA = "0x182410940", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600D129)
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 1663
*/;
}
}
// Token: 0x1700213F RID: 8511
// (get) Token: 0x0600D12A RID: 53546 RVA: 0x002F9E28 File Offset: 0x002F8028
// (set) Token: 0x0600D12B RID: 53547 RVA: 0x002F9E48 File Offset: 0x002F8048
[Token(Token = "0x1700213F")]
public int BufferSize
{
[Token(Token = "0x600D12A")]
[Address(RVA = "0x24105C0", Offset = "0x240F5C0", VA = "0x1824105C0")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600D12B")]
[Address(RVA = "0x24107F0", Offset = "0x240F7F0", VA = "0x1824107F0")]
set
{
/*
An exception occurred when decompiling this method (0600D12B)
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 1663
*/;
}
}
// Token: 0x17002140 RID: 8512
// (get) Token: 0x0600D12C RID: 53548 RVA: 0x002F9E84 File Offset: 0x002F8084
// (set) Token: 0x0600D12D RID: 53549 RVA: 0x002F9EA4 File Offset: 0x002F80A4
[Token(Token = "0x17002140")]
public CompressionStrategy Strategy
{
[Token(Token = "0x600D12C")]
[Address(RVA = "0x2410770", Offset = "0x240F770", VA = "0x182410770")]
get
{
return this._baseStream.Strategy;
}
[Token(Token = "0x600D12D")]
[Address(RVA = "0x2410A10", Offset = "0x240FA10", VA = "0x182410A10")]
set
{
/*
An exception occurred when decompiling this method (0600D12D)
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 1663
*/;
}
}
// Token: 0x17002141 RID: 8513
// (get) Token: 0x0600D12E RID: 53550 RVA: 0x002F9ED4 File Offset: 0x002F80D4
[Token(Token = "0x17002141")]
public virtual long TotalIn
{
[Token(Token = "0x600D12E")]
[Address(RVA = "0x2410790", Offset = "0x240F790", VA = "0x182410790", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x17002142 RID: 8514
// (get) Token: 0x0600D12F RID: 53551 RVA: 0x002F9EF8 File Offset: 0x002F80F8
[Token(Token = "0x17002142")]
public virtual long TotalOut
{
[Token(Token = "0x600D12F")]
[Address(RVA = "0x24107C0", Offset = "0x240F7C0", VA = "0x1824107C0", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600D130 RID: 53552 RVA: 0x002F9F1C File Offset: 0x002F811C
[Token(Token = "0x600D130")]
[Address(RVA = "0x24100B0", Offset = "0x240F0B0", VA = "0x1824100B0", 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: 0x17002143 RID: 8515
// (get) Token: 0x0600D131 RID: 53553 RVA: 0x002F9F5C File Offset: 0x002F815C
[Token(Token = "0x17002143")]
public override bool CanRead
{
[Token(Token = "0x600D131")]
[Address(RVA = "0x24105E0", Offset = "0x240F5E0", VA = "0x1824105E0", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600D131)
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 1663
*/;
}
}
// Token: 0x17002144 RID: 8516
// (get) Token: 0x0600D132 RID: 53554 RVA: 0x002F9F90 File Offset: 0x002F8190
[Token(Token = "0x17002144")]
public override bool CanSeek
{
[Token(Token = "0x600D132")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "8")]
get
{
}
}
// Token: 0x17002145 RID: 8517
// (get) Token: 0x0600D133 RID: 53555 RVA: 0x002F9FA0 File Offset: 0x002F81A0
[Token(Token = "0x17002145")]
public override bool CanWrite
{
[Token(Token = "0x600D133")]
[Address(RVA = "0x2410670", Offset = "0x240F670", VA = "0x182410670", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600D133)
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 1663
*/;
}
}
// Token: 0x0600D134 RID: 53556 RVA: 0x002F9FD4 File Offset: 0x002F81D4
[Token(Token = "0x600D134")]
[Address(RVA = "0x2410150", Offset = "0x240F150", VA = "0x182410150", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600D134)
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 1663
*/;
}
// Token: 0x17002146 RID: 8518
// (get) Token: 0x0600D135 RID: 53557 RVA: 0x002FA000 File Offset: 0x002F8200
[Token(Token = "0x17002146")]
public override long Length
{
[Token(Token = "0x600D135")]
[Address(RVA = "0x2410720", Offset = "0x240F720", VA = "0x182410720", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600D135)
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 1663
*/;
}
}
// Token: 0x17002147 RID: 8519
// (get) Token: 0x0600D136 RID: 53558 RVA: 0x002FA014 File Offset: 0x002F8214
// (set) Token: 0x0600D137 RID: 53559 RVA: 0x002FA058 File Offset: 0x002F8258
[Token(Token = "0x17002147")]
public override long Position
{
[Token(Token = "0x600D136")]
[Address(RVA = "0x10A96B0", Offset = "0x10A86B0", VA = "0x1810A96B0", 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 = "0x600D137")]
[Address(RVA = "0x24109C0", Offset = "0x240F9C0", VA = "0x1824109C0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D137)
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 1663
*/;
}
}
// Token: 0x0600D138 RID: 53560 RVA: 0x002FA06C File Offset: 0x002F826C
[Token(Token = "0x600D138")]
[Address(RVA = "0x24101D0", Offset = "0x240F1D0", VA = "0x1824101D0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D138)
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 1663
*/;
}
// Token: 0x0600D139 RID: 53561 RVA: 0x002FA09C File Offset: 0x002F829C
[Token(Token = "0x600D139")]
[Address(RVA = "0x2410290", Offset = "0x240F290", VA = "0x182410290", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600D139)
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 1663
*/;
}
// Token: 0x0600D13A RID: 53562 RVA: 0x002FA0B0 File Offset: 0x002F82B0
[Token(Token = "0x600D13A")]
[Address(RVA = "0x4B7CF0", Offset = "0x4B6CF0", VA = "0x1804B7CF0", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600D13B RID: 53563 RVA: 0x002FA0D0 File Offset: 0x002F82D0
[Token(Token = "0x600D13B")]
[Address(RVA = "0x24102E0", Offset = "0x240F2E0", VA = "0x1824102E0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D13B)
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 1663
*/;
}
// Token: 0x0400849F RID: 33951
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400849F")]
internal ZlibBaseStream _baseStream;
// Token: 0x040084A0 RID: 33952
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40084A0")]
internal Stream _innerStream;
// Token: 0x040084A1 RID: 33953
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40084A1")]
private bool _disposed;
}
}
@@ -0,0 +1,26 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200208F RID: 8335
[Token(Token = "0x200208F")]
public enum FlushType
{
// Token: 0x04008528 RID: 34088
[Token(Token = "0x4008528")]
None,
// Token: 0x04008529 RID: 34089
[Token(Token = "0x4008529")]
Partial,
// Token: 0x0400852A RID: 34090
[Token(Token = "0x400852A")]
Sync,
// Token: 0x0400852B RID: 34091
[Token(Token = "0x400852B")]
Full,
// Token: 0x0400852C RID: 34092
[Token(Token = "0x400852C")]
Finish
}
}
@@ -0,0 +1,655 @@
using System;
using System.IO;
using System.Text;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002086 RID: 8326
[Token(Token = "0x2002086")]
public class GZipStream : Stream
{
// Token: 0x17002148 RID: 8520
// (get) Token: 0x0600D13C RID: 53564 RVA: 0x002FA100 File Offset: 0x002F8300
// (set) Token: 0x0600D13D RID: 53565 RVA: 0x002FA114 File Offset: 0x002F8314
[Token(Token = "0x17002148")]
public string Comment
{
[Token(Token = "0x600D13C")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this._Comment;
}
[Token(Token = "0x600D13D")]
[Address(RVA = "0x2411A30", Offset = "0x2410A30", VA = "0x182411A30")]
set
{
/*
An exception occurred when decompiling this method (0600D13D)
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 1663
*/;
}
}
// Token: 0x17002149 RID: 8521
// (get) Token: 0x0600D13E RID: 53566 RVA: 0x002FA13C File Offset: 0x002F833C
// (set) Token: 0x0600D13F RID: 53567 RVA: 0x002FA150 File Offset: 0x002F8350
[Token(Token = "0x17002149")]
public string FileName
{
[Token(Token = "0x600D13E")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get
{
return this._FileName;
}
[Token(Token = "0x600D13F")]
[Address(RVA = "0x2411AB0", Offset = "0x2410AB0", VA = "0x182411AB0")]
set
{
/*
An exception occurred when decompiling this method (0600D13F)
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 1663
*/;
}
}
// Token: 0x1700214A RID: 8522
// (get) Token: 0x0600D140 RID: 53568 RVA: 0x002FA1EC File Offset: 0x002F83EC
[Token(Token = "0x1700214A")]
public int Crc32
{
[Token(Token = "0x600D140")]
[Address(RVA = "0x66A4F0", Offset = "0x6694F0", VA = "0x18066A4F0")]
get
{
return this._Crc32;
}
}
// Token: 0x0600D141 RID: 53569 RVA: 0x002FA200 File Offset: 0x002F8400
[Token(Token = "0x600D141")]
[Address(RVA = "0x2411580", Offset = "0x2410580", VA = "0x182411580")]
public GZipStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600D142 RID: 53570 RVA: 0x002FA210 File Offset: 0x002F8410
[Token(Token = "0x600D142")]
[Address(RVA = "0x2411680", Offset = "0x2410680", VA = "0x182411680")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600D143 RID: 53571 RVA: 0x002FA220 File Offset: 0x002F8420
[Token(Token = "0x600D143")]
[Address(RVA = "0x24116A0", Offset = "0x24106A0", VA = "0x1824116A0")]
public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600D144 RID: 53572 RVA: 0x002FA230 File Offset: 0x002F8430
[Token(Token = "0x600D144")]
[Address(RVA = "0x24115B0", Offset = "0x24105B0", VA = "0x1824115B0")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x1700214B RID: 8523
// (get) Token: 0x0600D145 RID: 53573 RVA: 0x002FA24C File Offset: 0x002F844C
// (set) Token: 0x0600D146 RID: 53574 RVA: 0x002FA26C File Offset: 0x002F846C
[Token(Token = "0x1700214B")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600D145")]
[Address(RVA = "0x2411810", Offset = "0x2410810", VA = "0x182411810", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600D146")]
[Address(RVA = "0x2411C20", Offset = "0x2410C20", VA = "0x182411C20", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600D146)
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 1663
*/;
}
}
// Token: 0x1700214C RID: 8524
// (get) Token: 0x0600D147 RID: 53575 RVA: 0x002FA29C File Offset: 0x002F849C
// (set) Token: 0x0600D148 RID: 53576 RVA: 0x002FA2BC File Offset: 0x002F84BC
[Token(Token = "0x1700214C")]
public int BufferSize
{
[Token(Token = "0x600D147")]
[Address(RVA = "0x24116D0", Offset = "0x24106D0", VA = "0x1824116D0")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600D148")]
[Address(RVA = "0x24118E0", Offset = "0x24108E0", VA = "0x1824118E0")]
set
{
/*
An exception occurred when decompiling this method (0600D148)
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 1663
*/;
}
}
// Token: 0x1700214D RID: 8525
// (get) Token: 0x0600D149 RID: 53577 RVA: 0x002FA2F8 File Offset: 0x002F84F8
[Token(Token = "0x1700214D")]
public virtual long TotalIn
{
[Token(Token = "0x600D149")]
[Address(RVA = "0x2411880", Offset = "0x2410880", VA = "0x182411880", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x1700214E RID: 8526
// (get) Token: 0x0600D14A RID: 53578 RVA: 0x002FA31C File Offset: 0x002F851C
[Token(Token = "0x1700214E")]
public virtual long TotalOut
{
[Token(Token = "0x600D14A")]
[Address(RVA = "0x24118B0", Offset = "0x24108B0", VA = "0x1824118B0", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600D14B RID: 53579 RVA: 0x002FA340 File Offset: 0x002F8540
[Token(Token = "0x600D14B")]
[Address(RVA = "0x2410A90", Offset = "0x240FA90", VA = "0x182410A90", 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;
int crc = this._baseStream.Crc32;
this._Crc32 = crc;
}
}
this._disposed = true;
}
base.Dispose(disposing);
if (num == 0)
{
return;
}
throw new NullReferenceException();
}
// Token: 0x1700214F RID: 8527
// (get) Token: 0x0600D14C RID: 53580 RVA: 0x002FA39C File Offset: 0x002F859C
[Token(Token = "0x1700214F")]
public override bool CanRead
{
[Token(Token = "0x600D14C")]
[Address(RVA = "0x24116F0", Offset = "0x24106F0", VA = "0x1824116F0", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600D14C)
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 1663
*/;
}
}
// Token: 0x17002150 RID: 8528
// (get) Token: 0x0600D14D RID: 53581 RVA: 0x002FA3D0 File Offset: 0x002F85D0
[Token(Token = "0x17002150")]
public override bool CanSeek
{
[Token(Token = "0x600D14D")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "8")]
get
{
}
}
// Token: 0x17002151 RID: 8529
// (get) Token: 0x0600D14E RID: 53582 RVA: 0x002FA3E0 File Offset: 0x002F85E0
[Token(Token = "0x17002151")]
public override bool CanWrite
{
[Token(Token = "0x600D14E")]
[Address(RVA = "0x2411780", Offset = "0x2410780", VA = "0x182411780", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600D14E)
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 1663
*/;
}
}
// Token: 0x0600D14F RID: 53583 RVA: 0x002FA414 File Offset: 0x002F8614
[Token(Token = "0x600D14F")]
[Address(RVA = "0x2411020", Offset = "0x2410020", VA = "0x182411020", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600D14F)
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 1663
*/;
}
// Token: 0x17002152 RID: 8530
// (get) Token: 0x0600D150 RID: 53584 RVA: 0x002FA440 File Offset: 0x002F8640
[Token(Token = "0x17002152")]
public override long Length
{
[Token(Token = "0x600D150")]
[Address(RVA = "0x2411830", Offset = "0x2410830", VA = "0x182411830", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600D150)
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 1663
*/;
}
}
// Token: 0x17002153 RID: 8531
// (get) Token: 0x0600D151 RID: 53585 RVA: 0x002FA454 File Offset: 0x002F8654
// (set) Token: 0x0600D152 RID: 53586 RVA: 0x002FA4A0 File Offset: 0x002F86A0
[Token(Token = "0x17002153")]
public override long Position
{
[Token(Token = "0x600D151")]
[Address(RVA = "0x10AA480", Offset = "0x10A9480", VA = "0x1810AA480", 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 = "0x600D152")]
[Address(RVA = "0x2411CA0", Offset = "0x2410CA0", VA = "0x182411CA0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D152)
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 1663
*/;
}
}
// Token: 0x0600D153 RID: 53587 RVA: 0x002FA4B4 File Offset: 0x002F86B4
[Token(Token = "0x600D153")]
[Address(RVA = "0x24110A0", Offset = "0x24100A0", VA = "0x1824110A0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D153)
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 1663
*/;
}
// Token: 0x0600D154 RID: 53588 RVA: 0x002FA5B0 File Offset: 0x002F87B0
[Token(Token = "0x600D154")]
[Address(RVA = "0x2411340", Offset = "0x2410340", VA = "0x182411340", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600D154)
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 1663
*/;
}
// Token: 0x0600D155 RID: 53589 RVA: 0x002FA5C4 File Offset: 0x002F87C4
[Token(Token = "0x600D155")]
[Address(RVA = "0x2411390", Offset = "0x2410390", VA = "0x182411390", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600D156 RID: 53590 RVA: 0x002FA5E4 File Offset: 0x002F87E4
[Token(Token = "0x600D156")]
[Address(RVA = "0x24113C0", Offset = "0x24103C0", VA = "0x1824113C0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D156)
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 1663
*/;
}
// Token: 0x0600D157 RID: 53591 RVA: 0x002FA640 File Offset: 0x002F8840
[Token(Token = "0x600D157")]
[Address(RVA = "0x2410B50", Offset = "0x240FB50", VA = "0x182410B50")]
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: 0x040084A2 RID: 33954
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40084A2")]
public DateTime? LastModified;
// Token: 0x040084A3 RID: 33955
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40084A3")]
private int _headerByteCount;
// Token: 0x040084A4 RID: 33956
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40084A4")]
internal ZlibBaseStream _baseStream;
// Token: 0x040084A5 RID: 33957
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40084A5")]
private bool _disposed;
// Token: 0x040084A6 RID: 33958
[FieldOffset(Offset = "0x49")]
[Token(Token = "0x40084A6")]
private bool _firstReadDone;
// Token: 0x040084A7 RID: 33959
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40084A7")]
private string _FileName;
// Token: 0x040084A8 RID: 33960
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40084A8")]
private string _Comment;
// Token: 0x040084A9 RID: 33961
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40084A9")]
private int _Crc32;
// Token: 0x040084AA RID: 33962
[Token(Token = "0x40084AA")]
internal static readonly DateTime _unixEpoch = 0;
// Token: 0x040084AB RID: 33963
[Token(Token = "0x40084AB")]
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: 0x02002087 RID: 8327
[Token(Token = "0x2002087")]
internal sealed class InfTree
{
// Token: 0x0600D159 RID: 53593 RVA: 0x002FA754 File Offset: 0x002F8954
[Token(Token = "0x600D159")]
[Address(RVA = "0x2416610", Offset = "0x2415610", VA = "0x182416610")]
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: 0x0600D15A RID: 53594 RVA: 0x002FAA70 File Offset: 0x002F8C70
[Token(Token = "0x600D15A")]
[Address(RVA = "0x24171F0", Offset = "0x24161F0", VA = "0x1824171F0")]
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: 0x0600D15B RID: 53595 RVA: 0x002FAAC4 File Offset: 0x002F8CC4
[Token(Token = "0x600D15B")]
[Address(RVA = "0x2417340", Offset = "0x2416340", VA = "0x182417340")]
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: 0x0600D15C RID: 53596 RVA: 0x002FAB64 File Offset: 0x002F8D64
[Token(Token = "0x600D15C")]
[Address(RVA = "0x2417650", Offset = "0x2416650", VA = "0x182417650")]
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: 0x0600D15D RID: 53597 RVA: 0x002FABA0 File Offset: 0x002F8DA0
[Token(Token = "0x600D15D")]
[Address(RVA = "0x24177E0", Offset = "0x24167E0", VA = "0x1824177E0")]
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: 0x0600D15E RID: 53598 RVA: 0x002FACC0 File Offset: 0x002F8EC0
[Token(Token = "0x600D15E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public InfTree()
{
}
// Token: 0x0600D15F RID: 53599 RVA: 0x002FACD4 File Offset: 0x002F8ED4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D15F")]
[Address(RVA = "0x2416490", Offset = "0x2415490", VA = "0x182416490")]
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: 0x040084AC RID: 33964
[Token(Token = "0x40084AC")]
private const int MANY = 1440;
// Token: 0x040084AD RID: 33965
[Token(Token = "0x40084AD")]
private const int Z_OK = 0;
// Token: 0x040084AE RID: 33966
[Token(Token = "0x40084AE")]
private const int Z_STREAM_END = 1;
// Token: 0x040084AF RID: 33967
[Token(Token = "0x40084AF")]
private const int Z_NEED_DICT = 2;
// Token: 0x040084B0 RID: 33968
[Token(Token = "0x40084B0")]
private const int Z_ERRNO = -1;
// Token: 0x040084B1 RID: 33969
[Token(Token = "0x40084B1")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040084B2 RID: 33970
[Token(Token = "0x40084B2")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040084B3 RID: 33971
[Token(Token = "0x40084B3")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040084B4 RID: 33972
[Token(Token = "0x40084B4")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040084B5 RID: 33973
[Token(Token = "0x40084B5")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040084B6 RID: 33974
[Token(Token = "0x40084B6")]
internal const int fixed_bl = 9;
// Token: 0x040084B7 RID: 33975
[Token(Token = "0x40084B7")]
internal const int fixed_bd = 5;
// Token: 0x040084B8 RID: 33976
[Token(Token = "0x40084B8")]
internal static readonly int[] fixed_tl;
// Token: 0x040084B9 RID: 33977
[Token(Token = "0x40084B9")]
internal static readonly int[] fixed_td;
// Token: 0x040084BA RID: 33978
[Token(Token = "0x40084BA")]
internal static readonly int[] cplens;
// Token: 0x040084BB RID: 33979
[Token(Token = "0x40084BB")]
internal static readonly int[] cplext;
// Token: 0x040084BC RID: 33980
[Token(Token = "0x40084BC")]
internal static readonly int[] cpdist;
// Token: 0x040084BD RID: 33981
[Token(Token = "0x40084BD")]
internal static readonly int[] cpdext;
// Token: 0x040084BE RID: 33982
[Token(Token = "0x40084BE")]
internal const int BMAX = 15;
// Token: 0x040084BF RID: 33983
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40084BF")]
internal int[] hn;
// Token: 0x040084C0 RID: 33984
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40084C0")]
internal int[] v;
// Token: 0x040084C1 RID: 33985
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40084C1")]
internal int[] c;
// Token: 0x040084C2 RID: 33986
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40084C2")]
internal int[] r;
// Token: 0x040084C3 RID: 33987
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40084C3")]
internal int[] u;
// Token: 0x040084C4 RID: 33988
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40084C4")]
internal int[] x;
}
}
@@ -0,0 +1,352 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002088 RID: 8328
[Token(Token = "0x2002088")]
internal sealed class InflateBlocks
{
// Token: 0x0600D160 RID: 53600 RVA: 0x002FAD80 File Offset: 0x002F8F80
[Token(Token = "0x600D160")]
[Address(RVA = "0x24193C0", Offset = "0x24183C0", VA = "0x1824193C0")]
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: 0x0600D161 RID: 53601 RVA: 0x002FAE14 File Offset: 0x002F9014
[Token(Token = "0x600D161")]
[Address(RVA = "0x2419250", Offset = "0x2418250", VA = "0x182419250")]
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: 0x0600D162 RID: 53602 RVA: 0x002FAE68 File Offset: 0x002F9068
[Token(Token = "0x600D162")]
[Address(RVA = "0x2417BD0", Offset = "0x2416BD0", VA = "0x182417BD0")]
internal int Process(int r)
{
/*
An exception occurred when decompiling this method (0600D162)
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 1663
*/;
}
// Token: 0x0600D163 RID: 53603 RVA: 0x002FBA2C File Offset: 0x002F9C2C
[Token(Token = "0x600D163")]
[Address(RVA = "0x2417B50", Offset = "0x2416B50", VA = "0x182417B50")]
internal void Free()
{
uint num = this.Reset();
VariableSizedBufferPool.Release(this.window);
int num2 = 0;
this.window = num2;
this.hufts = num2;
}
// Token: 0x0600D164 RID: 53604 RVA: 0x002FBA5C File Offset: 0x002F9C5C
[Token(Token = "0x600D164")]
[Address(RVA = "0x2419310", Offset = "0x2418310", VA = "0x182419310")]
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: 0x0600D165 RID: 53605 RVA: 0x002FBA8C File Offset: 0x002F9C8C
[Token(Token = "0x600D165")]
[Address(RVA = "0x4EAF20", Offset = "0x4E9F20", VA = "0x1804EAF20")]
internal int SyncPoint()
{
/*
An exception occurred when decompiling this method (0600D165)
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 1663
*/;
}
// Token: 0x0600D166 RID: 53606 RVA: 0x002FBAA4 File Offset: 0x002F9CA4
[Token(Token = "0x600D166")]
[Address(RVA = "0x24179A0", Offset = "0x24169A0", VA = "0x1824179A0")]
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: 0x0600D167 RID: 53607 RVA: 0x002FBBD8 File Offset: 0x002F9DD8
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D167")]
[Address(RVA = "0x2419360", Offset = "0x2418360", VA = "0x182419360")]
static InflateBlocks()
{
int[] array = new int[19];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.1FDC8DB567F5AAA7068D0D2A601CD71657CBDF38).FieldHandle);
InflateBlocks.border = array;
}
// Token: 0x040084C5 RID: 33989
[Token(Token = "0x40084C5")]
private const int MANY = 1440;
// Token: 0x040084C6 RID: 33990
[Token(Token = "0x40084C6")]
internal static readonly int[] border;
// Token: 0x040084C7 RID: 33991
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40084C7")]
private InflateBlocks.InflateBlockMode mode;
// Token: 0x040084C8 RID: 33992
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40084C8")]
internal int left;
// Token: 0x040084C9 RID: 33993
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40084C9")]
internal int table;
// Token: 0x040084CA RID: 33994
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40084CA")]
internal int index;
// Token: 0x040084CB RID: 33995
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40084CB")]
internal int[] blens;
// Token: 0x040084CC RID: 33996
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40084CC")]
internal int[] bb;
// Token: 0x040084CD RID: 33997
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40084CD")]
internal int[] tb;
// Token: 0x040084CE RID: 33998
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40084CE")]
internal InflateCodes codes;
// Token: 0x040084CF RID: 33999
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40084CF")]
internal int last;
// Token: 0x040084D0 RID: 34000
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40084D0")]
internal ZlibCodec _codec;
// Token: 0x040084D1 RID: 34001
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40084D1")]
internal int bitk;
// Token: 0x040084D2 RID: 34002
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x40084D2")]
internal int bitb;
// Token: 0x040084D3 RID: 34003
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40084D3")]
internal int[] hufts;
// Token: 0x040084D4 RID: 34004
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40084D4")]
internal byte[] window;
// Token: 0x040084D5 RID: 34005
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40084D5")]
internal int end;
// Token: 0x040084D6 RID: 34006
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x40084D6")]
internal int readAt;
// Token: 0x040084D7 RID: 34007
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40084D7")]
internal int writeAt;
// Token: 0x040084D8 RID: 34008
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40084D8")]
internal object checkfn;
// Token: 0x040084D9 RID: 34009
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40084D9")]
internal uint check;
// Token: 0x040084DA RID: 34010
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40084DA")]
internal InfTree inftree;
// Token: 0x02002089 RID: 8329
[Token(Token = "0x2002089")]
private enum InflateBlockMode
{
// Token: 0x040084DC RID: 34012
[Token(Token = "0x40084DC")]
TYPE,
// Token: 0x040084DD RID: 34013
[Token(Token = "0x40084DD")]
LENS,
// Token: 0x040084DE RID: 34014
[Token(Token = "0x40084DE")]
STORED,
// Token: 0x040084DF RID: 34015
[Token(Token = "0x40084DF")]
TABLE,
// Token: 0x040084E0 RID: 34016
[Token(Token = "0x40084E0")]
BTREE,
// Token: 0x040084E1 RID: 34017
[Token(Token = "0x40084E1")]
DTREE,
// Token: 0x040084E2 RID: 34018
[Token(Token = "0x40084E2")]
CODES,
// Token: 0x040084E3 RID: 34019
[Token(Token = "0x40084E3")]
DRY,
// Token: 0x040084E4 RID: 34020
[Token(Token = "0x40084E4")]
DONE,
// Token: 0x040084E5 RID: 34021
[Token(Token = "0x40084E5")]
BAD
}
}
}
@@ -0,0 +1,431 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200208B RID: 8331
[Token(Token = "0x200208B")]
internal sealed class InflateCodes
{
// Token: 0x0600D169 RID: 53609 RVA: 0x002FBC20 File Offset: 0x002F9E20
[Token(Token = "0x600D169")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
internal InflateCodes()
{
}
// Token: 0x0600D16A RID: 53610 RVA: 0x002FBC34 File Offset: 0x002F9E34
[Token(Token = "0x600D16A")]
[Address(RVA = "0x4EBB60", Offset = "0x4EAB60", VA = "0x1804EBB60")]
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: 0x0600D16B RID: 53611 RVA: 0x002FBC7C File Offset: 0x002F9E7C
[Token(Token = "0x600D16B")]
[Address(RVA = "0x241A0C0", Offset = "0x24190C0", VA = "0x18241A0C0")]
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: 0x0600D16C RID: 53612 RVA: 0x002FC058 File Offset: 0x002FA258
[Token(Token = "0x600D16C")]
[Address(RVA = "0x24194F0", Offset = "0x24184F0", VA = "0x1824194F0")]
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: 0x040084E7 RID: 34023
[Token(Token = "0x40084E7")]
private const int START = 0;
// Token: 0x040084E8 RID: 34024
[Token(Token = "0x40084E8")]
private const int LEN = 1;
// Token: 0x040084E9 RID: 34025
[Token(Token = "0x40084E9")]
private const int LENEXT = 2;
// Token: 0x040084EA RID: 34026
[Token(Token = "0x40084EA")]
private const int DIST = 3;
// Token: 0x040084EB RID: 34027
[Token(Token = "0x40084EB")]
private const int DISTEXT = 4;
// Token: 0x040084EC RID: 34028
[Token(Token = "0x40084EC")]
private const int COPY = 5;
// Token: 0x040084ED RID: 34029
[Token(Token = "0x40084ED")]
private const int LIT = 6;
// Token: 0x040084EE RID: 34030
[Token(Token = "0x40084EE")]
private const int WASH = 7;
// Token: 0x040084EF RID: 34031
[Token(Token = "0x40084EF")]
private const int END = 8;
// Token: 0x040084F0 RID: 34032
[Token(Token = "0x40084F0")]
private const int BADCODE = 9;
// Token: 0x040084F1 RID: 34033
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40084F1")]
internal int mode;
// Token: 0x040084F2 RID: 34034
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40084F2")]
internal int len;
// Token: 0x040084F3 RID: 34035
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40084F3")]
internal int[] tree;
// Token: 0x040084F4 RID: 34036
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40084F4")]
internal int tree_index;
// Token: 0x040084F5 RID: 34037
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40084F5")]
internal int need;
// Token: 0x040084F6 RID: 34038
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40084F6")]
internal int lit;
// Token: 0x040084F7 RID: 34039
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40084F7")]
internal int bitsToGet;
// Token: 0x040084F8 RID: 34040
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40084F8")]
internal int dist;
// Token: 0x040084F9 RID: 34041
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40084F9")]
internal byte lbits;
// Token: 0x040084FA RID: 34042
[FieldOffset(Offset = "0x35")]
[Token(Token = "0x40084FA")]
internal byte dbits;
// Token: 0x040084FB RID: 34043
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40084FB")]
internal int[] ltree;
// Token: 0x040084FC RID: 34044
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40084FC")]
internal int ltree_index;
// Token: 0x040084FD RID: 34045
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40084FD")]
internal int[] dtree;
// Token: 0x040084FE RID: 34046
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40084FE")]
internal int dtree_index;
}
}
@@ -0,0 +1,358 @@
using System;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200208C RID: 8332
[Token(Token = "0x200208C")]
internal sealed class InflateManager
{
// Token: 0x17002154 RID: 8532
// (get) Token: 0x0600D16D RID: 53613 RVA: 0x002FC0E0 File Offset: 0x002FA2E0
// (set) Token: 0x0600D16E RID: 53614 RVA: 0x002FC0F4 File Offset: 0x002FA2F4
[Token(Token = "0x17002154")]
internal bool HandleRfc1950HeaderBytes
{
[Token(Token = "0x600D16D")]
[Address(RVA = "0x5AB2E0", Offset = "0x5AA2E0", VA = "0x1805AB2E0")]
get
{
return this._handleRfc1950HeaderBytes;
}
[Token(Token = "0x600D16E")]
[Address(RVA = "0x5AB400", Offset = "0x5AA400", VA = "0x1805AB400")]
set
{
this._handleRfc1950HeaderBytes = value;
}
}
// Token: 0x0600D16F RID: 53615 RVA: 0x002FC108 File Offset: 0x002FA308
[Token(Token = "0x600D16F")]
[Address(RVA = "0x1BCA0F0", Offset = "0x1BC90F0", VA = "0x181BCA0F0")]
public InflateManager()
{
}
// Token: 0x0600D170 RID: 53616 RVA: 0x002FC124 File Offset: 0x002FA324
[Token(Token = "0x600D170")]
[Address(RVA = "0x10AFB40", Offset = "0x10AEB40", VA = "0x1810AFB40")]
public InflateManager(bool expectRfc1950HeaderBytes)
{
this._handleRfc1950HeaderBytes = expectRfc1950HeaderBytes;
}
// Token: 0x0600D171 RID: 53617 RVA: 0x002FC148 File Offset: 0x002FA348
[Token(Token = "0x600D171")]
[Address(RVA = "0x241B980", Offset = "0x241A980", VA = "0x18241B980")]
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: 0x0600D172 RID: 53618 RVA: 0x002FC194 File Offset: 0x002FA394
[Token(Token = "0x600D172")]
[Address(RVA = "0x241AD90", Offset = "0x2419D90", VA = "0x18241AD90")]
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: 0x0600D173 RID: 53619 RVA: 0x002FC1E4 File Offset: 0x002FA3E4
[Token(Token = "0x600D173")]
[Address(RVA = "0x241B760", Offset = "0x241A760", VA = "0x18241B760")]
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: 0x0600D174 RID: 53620 RVA: 0x002FC2E0 File Offset: 0x002FA4E0
[Token(Token = "0x600D174")]
[Address(RVA = "0x241AE30", Offset = "0x2419E30", VA = "0x18241AE30")]
internal int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600D174)
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 1663
*/;
}
// Token: 0x0600D175 RID: 53621 RVA: 0x002FC8B8 File Offset: 0x002FAAB8
[Token(Token = "0x600D175")]
[Address(RVA = "0x241B9D0", Offset = "0x241A9D0", VA = "0x18241B9D0")]
internal int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600D175)
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 1663
*/;
}
// Token: 0x0600D176 RID: 53622 RVA: 0x002FC96C File Offset: 0x002FAB6C
[Token(Token = "0x600D176")]
[Address(RVA = "0x241BB90", Offset = "0x241AB90", VA = "0x18241BB90")]
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: 0x0600D177 RID: 53623 RVA: 0x002FCAA8 File Offset: 0x002FACA8
[Token(Token = "0x600D177")]
[Address(RVA = "0x241BB60", Offset = "0x241AB60", VA = "0x18241BB60")]
internal int SyncPoint(ZlibCodec z)
{
bool flag = this.blocks.mode == InflateBlocks.InflateBlockMode.LENS;
throw new NullReferenceException();
}
// Token: 0x0600D178 RID: 53624 RVA: 0x002FCACC File Offset: 0x002FACCC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D178")]
[Address(RVA = "0x241BE00", Offset = "0x241AE00", VA = "0x18241BE00")]
static InflateManager()
{
byte[] array = new byte[4];
array[0] = (byte)((ulong)255L);
array[0] = (byte)((ulong)255L);
InflateManager.mark = array;
}
// Token: 0x040084FF RID: 34047
[Token(Token = "0x40084FF")]
private const int PRESET_DICT = 32;
// Token: 0x04008500 RID: 34048
[Token(Token = "0x4008500")]
private const int Z_DEFLATED = 8;
// Token: 0x04008501 RID: 34049
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008501")]
private InflateManager.InflateManagerMode mode;
// Token: 0x04008502 RID: 34050
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008502")]
internal ZlibCodec _codec;
// Token: 0x04008503 RID: 34051
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008503")]
internal int method;
// Token: 0x04008504 RID: 34052
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4008504")]
internal uint computedCheck;
// Token: 0x04008505 RID: 34053
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008505")]
internal uint expectedCheck;
// Token: 0x04008506 RID: 34054
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4008506")]
internal int marker;
// Token: 0x04008507 RID: 34055
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008507")]
private bool _handleRfc1950HeaderBytes = true;
// Token: 0x04008508 RID: 34056
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4008508")]
internal int wbits;
// Token: 0x04008509 RID: 34057
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008509")]
internal InflateBlocks blocks;
// Token: 0x0400850A RID: 34058
[Token(Token = "0x400850A")]
private static readonly byte[] mark;
// Token: 0x0200208D RID: 8333
[Token(Token = "0x200208D")]
private enum InflateManagerMode
{
// Token: 0x0400850C RID: 34060
[Token(Token = "0x400850C")]
METHOD,
// Token: 0x0400850D RID: 34061
[Token(Token = "0x400850D")]
FLAG,
// Token: 0x0400850E RID: 34062
[Token(Token = "0x400850E")]
DICT4,
// Token: 0x0400850F RID: 34063
[Token(Token = "0x400850F")]
DICT3,
// Token: 0x04008510 RID: 34064
[Token(Token = "0x4008510")]
DICT2,
// Token: 0x04008511 RID: 34065
[Token(Token = "0x4008511")]
DICT1,
// Token: 0x04008512 RID: 34066
[Token(Token = "0x4008512")]
DICT0,
// Token: 0x04008513 RID: 34067
[Token(Token = "0x4008513")]
BLOCKS,
// Token: 0x04008514 RID: 34068
[Token(Token = "0x4008514")]
CHECK4,
// Token: 0x04008515 RID: 34069
[Token(Token = "0x4008515")]
CHECK3,
// Token: 0x04008516 RID: 34070
[Token(Token = "0x4008516")]
CHECK2,
// Token: 0x04008517 RID: 34071
[Token(Token = "0x4008517")]
CHECK1,
// Token: 0x04008518 RID: 34072
[Token(Token = "0x4008518")]
DONE,
// Token: 0x04008519 RID: 34073
[Token(Token = "0x4008519")]
BAD
}
}
}
@@ -0,0 +1,63 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002095 RID: 8341
[Token(Token = "0x2002095")]
internal static class InternalConstants
{
// Token: 0x0600D187 RID: 53639 RVA: 0x002FD1B0 File Offset: 0x002FB3B0
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D187")]
[Address(RVA = "0x241BE90", Offset = "0x241AE90", VA = "0x18241BE90")]
static InternalConstants()
{
int num = InternalConstants.LITERALS;
int num2 = InternalConstants.LENGTH_CODES;
num++;
num2 += num;
InternalConstants.L_CODES = num2;
}
// Token: 0x04008543 RID: 34115
[Token(Token = "0x4008543")]
internal static readonly int MAX_BITS;
// Token: 0x04008544 RID: 34116
[Token(Token = "0x4008544")]
internal static readonly int BL_CODES;
// Token: 0x04008545 RID: 34117
[Token(Token = "0x4008545")]
internal static readonly int D_CODES;
// Token: 0x04008546 RID: 34118
[Token(Token = "0x4008546")]
internal static readonly int LITERALS;
// Token: 0x04008547 RID: 34119
[Token(Token = "0x4008547")]
internal static readonly int LENGTH_CODES;
// Token: 0x04008548 RID: 34120
[Token(Token = "0x4008548")]
internal static readonly int L_CODES;
// Token: 0x04008549 RID: 34121
[Token(Token = "0x4008549")]
internal static readonly int MAX_BL_BITS;
// Token: 0x0400854A RID: 34122
[Token(Token = "0x400854A")]
internal static readonly int REP_3_6;
// Token: 0x0400854B RID: 34123
[Token(Token = "0x400854B")]
internal static readonly int REPZ_3_10;
// Token: 0x0400854C RID: 34124
[Token(Token = "0x400854C")]
internal static readonly int REPZ_11_138;
}
}
@@ -0,0 +1,24 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200208A RID: 8330
[Token(Token = "0x200208A")]
internal static class InternalInflateConstants
{
// Token: 0x0600D168 RID: 53608 RVA: 0x002FBC00 File Offset: 0x002F9E00
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D168")]
[Address(RVA = "0x241BF90", Offset = "0x241AF90", VA = "0x18241BF90")]
static InternalInflateConstants()
{
RuntimeHelpers.InitializeArray(new int[17], fieldof(<PrivateImplementationDetails>.F584B6C7CCA3CD4ECC3B9B1E20D2F2EFB73DBBDF).FieldHandle);
}
// Token: 0x040084E6 RID: 34022
[Token(Token = "0x40084E6")]
internal static readonly int[] InflateMask;
}
}
@@ -0,0 +1,66 @@
using System;
using System.IO;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002094 RID: 8340
[Token(Token = "0x2002094")]
internal class SharedUtils
{
// Token: 0x0600D182 RID: 53634 RVA: 0x002FD118 File Offset: 0x002FB318
[Token(Token = "0x600D182")]
[Address(RVA = "0x10B1650", Offset = "0x10B0650", VA = "0x1810B1650")]
public static int URShift(int number, int bits)
{
return number;
}
// Token: 0x0600D183 RID: 53635 RVA: 0x002FD128 File Offset: 0x002FB328
[Token(Token = "0x600D183")]
[Address(RVA = "0x241BFF0", Offset = "0x241AFF0", VA = "0x18241BFF0")]
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: 0x0600D184 RID: 53636 RVA: 0x002FD164 File Offset: 0x002FB364
[Token(Token = "0x600D184")]
[Address(RVA = "0x4F19E0", Offset = "0x4F09E0", VA = "0x1804F19E0")]
internal static byte[] ToByteArray(string sourceString)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600D185 RID: 53637 RVA: 0x002FD180 File Offset: 0x002FB380
[Token(Token = "0x600D185")]
[Address(RVA = "0x241C100", Offset = "0x241B100", VA = "0x18241C100")]
internal static char[] ToCharArray(byte[] byteArray)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600D186 RID: 53638 RVA: 0x002FD19C File Offset: 0x002FB39C
[Token(Token = "0x600D186")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public SharedUtils()
{
}
}
}
@@ -0,0 +1,116 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002096 RID: 8342
[Token(Token = "0x2002096")]
internal sealed class StaticTree
{
// Token: 0x0600D188 RID: 53640 RVA: 0x002FD1D8 File Offset: 0x002FB3D8
[Token(Token = "0x600D188")]
[Address(RVA = "0x412D50", Offset = "0x411D50", VA = "0x180412D50")]
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: 0x0600D189 RID: 53641 RVA: 0x002FD210 File Offset: 0x002FB410
[Token(Token = "0x600D189")]
[Address(RVA = "0x241C140", Offset = "0x241B140", VA = "0x18241C140")]
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: 0x0400854D RID: 34125
[Token(Token = "0x400854D")]
internal static readonly short[] lengthAndLiteralsTreeCodes;
// Token: 0x0400854E RID: 34126
[Token(Token = "0x400854E")]
internal static readonly short[] distTreeCodes;
// Token: 0x0400854F RID: 34127
[Token(Token = "0x400854F")]
internal static readonly StaticTree Literals;
// Token: 0x04008550 RID: 34128
[Token(Token = "0x4008550")]
internal static readonly StaticTree Distances;
// Token: 0x04008551 RID: 34129
[Token(Token = "0x4008551")]
internal static readonly StaticTree BitLengths;
// Token: 0x04008552 RID: 34130
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008552")]
internal short[] treeCodes;
// Token: 0x04008553 RID: 34131
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008553")]
internal int[] extraBits;
// Token: 0x04008554 RID: 34132
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008554")]
internal int extraBase;
// Token: 0x04008555 RID: 34133
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4008555")]
internal int elems;
// Token: 0x04008556 RID: 34134
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008556")]
internal int maxLength;
}
}
@@ -0,0 +1,347 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200208E RID: 8334
[Token(Token = "0x200208E")]
internal sealed class ZTree
{
// Token: 0x0600D179 RID: 53625 RVA: 0x002FCB08 File Offset: 0x002FAD08
[Token(Token = "0x600D179")]
[Address(RVA = "0x241CEC0", Offset = "0x241BEC0", VA = "0x18241CEC0")]
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: 0x0600D17A RID: 53626 RVA: 0x002FCB30 File Offset: 0x002FAD30
[Token(Token = "0x600D17A")]
[Address(RVA = "0x241D8E0", Offset = "0x241C8E0", VA = "0x18241D8E0")]
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: 0x0600D17B RID: 53627 RVA: 0x002FCCD0 File Offset: 0x002FAED0
[Token(Token = "0x600D17B")]
[Address(RVA = "0x241D1E0", Offset = "0x241C1E0", VA = "0x18241D1E0")]
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: 0x0600D17C RID: 53628 RVA: 0x002FCF74 File Offset: 0x002FB174
[Token(Token = "0x600D17C")]
[Address(RVA = "0x241DE00", Offset = "0x241CE00", VA = "0x18241DE00")]
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: 0x0600D17D RID: 53629 RVA: 0x002FCFDC File Offset: 0x002FB1DC
[Token(Token = "0x600D17D")]
[Address(RVA = "0x427250", Offset = "0x426250", VA = "0x180427250")]
internal static int bi_reverse(int code, int len)
{
int num = 0;
int num2 = len - 1;
return num + num;
}
// Token: 0x0600D17E RID: 53630 RVA: 0x002FCFF4 File Offset: 0x002FB1F4
[Token(Token = "0x600D17E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public ZTree()
{
}
// Token: 0x0600D17F RID: 53631 RVA: 0x002FD008 File Offset: 0x002FB208
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D17F")]
[Address(RVA = "0x241CFB0", Offset = "0x241BFB0", VA = "0x18241CFB0")]
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: 0x0400851A RID: 34074
[Token(Token = "0x400851A")]
private static readonly int HEAP_SIZE;
// Token: 0x0400851B RID: 34075
[Token(Token = "0x400851B")]
internal static readonly int[] ExtraLengthBits;
// Token: 0x0400851C RID: 34076
[Token(Token = "0x400851C")]
internal static readonly int[] ExtraDistanceBits;
// Token: 0x0400851D RID: 34077
[Token(Token = "0x400851D")]
internal static readonly int[] extra_blbits;
// Token: 0x0400851E RID: 34078
[Token(Token = "0x400851E")]
internal static readonly sbyte[] bl_order;
// Token: 0x0400851F RID: 34079
[Token(Token = "0x400851F")]
internal const int Buf_size = 16;
// Token: 0x04008520 RID: 34080
[Token(Token = "0x4008520")]
private static readonly sbyte[] _dist_code;
// Token: 0x04008521 RID: 34081
[Token(Token = "0x4008521")]
internal static readonly sbyte[] LengthCode;
// Token: 0x04008522 RID: 34082
[Token(Token = "0x4008522")]
internal static readonly int[] LengthBase;
// Token: 0x04008523 RID: 34083
[Token(Token = "0x4008523")]
internal static readonly int[] DistanceBase;
// Token: 0x04008524 RID: 34084
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008524")]
internal short[] dyn_tree;
// Token: 0x04008525 RID: 34085
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008525")]
internal int max_code;
// Token: 0x04008526 RID: 34086
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008526")]
internal StaticTree staticTree;
}
}
@@ -0,0 +1,718 @@
using System;
using System.Collections.Generic;
using System.IO;
using BestHTTP.Decompression.Crc;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002099 RID: 8345
[Token(Token = "0x2002099")]
internal class ZlibBaseStream : Stream
{
// Token: 0x17002155 RID: 8533
// (get) Token: 0x0600D18D RID: 53645 RVA: 0x002FD3E8 File Offset: 0x002FB5E8
[Token(Token = "0x17002155")]
internal int Crc32
{
[Token(Token = "0x600D18D")]
[Address(RVA = "0x2A85580", Offset = "0x2A84580", VA = "0x182A85580")]
get
{
CRC32 crc = this.crc;
if (crc != 0)
{
return crc.Crc32Result;
}
return 0;
}
}
// Token: 0x0600D18E RID: 53646 RVA: 0x002FD408 File Offset: 0x002FB608
[Token(Token = "0x600D18E")]
[Address(RVA = "0x2A849C0", Offset = "0x2A839C0", VA = "0x182A849C0")]
public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen)
{
byte[] array = new byte[1];
this._buf1 = array;
base..ctor();
this._leaveOpen = false;
this._flushMode = (FlushType)((ulong)0L);
this._stream = stream;
this._compressionMode = compressionMode;
this._flavor = (ZlibStreamFlavor)0;
this._level = level;
this.windowBitsMax = (int)((ulong)15L);
CRC32 crc = new CRC32();
this.crc = crc;
}
// Token: 0x0600D18F RID: 53647 RVA: 0x002FD488 File Offset: 0x002FB688
[Token(Token = "0x600D18F")]
[Address(RVA = "0x2A84AB0", Offset = "0x2A83AB0", VA = "0x182A84AB0")]
public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen, int windowBits)
{
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;
CRC32 crc = new CRC32();
this.crc = crc;
}
// Token: 0x17002156 RID: 8534
// (get) Token: 0x0600D190 RID: 53648 RVA: 0x002FD504 File Offset: 0x002FB704
[Token(Token = "0x17002156")]
protected internal bool _wantCompress
{
[Token(Token = "0x600D190")]
[Address(RVA = "0x10B5ED0", Offset = "0x10B4ED0", VA = "0x1810B5ED0")]
get
{
return this._compressionMode == CompressionMode.Compress;
}
}
// Token: 0x17002157 RID: 8535
// (get) Token: 0x0600D191 RID: 53649 RVA: 0x002FD51C File Offset: 0x002FB71C
[Token(Token = "0x17002157")]
private ZlibCodec z
{
[Token(Token = "0x600D191")]
[Address(RVA = "0x2A85670", Offset = "0x2A84670", VA = "0x182A85670")]
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: 0x17002158 RID: 8536
// (get) Token: 0x0600D192 RID: 53650 RVA: 0x002FD5CC File Offset: 0x002FB7CC
[Token(Token = "0x17002158")]
private byte[] workingBuffer
{
[Token(Token = "0x600D192")]
[Address(RVA = "0x2A855F0", Offset = "0x2A845F0", VA = "0x182A855F0")]
get
{
if (this._workingBuffer == (ulong)0L)
{
byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, true);
this._workingBuffer = array;
}
return this._workingBuffer;
}
}
// Token: 0x0600D193 RID: 53651 RVA: 0x002FD600 File Offset: 0x002FB800
[Token(Token = "0x600D193")]
[Address(RVA = "0x2A84140", Offset = "0x2A83140", VA = "0x182A84140", 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: 0x0600D194 RID: 53652 RVA: 0x002FD780 File Offset: 0x002FB980
[Token(Token = "0x600D194")]
[Address(RVA = "0x2A84D10", Offset = "0x2A83D10", VA = "0x182A84D10")]
private void finish()
{
/*
An exception occurred when decompiling this method (0600D194)
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 1663
*/;
}
// Token: 0x0600D195 RID: 53653 RVA: 0x002FDA38 File Offset: 0x002FBC38
[Token(Token = "0x600D195")]
[Address(RVA = "0x2A84BA0", Offset = "0x2A83BA0", VA = "0x182A84BA0")]
private void end()
{
/*
An exception occurred when decompiling this method (0600D195)
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 1663
*/;
}
// Token: 0x0600D196 RID: 53654 RVA: 0x002FDACC File Offset: 0x002FBCCC
[Token(Token = "0x600D196")]
[Address(RVA = "0x2A83800", Offset = "0x2A82800", VA = "0x182A83800", Slot = "15")]
public override void Close()
{
/*
An exception occurred when decompiling this method (0600D196)
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 1663
*/;
}
// Token: 0x0600D197 RID: 53655 RVA: 0x002FDB84 File Offset: 0x002FBD84
[Token(Token = "0x600D197")]
[Address(RVA = "0x10B3330", Offset = "0x10B2330", VA = "0x1810B3330", Slot = "17")]
public override void Flush()
{
bool canRead = this._stream.CanRead;
}
// Token: 0x0600D198 RID: 53656 RVA: 0x002FDBA4 File Offset: 0x002FBDA4
[Token(Token = "0x600D198")]
[Address(RVA = "0x2A840B0", Offset = "0x2A830B0", VA = "0x182A840B0", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600D198)
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 1663
*/;
}
// Token: 0x0600D199 RID: 53657 RVA: 0x002FDBB8 File Offset: 0x002FBDB8
[Token(Token = "0x600D199")]
[Address(RVA = "0x2A84100", Offset = "0x2A83100", VA = "0x182A84100", Slot = "26")]
public override void SetLength(long value)
{
Stream stream = this._stream;
this.nomoreinput = false;
}
// Token: 0x0600D19A RID: 53658 RVA: 0x002FDBDC File Offset: 0x002FBDDC
[Token(Token = "0x600D19A")]
[Address(RVA = "0x2A839F0", Offset = "0x2A829F0", VA = "0x182A839F0")]
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: 0x0600D19B RID: 53659 RVA: 0x002FDC24 File Offset: 0x002FBE24
[Token(Token = "0x600D19B")]
[Address(RVA = "0x2A844E0", Offset = "0x2A834E0", VA = "0x182A844E0")]
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: 0x0600D19C RID: 53660 RVA: 0x002FDD38 File Offset: 0x002FBF38
[Token(Token = "0x600D19C")]
[Address(RVA = "0x2A83B80", Offset = "0x2A82B80", VA = "0x182A83B80", 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: 0x17002159 RID: 8537
// (get) Token: 0x0600D19D RID: 53661 RVA: 0x002FDF50 File Offset: 0x002FC150
[Token(Token = "0x17002159")]
public override bool CanRead
{
[Token(Token = "0x600D19D")]
[Address(RVA = "0x10B5DF0", Offset = "0x10B4DF0", VA = "0x1810B5DF0", Slot = "7")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x1700215A RID: 8538
// (get) Token: 0x0600D19E RID: 53662 RVA: 0x002FDF70 File Offset: 0x002FC170
[Token(Token = "0x1700215A")]
public override bool CanSeek
{
[Token(Token = "0x600D19E")]
[Address(RVA = "0x10B5E20", Offset = "0x10B4E20", VA = "0x1810B5E20", Slot = "8")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x1700215B RID: 8539
// (get) Token: 0x0600D19F RID: 53663 RVA: 0x002FDF90 File Offset: 0x002FC190
[Token(Token = "0x1700215B")]
public override bool CanWrite
{
[Token(Token = "0x600D19F")]
[Address(RVA = "0x10B5E50", Offset = "0x10B4E50", VA = "0x1810B5E50", Slot = "9")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x1700215C RID: 8540
// (get) Token: 0x0600D1A0 RID: 53664 RVA: 0x002FDFB0 File Offset: 0x002FC1B0
[Token(Token = "0x1700215C")]
public override long Length
{
[Token(Token = "0x600D1A0")]
[Address(RVA = "0x10B4400", Offset = "0x10B3400", VA = "0x1810B4400", Slot = "10")]
get
{
bool canRead = this._stream.CanRead;
throw new NullReferenceException();
}
}
// Token: 0x1700215D RID: 8541
// (get) Token: 0x0600D1A1 RID: 53665 RVA: 0x002FDFD0 File Offset: 0x002FC1D0
// (set) Token: 0x0600D1A2 RID: 53666 RVA: 0x002FDFE4 File Offset: 0x002FC1E4
[Token(Token = "0x1700215D")]
public override long Position
{
[Token(Token = "0x600D1A1")]
[Address(RVA = "0x2A855A0", Offset = "0x2A845A0", VA = "0x182A855A0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600D1A1)
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 1663
*/;
}
[Token(Token = "0x600D1A2")]
[Address(RVA = "0x2A85740", Offset = "0x2A84740", VA = "0x182A85740", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D1A2)
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 1663
*/;
}
}
// Token: 0x0400855D RID: 34141
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400855D")]
protected internal ZlibCodec _z;
// Token: 0x0400855E RID: 34142
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400855E")]
protected internal ZlibBaseStream.StreamMode _streamMode = (ZlibBaseStream.StreamMode)((ulong)2L);
// Token: 0x0400855F RID: 34143
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x400855F")]
protected internal FlushType _flushMode;
// Token: 0x04008560 RID: 34144
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008560")]
protected internal ZlibStreamFlavor _flavor;
// Token: 0x04008561 RID: 34145
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4008561")]
protected internal CompressionMode _compressionMode;
// Token: 0x04008562 RID: 34146
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4008562")]
protected internal CompressionLevel _level;
// Token: 0x04008563 RID: 34147
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4008563")]
protected internal bool _leaveOpen;
// Token: 0x04008564 RID: 34148
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008564")]
protected internal byte[] _workingBuffer;
// Token: 0x04008565 RID: 34149
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4008565")]
protected internal int _bufferSize = (int)((ulong)16384L);
// Token: 0x04008566 RID: 34150
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4008566")]
protected internal int windowBitsMax;
// Token: 0x04008567 RID: 34151
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4008567")]
protected internal byte[] _buf1;
// Token: 0x04008568 RID: 34152
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4008568")]
protected internal Stream _stream;
// Token: 0x04008569 RID: 34153
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4008569")]
protected internal CompressionStrategy Strategy;
// Token: 0x0400856A RID: 34154
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400856A")]
private CRC32 crc;
// Token: 0x0400856B RID: 34155
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400856B")]
protected internal string _GzipFileName;
// Token: 0x0400856C RID: 34156
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400856C")]
protected internal string _GzipComment;
// Token: 0x0400856D RID: 34157
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400856D")]
protected internal DateTime _GzipMtime;
// Token: 0x0400856E RID: 34158
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x400856E")]
protected internal int _gzipHeaderByteCount;
// Token: 0x0400856F RID: 34159
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x400856F")]
private bool nomoreinput;
// Token: 0x0200209A RID: 8346
[Token(Token = "0x200209A")]
internal enum StreamMode
{
// Token: 0x04008571 RID: 34161
[Token(Token = "0x4008571")]
Writer,
// Token: 0x04008572 RID: 34162
[Token(Token = "0x4008572")]
Reader,
// Token: 0x04008573 RID: 34163
[Token(Token = "0x4008573")]
Undefined
}
}
}
@@ -0,0 +1,586 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200209B RID: 8347
[Token(Token = "0x200209B")]
internal sealed class ZlibCodec
{
// Token: 0x1700215E RID: 8542
// (get) Token: 0x0600D1A3 RID: 53667 RVA: 0x002FDFF8 File Offset: 0x002FC1F8
[Token(Token = "0x1700215E")]
public int Adler32
{
[Token(Token = "0x600D1A3")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get
{
/*
An exception occurred when decompiling this method (0600D1A3)
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 1663
*/;
}
}
// Token: 0x0600D1A4 RID: 53668 RVA: 0x002FE00C File Offset: 0x002FC20C
[Token(Token = "0x600D1A4")]
[Address(RVA = "0x10B6810", Offset = "0x10B5810", VA = "0x1810B6810")]
public ZlibCodec()
{
this.CompressLevel = (CompressionLevel)((ulong)6L);
this.WindowBits = (int)((ulong)15L);
base..ctor();
}
// Token: 0x0600D1A5 RID: 53669 RVA: 0x002FE034 File Offset: 0x002FC234
[Token(Token = "0x600D1A5")]
[Address(RVA = "0x2A85DE0", Offset = "0x2A84DE0", VA = "0x182A85DE0")]
public ZlibCodec(CompressionMode mode)
{
/*
An exception occurred when decompiling this method (0600D1A5)
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 1663
*/;
}
// Token: 0x0600D1A6 RID: 53670 RVA: 0x002FE0A4 File Offset: 0x002FC2A4
[Token(Token = "0x600D1A6")]
[Address(RVA = "0x2A85A00", Offset = "0x2A84A00", VA = "0x182A85A00")]
public int InitializeInflate()
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600D1A7 RID: 53671 RVA: 0x002FE0C0 File Offset: 0x002FC2C0
[Token(Token = "0x600D1A7")]
[Address(RVA = "0x2A85A10", Offset = "0x2A84A10", VA = "0x182A85A10")]
public int InitializeInflate(bool expectRfc1950Header)
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, expectRfc1950Header);
}
// Token: 0x0600D1A8 RID: 53672 RVA: 0x002FE0DC File Offset: 0x002FC2DC
[Token(Token = "0x600D1A8")]
[Address(RVA = "0x2A85AF0", Offset = "0x2A84AF0", VA = "0x182A85AF0")]
public int InitializeInflate(int windowBits)
{
this.WindowBits = windowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600D1A9 RID: 53673 RVA: 0x002FE0F8 File Offset: 0x002FC2F8
[Token(Token = "0x600D1A9")]
[Address(RVA = "0x2A85A20", Offset = "0x2A84A20", VA = "0x182A85A20")]
public int InitializeInflate(int windowBits, bool expectRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600D1A9)
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_29:
stloc:ZlibException(var_1_33, 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 1663
*/;
}
// Token: 0x0600D1AA RID: 53674 RVA: 0x002FE138 File Offset: 0x002FC338
[Token(Token = "0x600D1AA")]
[Address(RVA = "0x2A85900", Offset = "0x2A84900", VA = "0x182A85900")]
public int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600D1AA)
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 1663
*/;
}
// Token: 0x0600D1AB RID: 53675 RVA: 0x002FE15C File Offset: 0x002FC35C
[Token(Token = "0x600D1AB")]
[Address(RVA = "0x2A85880", Offset = "0x2A84880", VA = "0x182A85880")]
public int EndInflate()
{
/*
An exception occurred when decompiling this method (0600D1AB)
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 1663
*/;
}
// Token: 0x0600D1AC RID: 53676 RVA: 0x002FE190 File Offset: 0x002FC390
[Token(Token = "0x600D1AC")]
[Address(RVA = "0x2A85CA0", Offset = "0x2A84CA0", VA = "0x182A85CA0")]
public int SyncInflate()
{
/*
An exception occurred when decompiling this method (0600D1AC)
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 1663
*/;
}
// Token: 0x0600D1AD RID: 53677 RVA: 0x002FE1BC File Offset: 0x002FC3BC
[Token(Token = "0x600D1AD")]
[Address(RVA = "0x2A859B0", Offset = "0x2A849B0", VA = "0x182A859B0")]
public int InitializeDeflate()
{
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600D1AE RID: 53678 RVA: 0x002FE1D0 File Offset: 0x002FC3D0
[Token(Token = "0x600D1AE")]
[Address(RVA = "0x2A859A0", Offset = "0x2A849A0", VA = "0x182A859A0")]
public int InitializeDeflate(CompressionLevel level)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600D1AF RID: 53679 RVA: 0x002FE1EC File Offset: 0x002FC3EC
[Token(Token = "0x600D1AF")]
[Address(RVA = "0x2A859E0", Offset = "0x2A849E0", VA = "0x182A859E0")]
public int InitializeDeflate(CompressionLevel level, bool wantRfc1950Header)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600D1B0 RID: 53680 RVA: 0x002FE208 File Offset: 0x002FC408
[Token(Token = "0x600D1B0")]
[Address(RVA = "0x2A85980", Offset = "0x2A84980", VA = "0x182A85980")]
public int InitializeDeflate(CompressionLevel level, int bits)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600D1B1 RID: 53681 RVA: 0x002FE22C File Offset: 0x002FC42C
[Token(Token = "0x600D1B1")]
[Address(RVA = "0x2A859C0", Offset = "0x2A849C0", VA = "0x182A859C0")]
public int InitializeDeflate(CompressionLevel level, int bits, bool wantRfc1950Header)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600D1B2 RID: 53682 RVA: 0x002FE250 File Offset: 0x002FC450
[Token(Token = "0x600D1B2")]
[Address(RVA = "0x2A85D10", Offset = "0x2A84D10", VA = "0x182A85D10")]
private int _InternalInitializeDeflate(bool wantRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600D1B2)
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_48:
stloc:ZlibException(var_6_52, 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 1663
*/;
}
// Token: 0x0600D1B3 RID: 53683 RVA: 0x002FE2B0 File Offset: 0x002FC4B0
[Token(Token = "0x600D1B3")]
[Address(RVA = "0x2A85790", Offset = "0x2A84790", VA = "0x182A85790")]
public int Deflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600D1B3)
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 1663
*/;
}
// Token: 0x0600D1B4 RID: 53684 RVA: 0x002FE2D4 File Offset: 0x002FC4D4
[Token(Token = "0x600D1B4")]
[Address(RVA = "0x2A85810", Offset = "0x2A84810", VA = "0x182A85810")]
public int EndDeflate()
{
/*
An exception occurred when decompiling this method (0600D1B4)
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 1663
*/;
}
// Token: 0x0600D1B5 RID: 53685 RVA: 0x002FE304 File Offset: 0x002FC504
[Token(Token = "0x600D1B5")]
[Address(RVA = "0x2A85B00", Offset = "0x2A84B00", VA = "0x182A85B00")]
public void ResetDeflate()
{
/*
An exception occurred when decompiling this method (0600D1B5)
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 1663
*/;
}
// Token: 0x0600D1B6 RID: 53686 RVA: 0x002FE330 File Offset: 0x002FC530
[Token(Token = "0x600D1B6")]
[Address(RVA = "0x2A85B70", Offset = "0x2A84B70", VA = "0x182A85B70")]
public int SetDeflateParams(CompressionLevel level, CompressionStrategy strategy)
{
/*
An exception occurred when decompiling this method (0600D1B6)
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_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 1663
*/;
}
// Token: 0x0600D1B7 RID: 53687 RVA: 0x002FE354 File Offset: 0x002FC554
[Token(Token = "0x600D1B7")]
[Address(RVA = "0x2A85C00", Offset = "0x2A84C00", VA = "0x182A85C00")]
public int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600D1B7)
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_26:
stloc:ZlibException(var_2_30, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Inflate or 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.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 1663
*/;
}
// Token: 0x0600D1B8 RID: 53688 RVA: 0x002FE394 File Offset: 0x002FC594
[Token(Token = "0x600D1B8")]
[Address(RVA = "0x2A85F00", Offset = "0x2A84F00", VA = "0x182A85F00")]
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: 0x0600D1B9 RID: 53689 RVA: 0x002FE478 File Offset: 0x002FC678
[Token(Token = "0x600D1B9")]
[Address(RVA = "0x2A860E0", Offset = "0x2A850E0", VA = "0x182A860E0")]
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: 0x04008574 RID: 34164
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008574")]
public byte[] InputBuffer;
// Token: 0x04008575 RID: 34165
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008575")]
public int NextIn;
// Token: 0x04008576 RID: 34166
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4008576")]
public int AvailableBytesIn;
// Token: 0x04008577 RID: 34167
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008577")]
public long TotalBytesIn;
// Token: 0x04008578 RID: 34168
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008578")]
public byte[] OutputBuffer;
// Token: 0x04008579 RID: 34169
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008579")]
public int NextOut;
// Token: 0x0400857A RID: 34170
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x400857A")]
public int AvailableBytesOut;
// Token: 0x0400857B RID: 34171
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400857B")]
public long TotalBytesOut;
// Token: 0x0400857C RID: 34172
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400857C")]
public string Message;
// Token: 0x0400857D RID: 34173
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400857D")]
internal DeflateManager dstate;
// Token: 0x0400857E RID: 34174
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400857E")]
internal InflateManager istate;
// Token: 0x0400857F RID: 34175
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400857F")]
internal uint _Adler32;
// Token: 0x04008580 RID: 34176
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4008580")]
public CompressionLevel CompressLevel;
// Token: 0x04008581 RID: 34177
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4008581")]
public int WindowBits;
// Token: 0x04008582 RID: 34178
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4008582")]
public CompressionStrategy Strategy;
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x0200209C RID: 8348
[Token(Token = "0x200209C")]
public static class ZlibConstants
{
// Token: 0x04008583 RID: 34179
[Token(Token = "0x4008583")]
public const int WindowBitsMax = 15;
// Token: 0x04008584 RID: 34180
[Token(Token = "0x4008584")]
public const int WindowBitsDefault = 15;
// Token: 0x04008585 RID: 34181
[Token(Token = "0x4008585")]
public const int Z_OK = 0;
// Token: 0x04008586 RID: 34182
[Token(Token = "0x4008586")]
public const int Z_STREAM_END = 1;
// Token: 0x04008587 RID: 34183
[Token(Token = "0x4008587")]
public const int Z_NEED_DICT = 2;
// Token: 0x04008588 RID: 34184
[Token(Token = "0x4008588")]
public const int Z_STREAM_ERROR = -2;
// Token: 0x04008589 RID: 34185
[Token(Token = "0x4008589")]
public const int Z_DATA_ERROR = -3;
// Token: 0x0400858A RID: 34186
[Token(Token = "0x400858A")]
public const int Z_BUF_ERROR = -5;
// Token: 0x0400858B RID: 34187
[Token(Token = "0x400858B")]
public const int WorkingBufferSizeDefault = 16384;
// Token: 0x0400858C RID: 34188
[Token(Token = "0x400858C")]
public const int WorkingBufferSizeMin = 1024;
}
}
@@ -0,0 +1,27 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002093 RID: 8339
[Token(Token = "0x2002093")]
[Guid("ebc25cf6-9120-4283-b972-0e5520d0000E")]
internal class ZlibException : Exception
{
// Token: 0x0600D180 RID: 53632 RVA: 0x002FD0F0 File Offset: 0x002FB2F0
[Token(Token = "0x600D180")]
[Address(RVA = "0x2A861F0", Offset = "0x2A851F0", VA = "0x182A861F0")]
public ZlibException()
{
}
// Token: 0x0600D181 RID: 53633 RVA: 0x002FD104 File Offset: 0x002FB304
[Token(Token = "0x600D181")]
[Address(RVA = "0x2A86250", Offset = "0x2A85250", VA = "0x182A86250")]
public ZlibException(string s)
: base(s)
{
}
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x02002098 RID: 8344
[Token(Token = "0x2002098")]
internal enum ZlibStreamFlavor
{
// Token: 0x0400855A RID: 34138
[Token(Token = "0x400855A")]
ZLIB = 1950,
// Token: 0x0400855B RID: 34139
[Token(Token = "0x400855B")]
DEFLATE,
// Token: 0x0400855C RID: 34140
[Token(Token = "0x400855C")]
GZIP
}
}
@@ -0,0 +1,45 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x0200207B RID: 8315
[Token(Token = "0x200207B")]
internal struct BufferDesc
{
// Token: 0x0600D0D1 RID: 53457 RVA: 0x002F6D2C File Offset: 0x002F4F2C
[Token(Token = "0x600D0D1")]
[Address(RVA = "0x2A6C830", Offset = "0x2A6B830", VA = "0x182A6C830")]
public BufferDesc(byte[] buff)
{
this.buffer = buff;
DateTime utcNow = DateTime.UtcNow;
this.released = utcNow;
}
// Token: 0x0600D0D2 RID: 53458 RVA: 0x002F6D50 File Offset: 0x002F4F50
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D0D2")]
[Address(RVA = "0x2A6C7A0", Offset = "0x2A6B7A0", VA = "0x182A6C7A0")]
static BufferDesc()
{
DateTime utcNow = DateTime.UtcNow;
ulong num;
BufferDesc.Empty = num;
}
// Token: 0x0400842F RID: 33839
[Token(Token = "0x400842F")]
public static readonly BufferDesc Empty;
// Token: 0x04008430 RID: 33840
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008430")]
public byte[] buffer;
// Token: 0x04008431 RID: 33841
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4008431")]
public DateTime released;
}
}
@@ -0,0 +1,738 @@
using System;
using System.IO;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Extensions
{
// Token: 0x0200206D RID: 8301
[Token(Token = "0x200206D")]
public sealed class BufferPoolMemoryStream : Stream
{
// Token: 0x0600D054 RID: 53332 RVA: 0x002F5654 File Offset: 0x002F3854
[Token(Token = "0x600D054")]
[Address(RVA = "0x2A6DB60", Offset = "0x2A6CB60", VA = "0x182A6DB60")]
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: 0x0600D055 RID: 53333 RVA: 0x002F56A0 File Offset: 0x002F38A0
[Token(Token = "0x600D055")]
[Address(RVA = "0x2A6D990", Offset = "0x2A6C990", VA = "0x182A6D990")]
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: 0x0600D056 RID: 53334 RVA: 0x002F56FC File Offset: 0x002F38FC
[Token(Token = "0x600D056")]
[Address(RVA = "0x2A6DC10", Offset = "0x2A6CC10", VA = "0x182A6DC10")]
public BufferPoolMemoryStream(byte[] buffer)
{
/*
An exception occurred when decompiling this method (0600D056)
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 1663
*/;
}
// Token: 0x0600D057 RID: 53335 RVA: 0x002F5734 File Offset: 0x002F3934
[Token(Token = "0x600D057")]
[Address(RVA = "0x2A6D8C0", Offset = "0x2A6C8C0", VA = "0x182A6D8C0")]
public BufferPoolMemoryStream(byte[] buffer, bool writable)
{
/*
An exception occurred when decompiling this method (0600D057)
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 1663
*/;
}
// Token: 0x0600D058 RID: 53336 RVA: 0x002F576C File Offset: 0x002F396C
[Token(Token = "0x600D058")]
[Address(RVA = "0x2A6D820", Offset = "0x2A6C820", VA = "0x182A6D820")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count)
{
ulong num;
ulong num2;
this.InternalConstructor(buffer, index, count, num != 0UL, num2 != 0UL);
}
// Token: 0x0600D059 RID: 53337 RVA: 0x002F578C File Offset: 0x002F398C
[Token(Token = "0x600D059")]
[Address(RVA = "0x2A6DCD0", Offset = "0x2A6CCD0", VA = "0x182A6DCD0")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable)
{
}
// Token: 0x0600D05A RID: 53338 RVA: 0x002F57A0 File Offset: 0x002F39A0
[Token(Token = "0x600D05A")]
[Address(RVA = "0x2A6DAB0", Offset = "0x2A6CAB0", VA = "0x182A6DAB0")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable, bool publiclyVisible)
{
}
// Token: 0x0600D05B RID: 53339 RVA: 0x002F57B4 File Offset: 0x002F39B4
[Token(Token = "0x600D05B")]
[Address(RVA = "0x2A6CB90", Offset = "0x2A6BB90", VA = "0x182A6CB90")]
private void InternalConstructor(byte[] buffer, int index, int count, bool writable, bool publicallyVisible)
{
/*
An exception occurred when decompiling this method (0600D05B)
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 1663
*/;
}
// Token: 0x0600D05C RID: 53340 RVA: 0x002F5814 File Offset: 0x002F3A14
[Token(Token = "0x600D05C")]
[Address(RVA = "0x2A6C950", Offset = "0x2A6B950", VA = "0x182A6C950")]
private void CheckIfClosedThrowDisposed()
{
/*
An exception occurred when decompiling this method (0600D05C)
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 1663
*/;
}
// Token: 0x17002123 RID: 8483
// (get) Token: 0x0600D05D RID: 53341 RVA: 0x002F5838 File Offset: 0x002F3A38
[Token(Token = "0x17002123")]
public override bool CanRead
{
[Token(Token = "0x600D05D")]
[Address(RVA = "0x2A6DD70", Offset = "0x2A6CD70", VA = "0x182A6DD70", Slot = "7")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17002124 RID: 8484
// (get) Token: 0x0600D05E RID: 53342 RVA: 0x002F5850 File Offset: 0x002F3A50
[Token(Token = "0x17002124")]
public override bool CanSeek
{
[Token(Token = "0x600D05E")]
[Address(RVA = "0x2A6DD70", Offset = "0x2A6CD70", VA = "0x182A6DD70", Slot = "8")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17002125 RID: 8485
// (get) Token: 0x0600D05F RID: 53343 RVA: 0x002F5868 File Offset: 0x002F3A68
[Token(Token = "0x17002125")]
public override bool CanWrite
{
[Token(Token = "0x600D05F")]
[Address(RVA = "0x2A6DD80", Offset = "0x2A6CD80", VA = "0x182A6DD80", Slot = "9")]
get
{
if (this.streamClosed)
{
}
return this.canWrite;
}
}
// Token: 0x17002126 RID: 8486
// (get) Token: 0x0600D060 RID: 53344 RVA: 0x002F5888 File Offset: 0x002F3A88
// (set) Token: 0x0600D061 RID: 53345 RVA: 0x002F58B0 File Offset: 0x002F3AB0
[Token(Token = "0x17002126")]
public int Capacity
{
[Token(Token = "0x600D060")]
[Address(RVA = "0x2A6DD90", Offset = "0x2A6CD90", VA = "0x182A6DD90")]
get
{
/*
An exception occurred when decompiling this method (0600D060)
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 1663
*/;
}
[Token(Token = "0x600D061")]
[Address(RVA = "0x2A6DEE0", Offset = "0x2A6CEE0", VA = "0x182A6DEE0")]
set
{
/*
An exception occurred when decompiling this method (0600D061)
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 1663
*/;
}
}
// Token: 0x17002127 RID: 8487
// (get) Token: 0x0600D062 RID: 53346 RVA: 0x002F5938 File Offset: 0x002F3B38
[Token(Token = "0x17002127")]
public override long Length
{
[Token(Token = "0x600D062")]
[Address(RVA = "0x2A6DE00", Offset = "0x2A6CE00", VA = "0x182A6DE00", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600D062)
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 1663
*/;
}
}
// Token: 0x17002128 RID: 8488
// (get) Token: 0x0600D063 RID: 53347 RVA: 0x002F5960 File Offset: 0x002F3B60
// (set) Token: 0x0600D064 RID: 53348 RVA: 0x002F5988 File Offset: 0x002F3B88
[Token(Token = "0x17002128")]
public override long Position
{
[Token(Token = "0x600D063")]
[Address(RVA = "0x2A6DE70", Offset = "0x2A6CE70", VA = "0x182A6DE70", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600D063)
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 1663
*/;
}
[Token(Token = "0x600D064")]
[Address(RVA = "0x2A6E190", Offset = "0x2A6D190", VA = "0x182A6E190", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D064)
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 1663
*/;
}
}
// Token: 0x0600D065 RID: 53349 RVA: 0x002F59BC File Offset: 0x002F3BBC
[Token(Token = "0x600D065")]
[Address(RVA = "0x2A6C9C0", Offset = "0x2A6B9C0", VA = "0x182A6C9C0", 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: 0x0600D066 RID: 53350 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D066")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "17")]
public override void Flush()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D067 RID: 53351 RVA: 0x002F59EC File Offset: 0x002F3BEC
[Token(Token = "0x600D067")]
[Address(RVA = "0x2A6CB30", Offset = "0x2A6BB30", VA = "0x182A6CB30")]
public byte[] GetBuffer()
{
/*
An exception occurred when decompiling this method (0600D067)
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 1663
*/;
}
// Token: 0x0600D068 RID: 53352 RVA: 0x002F5A10 File Offset: 0x002F3C10
[Token(Token = "0x600D068")]
[Address(RVA = "0x2A6CD70", Offset = "0x2A6BD70", VA = "0x182A6CD70", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D068)
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 1663
*/;
}
// Token: 0x0600D069 RID: 53353 RVA: 0x002F5A74 File Offset: 0x002F3C74
[Token(Token = "0x600D069")]
[Address(RVA = "0x2A6CCC0", Offset = "0x2A6BCC0", VA = "0x182A6CCC0", Slot = "28")]
public override int ReadByte()
{
/*
An exception occurred when decompiling this method (0600D069)
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 1663
*/;
}
// Token: 0x0600D06A RID: 53354 RVA: 0x002F5ABC File Offset: 0x002F3CBC
[Token(Token = "0x600D06A")]
[Address(RVA = "0x2A6CF20", Offset = "0x2A6BF20", VA = "0x182A6CF20", Slot = "25")]
public override long Seek(long offset, SeekOrigin loc)
{
/*
An exception occurred when decompiling this method (0600D06A)
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 1663
*/;
}
// Token: 0x0600D06B RID: 53355 RVA: 0x002F5B0C File Offset: 0x002F3D0C
[Token(Token = "0x600D06B")]
[Address(RVA = "0x2A6C8A0", Offset = "0x2A6B8A0", VA = "0x182A6C8A0")]
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: 0x0600D06C RID: 53356 RVA: 0x002F5B3C File Offset: 0x002F3D3C
[Token(Token = "0x600D06C")]
[Address(RVA = "0x2A6CA40", Offset = "0x2A6BA40", VA = "0x182A6CA40")]
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: 0x0600D06D RID: 53357 RVA: 0x002F5B84 File Offset: 0x002F3D84
[Token(Token = "0x600D06D")]
[Address(RVA = "0x2A6D0F0", Offset = "0x2A6C0F0", VA = "0x182A6D0F0", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600D06D)
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 1663
*/;
}
// Token: 0x0600D06E RID: 53358 RVA: 0x002F5BF4 File Offset: 0x002F3DF4
[Token(Token = "0x600D06E")]
[Address(RVA = "0x2A6D350", Offset = "0x2A6C350", VA = "0x182A6D350")]
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: 0x0600D06F RID: 53359 RVA: 0x002F5C44 File Offset: 0x002F3E44
[Token(Token = "0x600D06F")]
[Address(RVA = "0x2A6D270", Offset = "0x2A6C270", VA = "0x182A6D270")]
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: 0x0600D070 RID: 53360 RVA: 0x002F5C90 File Offset: 0x002F3E90
[Token(Token = "0x600D070")]
[Address(RVA = "0x2A6D630", Offset = "0x2A6C630", VA = "0x182A6D630", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D070)
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 1663
*/;
}
// Token: 0x0600D071 RID: 53361 RVA: 0x002F5D04 File Offset: 0x002F3F04
[Token(Token = "0x600D071")]
[Address(RVA = "0x2A6D420", Offset = "0x2A6C420", VA = "0x182A6D420", Slot = "30")]
public override void WriteByte(byte value)
{
/*
An exception occurred when decompiling this method (0600D071)
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 1663
*/;
}
// Token: 0x0600D072 RID: 53362 RVA: 0x002F5D74 File Offset: 0x002F3F74
[Token(Token = "0x600D072")]
[Address(RVA = "0x2A6D540", Offset = "0x2A6C540", VA = "0x182A6D540")]
public void WriteTo(Stream stream)
{
/*
An exception occurred when decompiling this method (0600D072)
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 1663
*/;
}
// Token: 0x04008409 RID: 33801
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008409")]
private bool canWrite;
// Token: 0x0400840A RID: 33802
[FieldOffset(Offset = "0x29")]
[Token(Token = "0x400840A")]
private bool allowGetBuffer;
// Token: 0x0400840B RID: 33803
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400840B")]
private int capacity;
// Token: 0x0400840C RID: 33804
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400840C")]
private int length;
// Token: 0x0400840D RID: 33805
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400840D")]
private byte[] internalBuffer;
// Token: 0x0400840E RID: 33806
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400840E")]
private int initialIndex;
// Token: 0x0400840F RID: 33807
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x400840F")]
private bool expandable;
// Token: 0x04008410 RID: 33808
[FieldOffset(Offset = "0x45")]
[Token(Token = "0x4008410")]
private bool streamClosed;
// Token: 0x04008411 RID: 33809
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4008411")]
private int position;
// Token: 0x04008412 RID: 33810
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4008412")]
private int dirty_bytes;
}
}
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x0200207A RID: 8314
[Token(Token = "0x200207A")]
internal struct BufferStore
{
// Token: 0x0600D0CF RID: 53455 RVA: 0x002F6CD8 File Offset: 0x002F4ED8
[Token(Token = "0x600D0CF")]
[Address(RVA = "0x2A6E3B0", Offset = "0x2A6D3B0", VA = "0x182A6E3B0")]
public BufferStore(long size)
{
this.Size = size;
List<BufferDesc> list = new List();
this.buffers = list;
}
// Token: 0x0600D0D0 RID: 53456 RVA: 0x002F6CFC File Offset: 0x002F4EFC
[Token(Token = "0x600D0D0")]
[Address(RVA = "0x2A6E2B0", Offset = "0x2A6D2B0", VA = "0x182A6E2B0")]
public BufferStore(long size, byte[] buffer)
{
this.Size = size;
List<BufferDesc> list = new List();
this.buffers = list;
DateTime utcNow = DateTime.UtcNow;
}
// Token: 0x0400842D RID: 33837
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400842D")]
public readonly long Size;
// Token: 0x0400842E RID: 33838
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x400842E")]
public List<BufferDesc> buffers;
}
}
@@ -0,0 +1,95 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x0200206E RID: 8302
[Token(Token = "0x200206E")]
public sealed class CircularBuffer<T>
{
// Token: 0x17002129 RID: 8489
// (get) Token: 0x0600D073 RID: 53363 RVA: 0x002F5DC0 File Offset: 0x002F3FC0
// (set) Token: 0x0600D074 RID: 53364 RVA: 0x002F5DD4 File Offset: 0x002F3FD4
[Token(Token = "0x17002129")]
public int Capacity
{
[Token(Token = "0x600D073")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
get;
[Token(Token = "0x600D074")]
[Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")]
private set;
}
// Token: 0x1700212A RID: 8490
// (get) Token: 0x0600D075 RID: 53365 RVA: 0x002F5DE8 File Offset: 0x002F3FE8
// (set) Token: 0x0600D076 RID: 53366 RVA: 0x002F5DFC File Offset: 0x002F3FFC
[Token(Token = "0x1700212A")]
public int Count
{
[Token(Token = "0x600D075")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get;
[Token(Token = "0x600D076")]
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
private set;
}
// Token: 0x1700212B RID: 8491
[Token(Token = "0x1700212B")]
public T this[int idx]
{
[Token(Token = "0x600D077")]
[Address(RVA = "0x2DA70D0", Offset = "0x2DA60D0", VA = "0x182DA70D0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600D078")]
[Address(RVA = "0x2DA7240", Offset = "0x2DA6240", VA = "0x182DA7240")]
set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600D079 RID: 53369 RVA: 0x002F5E10 File Offset: 0x002F4010
[Token(Token = "0x600D079")]
[Address(RVA = "0x2DA7070", Offset = "0x2DA6070", VA = "0x182DA7070")]
public CircularBuffer(int capacity)
{
}
// Token: 0x0600D07A RID: 53370 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D07A")]
[Address(RVA = "0x2DA6D20", Offset = "0x2DA5D20", VA = "0x182DA6D20")]
public void Add(T element)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D07B RID: 53371 RVA: 0x002F5E2C File Offset: 0x002F402C
[Token(Token = "0x600D07B")]
[Address(RVA = "0x2DA7060", Offset = "0x2DA6060", VA = "0x182DA7060")]
public void Clear()
{
int num = 0;
this.startIdx = num;
}
// Token: 0x04008415 RID: 33813
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008415")]
private T[] buffer;
// Token: 0x04008416 RID: 33814
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008416")]
private int startIdx;
// Token: 0x04008417 RID: 33815
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008417")]
private int endIdx;
}
}
@@ -0,0 +1,18 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02002072 RID: 8306
[Token(Token = "0x2002072")]
public static class ExceptionHelper
{
// Token: 0x0600D0A3 RID: 53411 RVA: 0x002F65FC File Offset: 0x002F47FC
[Token(Token = "0x600D0A3")]
[Address(RVA = "0x2A6E410", Offset = "0x2A6D410", VA = "0x182A6E410")]
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: 0x0200206F RID: 8303
[Token(Token = "0x200206F")]
public static class Extensions
{
// Token: 0x0600D07C RID: 53372 RVA: 0x002F5E44 File Offset: 0x002F4044
[Token(Token = "0x600D07C")]
[Address(RVA = "0x2A6E460", Offset = "0x2A6D460", VA = "0x182A6E460")]
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: 0x0600D07D RID: 53373 RVA: 0x002F5E80 File Offset: 0x002F4080
[Token(Token = "0x600D07D")]
[Address(RVA = "0x2A6E910", Offset = "0x2A6D910", VA = "0x182A6E910")]
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: 0x0600D07E RID: 53374 RVA: 0x002F5EC0 File Offset: 0x002F40C0
[Token(Token = "0x600D07E")]
[Address(RVA = "0x2A6F780", Offset = "0x2A6E780", VA = "0x182A6F780")]
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: 0x0600D07F RID: 53375 RVA: 0x002F5EF4 File Offset: 0x002F40F4
[Token(Token = "0x600D07F")]
[Address(RVA = "0x2A6FCD0", Offset = "0x2A6ECD0", VA = "0x182A6FCD0")]
public static void WriteLine(this Stream fs)
{
int num = fs.ReadByte();
}
// Token: 0x0600D080 RID: 53376 RVA: 0x002F5F10 File Offset: 0x002F4110
[Token(Token = "0x600D080")]
[Address(RVA = "0x2A6FE50", Offset = "0x2A6EE50", VA = "0x182A6FE50")]
public static void WriteLine(this Stream fs, string line)
{
byte[] asciibytes = line.GetASCIIBytes();
int num = fs.ReadByte();
fs.WriteLine();
VariableSizedBufferPool.Release(asciibytes);
}
// Token: 0x0600D081 RID: 53377 RVA: 0x002F5F40 File Offset: 0x002F4140
[Token(Token = "0x600D081")]
[Address(RVA = "0x2A6FD60", Offset = "0x2A6ED60", VA = "0x182A6FD60")]
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: 0x0600D082 RID: 53378 RVA: 0x002F5F74 File Offset: 0x002F4174
[Token(Token = "0x600D082")]
[Address(RVA = "0x2A6E9F0", Offset = "0x2A6D9F0", VA = "0x182A6E9F0")]
public static string GetRequestPathAndQueryURL(this Uri uri)
{
string parts = uri.GetParts(UriComponents.PathAndQuery, UriFormat.UriEscaped);
return "/";
}
// Token: 0x0600D083 RID: 53379 RVA: 0x002F5F98 File Offset: 0x002F4198
[Token(Token = "0x600D083")]
[Address(RVA = "0x2A6E770", Offset = "0x2A6D770", VA = "0x182A6E770")]
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: 0x0600D084 RID: 53380 RVA: 0x002F601C File Offset: 0x002F421C
[Token(Token = "0x600D084")]
[Address(RVA = "0x1156660", Offset = "0x1155660", VA = "0x181156660")]
public static void WriteArray(this Stream stream, byte[] array)
{
int num = stream.ReadByte();
}
// Token: 0x0600D085 RID: 53381 RVA: 0x002F6038 File Offset: 0x002F4238
[Token(Token = "0x600D085")]
[Address(RVA = "0x2A6EA60", Offset = "0x2A6DA60", VA = "0x182A6EA60")]
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: 0x0600D086 RID: 53382 RVA: 0x002F6090 File Offset: 0x002F4290
[Token(Token = "0x600D086")]
[Address(RVA = "0x2A6EC70", Offset = "0x2A6DC70", VA = "0x182A6EC70")]
public static bool IsIpV4AddressValid(string address)
{
if (string.IsNullOrEmpty(address))
{
}
string text = address.Trim();
bool flag;
return flag;
}
// Token: 0x0600D087 RID: 53383 RVA: 0x002F60B8 File Offset: 0x002F42B8
[Token(Token = "0x600D087")]
[Address(RVA = "0x2A6ED20", Offset = "0x2A6DD20", VA = "0x182A6ED20")]
public static bool IsIpV6AddressValid(string address)
{
bool flag;
if (!string.IsNullOrEmpty(address) && flag)
{
bool flag2;
return flag2;
}
throw new NullReferenceException();
}
// Token: 0x0600D088 RID: 53384 RVA: 0x002F60DC File Offset: 0x002F42DC
[Token(Token = "0x600D088")]
[Address(RVA = "0x2A6F960", Offset = "0x2A6E960", VA = "0x182A6F960")]
public static int ToInt32(this string str, int defaultValue = 0)
{
if (str != 0)
{
return int.Parse(str);
}
return defaultValue;
}
// Token: 0x0600D089 RID: 53385 RVA: 0x002F60F8 File Offset: 0x002F42F8
[Token(Token = "0x600D089")]
[Address(RVA = "0x2A6F9E0", Offset = "0x2A6E9E0", VA = "0x182A6F9E0")]
public static long ToInt64(this string str, long defaultValue = 0L)
{
if (str != 0)
{
return long.Parse(str);
}
return defaultValue;
}
// Token: 0x0600D08A RID: 53386 RVA: 0x002F6114 File Offset: 0x002F4314
[Token(Token = "0x600D08A")]
[Address(RVA = "0x2A6F8B0", Offset = "0x2A6E8B0", VA = "0x182A6F8B0")]
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: 0x0600D08B RID: 53387 RVA: 0x002F6130 File Offset: 0x002F4330
[Token(Token = "0x600D08B")]
[Address(RVA = "0x2A6FA60", Offset = "0x2A6EA60", VA = "0x182A6FA60")]
public static string ToStrOrEmpty(this string str)
{
if (str != 0)
{
return str;
}
return string.Empty;
}
// Token: 0x0600D08C RID: 53388 RVA: 0x002F6148 File Offset: 0x002F4348
[Token(Token = "0x600D08C")]
[Address(RVA = "0x2A6E6D0", Offset = "0x2A6D6D0", VA = "0x182A6E6D0")]
public static string CalculateMD5Hash(this string input)
{
byte[] asciibytes = input.GetASCIIBytes();
string text = asciibytes.CalculateMD5Hash();
VariableSizedBufferPool.Release(asciibytes);
return text;
}
// Token: 0x0600D08D RID: 53389 RVA: 0x002F616C File Offset: 0x002F436C
[Token(Token = "0x600D08D")]
[Address(RVA = "0x2A6E530", Offset = "0x2A6D530", VA = "0x182A6E530")]
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: 0x0600D08E RID: 53390 RVA: 0x002F61F4 File Offset: 0x002F43F4
[Token(Token = "0x600D08E")]
[Address(RVA = "0x2A6F690", Offset = "0x2A6E690", VA = "0x182A6F690")]
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: 0x0600D08F RID: 53391 RVA: 0x002F622C File Offset: 0x002F442C
[Token(Token = "0x600D08F")]
[Address(RVA = "0x2A6F580", Offset = "0x2A6E580", VA = "0x182A6F580")]
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: 0x0600D090 RID: 53392 RVA: 0x002F625C File Offset: 0x002F445C
[Token(Token = "0x600D090")]
[Address(RVA = "0x2A6F3C0", Offset = "0x2A6E3C0", VA = "0x182A6F3C0")]
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: 0x0600D091 RID: 53393 RVA: 0x002F62AC File Offset: 0x002F44AC
[Token(Token = "0x600D091")]
[Address(RVA = "0x2A6F810", Offset = "0x2A6E810", VA = "0x182A6F810")]
internal static void SkipWhiteSpace(this string str, ref int pos)
{
char c;
if (char.IsWhiteSpace(c))
{
}
}
// Token: 0x0600D092 RID: 53394 RVA: 0x002F62C8 File Offset: 0x002F44C8
[Token(Token = "0x600D092")]
[Address(RVA = "0x2A6FAB0", Offset = "0x2A6EAB0", VA = "0x182A6FAB0")]
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: 0x0600D093 RID: 53395 RVA: 0x002F6338 File Offset: 0x002F4538
[Token(Token = "0x600D093")]
[Address(RVA = "0x2A6F1E0", Offset = "0x2A6E1E0", VA = "0x182A6F1E0")]
internal static char? Peek(this string str, int pos)
{
if (pos < str.m_stringLength)
{
char c = str[pos];
}
throw new NullReferenceException();
}
// Token: 0x0600D094 RID: 53396 RVA: 0x002F6360 File Offset: 0x002F4560
[Token(Token = "0x600D094")]
[Address(RVA = "0x2A6EDC0", Offset = "0x2A6DDC0", VA = "0x182A6EDC0")]
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: 0x0600D095 RID: 53397 RVA: 0x002F63EC File Offset: 0x002F45EC
[Token(Token = "0x600D095")]
[Address(RVA = "0x2A6EFC0", Offset = "0x2A6DFC0", VA = "0x182A6EFC0")]
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: 0x0600D096 RID: 53398 RVA: 0x002F6470 File Offset: 0x002F4670
[Token(Token = "0x600D096")]
[Address(RVA = "0x2A6F270", Offset = "0x2A6E270", VA = "0x182A6F270")]
public static void ReadBuffer(this Stream stream, byte[] buffer)
{
int num = 0;
int num2 = buffer.Length;
num2 -= num;
}
// Token: 0x0600D097 RID: 53399 RVA: 0x002F6490 File Offset: 0x002F4690
[Token(Token = "0x600D097")]
[Address(RVA = "0x2A6F310", Offset = "0x2A6E310", VA = "0x182A6F310")]
public static void ReadBuffer(this Stream stream, byte[] buffer, int length)
{
}
// Token: 0x0600D098 RID: 53400 RVA: 0x002F64A8 File Offset: 0x002F46A8
[Token(Token = "0x600D098")]
[Address(RVA = "0x2A700E0", Offset = "0x2A6F0E0", VA = "0x182A700E0")]
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: 0x0600D099 RID: 53401 RVA: 0x002F64E8 File Offset: 0x002F46E8
[Token(Token = "0x600D099")]
[Address(RVA = "0x2A6FC40", Offset = "0x2A6EC40", VA = "0x182A6FC40")]
public static void WriteLine(this BufferPoolMemoryStream ms)
{
byte[] eol = HTTPRequest.EOL;
int num = ms.ReadByte();
}
// Token: 0x0600D09A RID: 53402 RVA: 0x002F6508 File Offset: 0x002F4708
[Token(Token = "0x600D09A")]
[Address(RVA = "0x2A6FF20", Offset = "0x2A6EF20", VA = "0x182A6FF20")]
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: 0x0600D09B RID: 53403 RVA: 0x002F6554 File Offset: 0x002F4754
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600D09B")]
[Address(RVA = "0x2A70200", Offset = "0x2A6F200", VA = "0x182A70200")]
static Extensions()
{
Regex regex = new Regex("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b", RegexOptions.IgnoreCase);
}
// Token: 0x04008418 RID: 33816
[Token(Token = "0x4008418")]
private static readonly Regex validIpV4AddressRegex;
}
}
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02002073 RID: 8307
[Token(Token = "0x2002073")]
public sealed class HeaderParser : KeyValuePairList
{
// Token: 0x0600D0A4 RID: 53412 RVA: 0x002F6614 File Offset: 0x002F4814
[Token(Token = "0x600D0A4")]
[Address(RVA = "0x2A7F990", Offset = "0x2A7E990", VA = "0x182A7F990")]
public HeaderParser(string headerStr)
{
List<HeaderValue> list = this.Parse(headerStr);
this.<Values>k__BackingField = list;
}
// Token: 0x0600D0A5 RID: 53413 RVA: 0x002F6638 File Offset: 0x002F4838
[Token(Token = "0x600D0A5")]
[Address(RVA = "0x2A7F820", Offset = "0x2A7E820", VA = "0x182A7F820")]
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: 0x02002074 RID: 8308
[Token(Token = "0x2002074")]
public sealed class HeaderValue
{
// Token: 0x1700212C RID: 8492
// (get) Token: 0x0600D0A6 RID: 53414 RVA: 0x002F6684 File Offset: 0x002F4884
// (set) Token: 0x0600D0A7 RID: 53415 RVA: 0x002F6698 File Offset: 0x002F4898
[Token(Token = "0x1700212C")]
public string Key
{
[Token(Token = "0x600D0A6")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D0A7")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x1700212D RID: 8493
// (get) Token: 0x0600D0A8 RID: 53416 RVA: 0x002F66AC File Offset: 0x002F48AC
// (set) Token: 0x0600D0A9 RID: 53417 RVA: 0x002F66C0 File Offset: 0x002F48C0
[Token(Token = "0x1700212D")]
public string Value
{
[Token(Token = "0x600D0A8")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600D0A9")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set;
}
// Token: 0x1700212E RID: 8494
// (get) Token: 0x0600D0AA RID: 53418 RVA: 0x002F66D4 File Offset: 0x002F48D4
// (set) Token: 0x0600D0AB RID: 53419 RVA: 0x002F66E8 File Offset: 0x002F48E8
[Token(Token = "0x1700212E")]
public List<HeaderValue> Options
{
[Token(Token = "0x600D0AA")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600D0AB")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set;
}
// Token: 0x1700212F RID: 8495
// (get) Token: 0x0600D0AC RID: 53420 RVA: 0x002F66FC File Offset: 0x002F48FC
[Token(Token = "0x1700212F")]
public bool HasValue
{
[Token(Token = "0x600D0AC")]
[Address(RVA = "0x2A7FEC0", Offset = "0x2A7EEC0", VA = "0x182A7FEC0")]
get
{
return !string.IsNullOrEmpty(this.<Value>k__BackingField);
}
}
// Token: 0x0600D0AD RID: 53421 RVA: 0x002F6718 File Offset: 0x002F4918
[Token(Token = "0x600D0AD")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HeaderValue()
{
}
// Token: 0x0600D0AE RID: 53422 RVA: 0x002F672C File Offset: 0x002F492C
[Token(Token = "0x600D0AE")]
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
public HeaderValue(string key)
{
this.Key = key;
}
// Token: 0x0600D0AF RID: 53423 RVA: 0x002F6748 File Offset: 0x002F4948
[Token(Token = "0x600D0AF")]
[Address(RVA = "0x2A7FD20", Offset = "0x2A7ED20", VA = "0x182A7FD20")]
public void Parse(string headerStr, ref int pos)
{
this.ParseImplementation(headerStr, ref pos, true);
}
// Token: 0x0600D0B0 RID: 53424 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D0B0")]
[Address(RVA = "0x2A7FDD0", Offset = "0x2A7EDD0", VA = "0x182A7FDD0")]
public bool TryGetOption(string key, out HeaderValue option)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D0B1 RID: 53425 RVA: 0x002F6760 File Offset: 0x002F4960
[Token(Token = "0x600D0B1")]
[Address(RVA = "0x2A7F9D0", Offset = "0x2A7E9D0", VA = "0x182A7F9D0")]
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: 0x0600D0B2 RID: 53426 RVA: 0x002F6848 File Offset: 0x002F4A48
[Token(Token = "0x600D0B2")]
[Address(RVA = "0x2A7FD40", Offset = "0x2A7ED40", VA = "0x182A7FD40", 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: 0x02002077 RID: 8311
[Token(Token = "0x2002077")]
public sealed class HeartbeatManager
{
// Token: 0x0600D0B7 RID: 53431 RVA: 0x002F68AC File Offset: 0x002F4AAC
[Token(Token = "0x600D0B7")]
[Address(RVA = "0x2A7FEE0", Offset = "0x2A7EEE0", VA = "0x182A7FEE0")]
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: 0x0600D0B8 RID: 53432 RVA: 0x002F68F4 File Offset: 0x002F4AF4
[Token(Token = "0x600D0B8")]
[Address(RVA = "0x2A7FFD0", Offset = "0x2A7EFD0", VA = "0x182A7FFD0")]
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: 0x0600D0B9 RID: 53433 RVA: 0x002F6928 File Offset: 0x002F4B28
[Token(Token = "0x600D0B9")]
[Address(RVA = "0x2A800A0", Offset = "0x2A7F0A0", VA = "0x182A800A0")]
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: 0x0600D0BA RID: 53434 RVA: 0x002F6A28 File Offset: 0x002F4C28
[Token(Token = "0x600D0BA")]
[Address(RVA = "0x2A80320", Offset = "0x2A7F320", VA = "0x182A80320")]
public HeartbeatManager()
{
List<IHeartbeat> list = new List();
this.Heartbeats = list;
DateTime minValue = DateTime.MinValue;
this.LastUpdate = minValue;
base..ctor();
}
// Token: 0x04008423 RID: 33827
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4008423")]
private List<IHeartbeat> Heartbeats;
// Token: 0x04008424 RID: 33828
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4008424")]
private IHeartbeat[] UpdateArray;
// Token: 0x04008425 RID: 33829
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4008425")]
private DateTime LastUpdate;
}
}
@@ -0,0 +1,15 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02002076 RID: 8310
[Token(Token = "0x2002076")]
public interface IHeartbeat
{
// Token: 0x0600D0B6 RID: 53430
[Token(Token = "0x600D0B6")]
[Address(Slot = "0")]
void OnHeartbeatUpdate(TimeSpan dif);
}
}
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02002078 RID: 8312
[Token(Token = "0x2002078")]
public class KeyValuePairList
{
// Token: 0x17002130 RID: 8496
// (get) Token: 0x0600D0BB RID: 53435 RVA: 0x002F6A58 File Offset: 0x002F4C58
// (set) Token: 0x0600D0BC RID: 53436 RVA: 0x002F6A6C File Offset: 0x002F4C6C
[Token(Token = "0x17002130")]
public List<HeaderValue> Values
{
[Token(Token = "0x600D0BB")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D0BC")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
protected set;
}
// Token: 0x0600D0BD RID: 53437 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D0BD")]
[Address(RVA = "0x2A803C0", Offset = "0x2A7F3C0", VA = "0x182A803C0")]
public bool TryGet(string valueKeyName, out HeaderValue param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D0BE RID: 53438 RVA: 0x002F6A80 File Offset: 0x002F4C80
[Token(Token = "0x600D0BE")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public KeyValuePairList()
{
}
}
}
@@ -0,0 +1,385 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x02002079 RID: 8313
[Token(Token = "0x2002079")]
public class ReadOnlyBufferedStream : Stream
{
// Token: 0x17002131 RID: 8497
// (get) Token: 0x0600D0BF RID: 53439 RVA: 0x002F6A94 File Offset: 0x002F4C94
// (set) Token: 0x0600D0C0 RID: 53440 RVA: 0x002F6AA8 File Offset: 0x002F4CA8
[Token(Token = "0x17002131")]
public bool CheckForDataAvailability
{
[Token(Token = "0x600D0BF")]
[Address(RVA = "0x51F260", Offset = "0x51E260", VA = "0x18051F260")]
get;
[Token(Token = "0x600D0C0")]
[Address(RVA = "0x51F2B0", Offset = "0x51E2B0", VA = "0x18051F2B0")]
set;
}
// Token: 0x0600D0C1 RID: 53441 RVA: 0x002F6ABC File Offset: 0x002F4CBC
[Token(Token = "0x600D0C1")]
[Address(RVA = "0x2A80B40", Offset = "0x2A7FB40", VA = "0x182A80B40")]
public ReadOnlyBufferedStream(Stream nstream)
{
this.stream = nstream;
byte[] array;
this.buf = array;
}
// Token: 0x0600D0C2 RID: 53442 RVA: 0x002F6AE0 File Offset: 0x002F4CE0
[Token(Token = "0x600D0C2")]
[Address(RVA = "0x2A808D0", Offset = "0x2A7F8D0", VA = "0x182A808D0", 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: 0x0600D0C3 RID: 53443 RVA: 0x002F6B80 File Offset: 0x002F4D80
[Token(Token = "0x600D0C3")]
[Address(RVA = "0x2A807A0", Offset = "0x2A7F7A0", VA = "0x182A807A0", 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: 0x0600D0C4 RID: 53444 RVA: 0x002F6BEC File Offset: 0x002F4DEC
[Token(Token = "0x600D0C4")]
[Address(RVA = "0x2A806E0", Offset = "0x2A7F6E0", VA = "0x182A806E0", Slot = "16")]
protected override void Dispose(bool disposing)
{
byte[] array = this.buf;
if (array != 0)
{
VariableSizedBufferPool.Release(array);
}
this.buf = (ulong)0L;
}
// Token: 0x17002132 RID: 8498
// (get) Token: 0x0600D0C5 RID: 53445 RVA: 0x002F6C14 File Offset: 0x002F4E14
[Token(Token = "0x17002132")]
public override bool CanRead
{
[Token(Token = "0x600D0C5")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "7")]
get
{
return true;
}
}
// Token: 0x17002133 RID: 8499
// (get) Token: 0x0600D0C6 RID: 53446 RVA: 0x002F6C24 File Offset: 0x002F4E24
[Token(Token = "0x17002133")]
public override bool CanSeek
{
[Token(Token = "0x600D0C6")]
[Address(RVA = "0x2A80BE0", Offset = "0x2A7FBE0", VA = "0x182A80BE0", Slot = "8")]
get
{
/*
An exception occurred when decompiling this method (0600D0C6)
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 1663
*/;
}
}
// Token: 0x17002134 RID: 8500
// (get) Token: 0x0600D0C7 RID: 53447 RVA: 0x002F6C38 File Offset: 0x002F4E38
[Token(Token = "0x17002134")]
public override bool CanWrite
{
[Token(Token = "0x600D0C7")]
[Address(RVA = "0x2A80C30", Offset = "0x2A7FC30", VA = "0x182A80C30", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600D0C7)
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 1663
*/;
}
}
// Token: 0x17002135 RID: 8501
// (get) Token: 0x0600D0C8 RID: 53448 RVA: 0x002F6C4C File Offset: 0x002F4E4C
[Token(Token = "0x17002135")]
public override long Length
{
[Token(Token = "0x600D0C8")]
[Address(RVA = "0x2A80C80", Offset = "0x2A7FC80", VA = "0x182A80C80", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600D0C8)
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 1663
*/;
}
}
// Token: 0x17002136 RID: 8502
// (get) Token: 0x0600D0C9 RID: 53449 RVA: 0x002F6C60 File Offset: 0x002F4E60
// (set) Token: 0x0600D0CA RID: 53450 RVA: 0x002F6C74 File Offset: 0x002F4E74
[Token(Token = "0x17002136")]
public override long Position
{
[Token(Token = "0x600D0C9")]
[Address(RVA = "0x2A80CD0", Offset = "0x2A7FCD0", VA = "0x182A80CD0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600D0C9)
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 1663
*/;
}
[Token(Token = "0x600D0CA")]
[Address(RVA = "0x2A80D20", Offset = "0x2A7FD20", VA = "0x182A80D20", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D0CA)
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 1663
*/;
}
}
// Token: 0x0600D0CB RID: 53451 RVA: 0x002F6C88 File Offset: 0x002F4E88
[Token(Token = "0x600D0CB")]
[Address(RVA = "0x2A80750", Offset = "0x2A7F750", VA = "0x182A80750", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600D0CB)
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 1663
*/;
}
// Token: 0x0600D0CC RID: 53452 RVA: 0x002F6C9C File Offset: 0x002F4E9C
[Token(Token = "0x600D0CC")]
[Address(RVA = "0x2A80A50", Offset = "0x2A7FA50", VA = "0x182A80A50", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600D0CC)
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 1663
*/;
}
// Token: 0x0600D0CD RID: 53453 RVA: 0x002F6CB0 File Offset: 0x002F4EB0
[Token(Token = "0x600D0CD")]
[Address(RVA = "0x2A80AA0", Offset = "0x2A7FAA0", VA = "0x182A80AA0", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600D0CD)
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 1663
*/;
}
// Token: 0x0600D0CE RID: 53454 RVA: 0x002F6CC4 File Offset: 0x002F4EC4
[Token(Token = "0x600D0CE")]
[Address(RVA = "0x2A80AF0", Offset = "0x2A7FAF0", VA = "0x182A80AF0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600D0CE)
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 1663
*/;
}
// Token: 0x04008428 RID: 33832
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008428")]
private Stream stream;
// Token: 0x04008429 RID: 33833
[Token(Token = "0x4008429")]
public const int READBUFFER = 8192;
// Token: 0x0400842A RID: 33834
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400842A")]
private byte[] buf;
// Token: 0x0400842B RID: 33835
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400842B")]
private int available;
// Token: 0x0400842C RID: 33836
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x400842C")]
private int pos;
}
}
@@ -0,0 +1,424 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x0200207C RID: 8316
[Token(Token = "0x200207C")]
public static class VariableSizedBufferPool
{
// Token: 0x17002137 RID: 8503
// (get) Token: 0x0600D0D3 RID: 53459 RVA: 0x002F6D6C File Offset: 0x002F4F6C
// (set) Token: 0x0600D0D4 RID: 53460 RVA: 0x002F6D80 File Offset: 0x002F4F80
[Token(Token = "0x17002137")]
public static bool IsEnabled
{
[Token(Token = "0x600D0D3")]
[Address(RVA = "0x2A83050", Offset = "0x2A82050", VA = "0x182A83050")]
get
{
return VariableSizedBufferPool._isEnabled;
}
[Token(Token = "0x600D0D4")]
[Address(RVA = "0x2A830C0", Offset = "0x2A820C0", VA = "0x182A830C0")]
set
{
VariableSizedBufferPool._isEnabled = value;
if (!VariableSizedBufferPool._isEnabled)
{
VariableSizedBufferPool.Clear();
return;
}
}
}
// Token: 0x0600D0D5 RID: 53461 RVA: 0x002F6DA4 File Offset: 0x002F4FA4
[Token(Token = "0x600D0D5")]
[Address(RVA = "0x2A82E30", Offset = "0x2A81E30", VA = "0x182A82E30")]
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: 0x0600D0D6 RID: 53462 RVA: 0x002F6E0C File Offset: 0x002F500C
[Token(Token = "0x600D0D6")]
[Address(RVA = "0x2A81DF0", Offset = "0x2A80DF0", VA = "0x182A81DF0")]
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: 0x0600D0D7 RID: 53463 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D0D7")]
[Address(RVA = "0x2A82C00", Offset = "0x2A81C00", VA = "0x182A82C00")]
public static void Release(List<byte[]> buffers)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D0D8 RID: 53464 RVA: 0x002F6F00 File Offset: 0x002F5100
[Token(Token = "0x600D0D8")]
[Address(RVA = "0x2A829B0", Offset = "0x2A819B0", VA = "0x182A829B0")]
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: 0x0600D0D9 RID: 53465 RVA: 0x002F6F58 File Offset: 0x002F5158
[Token(Token = "0x600D0D9")]
[Address(RVA = "0x2A82CE0", Offset = "0x2A81CE0", VA = "0x182A82CE0")]
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: 0x0600D0DA RID: 53466 RVA: 0x002F6F90 File Offset: 0x002F5190
[Token(Token = "0x600D0DA")]
[Address(RVA = "0x2A81970", Offset = "0x2A80970", VA = "0x182A81970")]
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: 0x0600D0DB RID: 53467 RVA: 0x002F7088 File Offset: 0x002F5288
[Token(Token = "0x600D0DB")]
[Address(RVA = "0x2A81650", Offset = "0x2A80650", VA = "0x182A81650")]
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: 0x0600D0DC RID: 53468 RVA: 0x002F70C0 File Offset: 0x002F52C0
[Token(Token = "0x600D0DC")]
[Address(RVA = "0x2A82370", Offset = "0x2A81370", VA = "0x182A82370")]
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: 0x0600D0DD RID: 53469 RVA: 0x002F721C File Offset: 0x002F541C
[Token(Token = "0x600D0DD")]
[Address(RVA = "0x2A82360", Offset = "0x2A81360", VA = "0x182A82360")]
private static bool IsPowerOfTwo(long x)
{
long num = x - 1L;
return x == num;
}
// Token: 0x0600D0DE RID: 53470 RVA: 0x002F7234 File Offset: 0x002F5434
[Token(Token = "0x600D0DE")]
[Address(RVA = "0x2A82990", Offset = "0x2A81990", VA = "0x182A82990")]
private static long NextPowerOf2(long x)
{
/*
An exception occurred when decompiling this method (0600D0DE)
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 1663
*/;
}
// Token: 0x0600D0DF RID: 53471 RVA: 0x002F7248 File Offset: 0x002F5448
[Token(Token = "0x600D0DF")]
[Address(RVA = "0x2A81780", Offset = "0x2A80780", VA = "0x182A81780")]
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: 0x0600D0E0 RID: 53472 RVA: 0x002F7290 File Offset: 0x002F5490
[Token(Token = "0x600D0E0")]
[Address(RVA = "0x2A812F0", Offset = "0x2A802F0", VA = "0x182A812F0")]
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;
DateTime utcNow = DateTime.UtcNow;
int num4 = 0;
VariableSizedBufferPool.FreeBuffers.Add(num4);
throw new NullReferenceException();
}
// Token: 0x04008432 RID: 33842
[Token(Token = "0x4008432")]
public static readonly byte[] NoData = new byte[0];
// Token: 0x04008433 RID: 33843
[Token(Token = "0x4008433")]
public static bool _isEnabled;
// Token: 0x04008434 RID: 33844
[Token(Token = "0x4008434")]
public static TimeSpan RemoveOlderThan;
// Token: 0x04008435 RID: 33845
[Token(Token = "0x4008435")]
public static TimeSpan RunMaintenanceEvery;
// Token: 0x04008436 RID: 33846
[Token(Token = "0x4008436")]
public static long MinBufferSize;
// Token: 0x04008437 RID: 33847
[Token(Token = "0x4008437")]
public static long MaxBufferSize;
// Token: 0x04008438 RID: 33848
[Token(Token = "0x4008438")]
public static long MaxPoolSize;
// Token: 0x04008439 RID: 33849
[Token(Token = "0x4008439")]
public static bool RemoveEmptyLists;
// Token: 0x0400843A RID: 33850
[Token(Token = "0x400843A")]
public static bool IsDoubleReleaseCheckEnabled;
// Token: 0x0400843B RID: 33851
[Token(Token = "0x400843B")]
private static List<BufferStore> FreeBuffers;
// Token: 0x0400843C RID: 33852
[Token(Token = "0x400843C")]
private static DateTime lastMaintenance;
// Token: 0x0400843D RID: 33853
[Token(Token = "0x400843D")]
private static int PoolSize;
// Token: 0x0400843E RID: 33854
[Token(Token = "0x400843E")]
private static uint GetBuffers;
// Token: 0x0400843F RID: 33855
[Token(Token = "0x400843F")]
private static uint ReleaseBuffers;
// Token: 0x04008440 RID: 33856
[Token(Token = "0x4008440")]
private static StringBuilder statiscticsBuilder;
}
}
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x0200207D RID: 8317
[Token(Token = "0x200207D")]
public sealed class WWWAuthenticateHeaderParser : KeyValuePairList
{
// Token: 0x0600D0E1 RID: 53473 RVA: 0x002F7318 File Offset: 0x002F5518
[Token(Token = "0x600D0E1")]
[Address(RVA = "0x2A833B0", Offset = "0x2A823B0", VA = "0x182A833B0")]
public WWWAuthenticateHeaderParser(string headerValue)
{
List<HeaderValue> list = this.ParseQuotedHeader(headerValue);
this.<Values>k__BackingField = list;
}
// Token: 0x0600D0E2 RID: 53474 RVA: 0x002F733C File Offset: 0x002F553C
[Token(Token = "0x600D0E2")]
[Address(RVA = "0x2A83170", Offset = "0x2A82170", VA = "0x182A83170")]
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: 0x0200207F RID: 8319
[Token(Token = "0x200207F")]
public sealed class WriteOnlyBufferedStream : Stream
{
// Token: 0x17002138 RID: 8504
// (get) Token: 0x0600D0E6 RID: 53478 RVA: 0x002F7430 File Offset: 0x002F5630
[Token(Token = "0x17002138")]
public override bool CanRead
{
[Token(Token = "0x600D0E6")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "7")]
get
{
}
}
// Token: 0x17002139 RID: 8505
// (get) Token: 0x0600D0E7 RID: 53479 RVA: 0x002F7440 File Offset: 0x002F5640
[Token(Token = "0x17002139")]
public override bool CanSeek
{
[Token(Token = "0x600D0E7")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "8")]
get
{
}
}
// Token: 0x1700213A RID: 8506
// (get) Token: 0x0600D0E8 RID: 53480 RVA: 0x002F7450 File Offset: 0x002F5650
[Token(Token = "0x1700213A")]
public override bool CanWrite
{
[Token(Token = "0x600D0E8")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "9")]
get
{
return true;
}
}
// Token: 0x1700213B RID: 8507
// (get) Token: 0x0600D0E9 RID: 53481 RVA: 0x002F7460 File Offset: 0x002F5660
[Token(Token = "0x1700213B")]
public override long Length
{
[Token(Token = "0x600D0E9")]
[Address(RVA = "0x2A83770", Offset = "0x2A82770", VA = "0x182A83770", Slot = "10")]
get
{
int length = this.buffer.Length;
throw new NullReferenceException();
}
}
// Token: 0x1700213C RID: 8508
// (get) Token: 0x0600D0EA RID: 53482 RVA: 0x002F7480 File Offset: 0x002F5680
// (set) Token: 0x0600D0EB RID: 53483 RVA: 0x002F7494 File Offset: 0x002F5694
[Token(Token = "0x1700213C")]
public override long Position
{
[Token(Token = "0x600D0EA")]
[Address(RVA = "0x2A83790", Offset = "0x2A82790", VA = "0x182A83790", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600D0EA)
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 1663
*/;
}
[Token(Token = "0x600D0EB")]
[Address(RVA = "0x2A837A0", Offset = "0x2A827A0", VA = "0x182A837A0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600D0EB)
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 1663
*/;
}
}
// Token: 0x0600D0EC RID: 53484 RVA: 0x002F74AC File Offset: 0x002F56AC
[Token(Token = "0x600D0EC")]
[Address(RVA = "0x2A836C0", Offset = "0x2A826C0", VA = "0x182A836C0")]
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: 0x0600D0ED RID: 53485 RVA: 0x002F74E0 File Offset: 0x002F56E0
[Token(Token = "0x600D0ED")]
[Address(RVA = "0x2A83470", Offset = "0x2A82470", VA = "0x182A83470", 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: 0x0600D0EE RID: 53486 RVA: 0x002F752C File Offset: 0x002F572C
[Token(Token = "0x600D0EE")]
[Address(RVA = "0x2A835B0", Offset = "0x2A825B0", VA = "0x182A835B0", 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: 0x0600D0EF RID: 53487 RVA: 0x002F75B0 File Offset: 0x002F57B0
[Token(Token = "0x600D0EF")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
return 0;
}
// Token: 0x0600D0F0 RID: 53488 RVA: 0x002F75C0 File Offset: 0x002F57C0
[Token(Token = "0x600D0F0")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
}
// Token: 0x0600D0F1 RID: 53489 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D0F1")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "26")]
public override void SetLength(long value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D0F2 RID: 53490 RVA: 0x002F75D0 File Offset: 0x002F57D0
[Token(Token = "0x600D0F2")]
[Address(RVA = "0x2A833F0", Offset = "0x2A823F0", VA = "0x182A833F0", 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: 0x04008443 RID: 33859
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4008443")]
private int _position;
// Token: 0x04008444 RID: 33860
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4008444")]
private byte[] buffer;
// Token: 0x04008445 RID: 33861
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4008445")]
private Stream stream;
}
}
+147
View File
@@ -0,0 +1,147 @@
using System;
using System.IO;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200196D RID: 6509
[Token(Token = "0x200196D")]
internal sealed class FileConnection : ConnectionBase
{
// Token: 0x060096E3 RID: 38627 RVA: 0x001EAFC0 File Offset: 0x001E91C0
[Token(Token = "0x60096E3")]
[Address(RVA = "0x2A70930", Offset = "0x2A6F930", VA = "0x182A70930")]
public FileConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x060096E4 RID: 38628 RVA: 0x001EAFD4 File Offset: 0x001E91D4
[Token(Token = "0x60096E4")]
[Address(RVA = "0x2A70260", Offset = "0x2A6F260", VA = "0x182A70260", Slot = "6")]
internal override void Abort(HTTPConnectionStates newState)
{
/*
An exception occurred when decompiling this method (060096E4)
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 1663
*/;
}
// Token: 0x060096E5 RID: 38629 RVA: 0x001EB004 File Offset: 0x001E9204
[Token(Token = "0x60096E5")]
[Address(RVA = "0x2A702F0", Offset = "0x2A6F2F0", VA = "0x182A702F0", 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: 0x0200205F RID: 8287
[Token(Token = "0x200205F")]
public class HTTPFieldData
{
// Token: 0x17002110 RID: 8464
// (get) Token: 0x0600CFF8 RID: 53240 RVA: 0x002F4AE8 File Offset: 0x002F2CE8
// (set) Token: 0x0600CFF9 RID: 53241 RVA: 0x002F4AFC File Offset: 0x002F2CFC
[Token(Token = "0x17002110")]
public string Name
{
[Token(Token = "0x600CFF8")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600CFF9")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x17002111 RID: 8465
// (get) Token: 0x0600CFFA RID: 53242 RVA: 0x002F4B10 File Offset: 0x002F2D10
// (set) Token: 0x0600CFFB RID: 53243 RVA: 0x002F4B24 File Offset: 0x002F2D24
[Token(Token = "0x17002111")]
public string FileName
{
[Token(Token = "0x600CFFA")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600CFFB")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set;
}
// Token: 0x17002112 RID: 8466
// (get) Token: 0x0600CFFC RID: 53244 RVA: 0x002F4B38 File Offset: 0x002F2D38
// (set) Token: 0x0600CFFD RID: 53245 RVA: 0x002F4B4C File Offset: 0x002F2D4C
[Token(Token = "0x17002112")]
public string MimeType
{
[Token(Token = "0x600CFFC")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600CFFD")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set;
}
// Token: 0x17002113 RID: 8467
// (get) Token: 0x0600CFFE RID: 53246 RVA: 0x002F4B60 File Offset: 0x002F2D60
// (set) Token: 0x0600CFFF RID: 53247 RVA: 0x002F4B74 File Offset: 0x002F2D74
[Token(Token = "0x17002113")]
public Encoding Encoding
{
[Token(Token = "0x600CFFE")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x600CFFF")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
set;
}
// Token: 0x17002114 RID: 8468
// (get) Token: 0x0600D000 RID: 53248 RVA: 0x002F4B88 File Offset: 0x002F2D88
// (set) Token: 0x0600D001 RID: 53249 RVA: 0x002F4B9C File Offset: 0x002F2D9C
[Token(Token = "0x17002114")]
public string Text
{
[Token(Token = "0x600D000")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x600D001")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
set;
}
// Token: 0x17002115 RID: 8469
// (get) Token: 0x0600D002 RID: 53250 RVA: 0x002F4BB0 File Offset: 0x002F2DB0
// (set) Token: 0x0600D003 RID: 53251 RVA: 0x002F4BC4 File Offset: 0x002F2DC4
[Token(Token = "0x17002115")]
public byte[] Binary
{
[Token(Token = "0x600D002")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
get;
[Token(Token = "0x600D003")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")]
set;
}
// Token: 0x17002116 RID: 8470
// (get) Token: 0x0600D004 RID: 53252 RVA: 0x002F4BD8 File Offset: 0x002F2DD8
[Token(Token = "0x17002116")]
public byte[] Payload
{
[Token(Token = "0x600D004")]
[Address(RVA = "0x2A73C00", Offset = "0x2A72C00", VA = "0x182A73C00")]
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: 0x0600D005 RID: 53253 RVA: 0x002F4C1C File Offset: 0x002F2E1C
[Token(Token = "0x600D005")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HTTPFieldData()
{
}
}
}
@@ -0,0 +1,240 @@
using System;
using System.Collections.Generic;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02002060 RID: 8288
[Token(Token = "0x2002060")]
public class HTTPFormBase
{
// Token: 0x17002117 RID: 8471
// (get) Token: 0x0600D006 RID: 53254 RVA: 0x002F4C30 File Offset: 0x002F2E30
// (set) Token: 0x0600D007 RID: 53255 RVA: 0x002F4C44 File Offset: 0x002F2E44
[Token(Token = "0x17002117")]
public List<HTTPFieldData> Fields
{
[Token(Token = "0x600D006")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600D007")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x17002118 RID: 8472
// (get) Token: 0x0600D008 RID: 53256 RVA: 0x002F4C58 File Offset: 0x002F2E58
[Token(Token = "0x17002118")]
public bool IsEmpty
{
[Token(Token = "0x600D008")]
[Address(RVA = "0x2A74050", Offset = "0x2A73050", VA = "0x182A74050")]
get
{
bool flag;
return this.<Fields>k__BackingField == 0 || flag;
}
}
// Token: 0x17002119 RID: 8473
// (get) Token: 0x0600D009 RID: 53257 RVA: 0x002F4C74 File Offset: 0x002F2E74
// (set) Token: 0x0600D00A RID: 53258 RVA: 0x002F4C88 File Offset: 0x002F2E88
[Token(Token = "0x17002119")]
public bool IsChanged
{
[Token(Token = "0x600D009")]
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570")]
get;
[Token(Token = "0x600D00A")]
[Address(RVA = "0x611070", Offset = "0x610070", VA = "0x180611070")]
protected set;
}
// Token: 0x1700211A RID: 8474
// (get) Token: 0x0600D00B RID: 53259 RVA: 0x002F4C9C File Offset: 0x002F2E9C
// (set) Token: 0x0600D00C RID: 53260 RVA: 0x002F4CB0 File Offset: 0x002F2EB0
[Token(Token = "0x1700211A")]
public bool HasBinary
{
[Token(Token = "0x600D00B")]
[Address(RVA = "0x696850", Offset = "0x695850", VA = "0x180696850")]
get;
[Token(Token = "0x600D00C")]
[Address(RVA = "0x69ADD0", Offset = "0x699DD0", VA = "0x18069ADD0")]
protected set;
}
// Token: 0x1700211B RID: 8475
// (get) Token: 0x0600D00D RID: 53261 RVA: 0x002F4CC4 File Offset: 0x002F2EC4
// (set) Token: 0x0600D00E RID: 53262 RVA: 0x002F4CD8 File Offset: 0x002F2ED8
[Token(Token = "0x1700211B")]
public bool HasLongValue
{
[Token(Token = "0x600D00D")]
[Address(RVA = "0x6A45D0", Offset = "0x6A35D0", VA = "0x1806A45D0")]
get;
[Token(Token = "0x600D00E")]
[Address(RVA = "0x6A4680", Offset = "0x6A3680", VA = "0x1806A4680")]
protected set;
}
// Token: 0x0600D00F RID: 53263 RVA: 0x002F4CEC File Offset: 0x002F2EEC
[Token(Token = "0x600D00F")]
[Address(RVA = "0x2A73C50", Offset = "0x2A72C50", VA = "0x182A73C50")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x0600D010 RID: 53264 RVA: 0x002F4D08 File Offset: 0x002F2F08
[Token(Token = "0x600D010")]
[Address(RVA = "0x2A73C70", Offset = "0x2A72C70", VA = "0x182A73C70")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x0600D011 RID: 53265 RVA: 0x002F4D24 File Offset: 0x002F2F24
[Token(Token = "0x600D011")]
[Address(RVA = "0x2A73C90", Offset = "0x2A72C90", VA = "0x182A73C90")]
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: 0x0600D012 RID: 53266 RVA: 0x002F4D94 File Offset: 0x002F2F94
[Token(Token = "0x600D012")]
[Address(RVA = "0x2A73ED0", Offset = "0x2A72ED0", VA = "0x182A73ED0")]
public void AddField(string fieldName, string value)
{
Encoding utf = Encoding.UTF8;
this.AddField(fieldName, value, utf);
}
// Token: 0x0600D013 RID: 53267 RVA: 0x002F4DB4 File Offset: 0x002F2FB4
[Token(Token = "0x600D013")]
[Address(RVA = "0x2A73DA0", Offset = "0x2A72DA0", VA = "0x182A73DA0")]
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: 0x0600D014 RID: 53268 RVA: 0x002F4E58 File Offset: 0x002F3058
[Token(Token = "0x600D014")]
[Address(RVA = "0x2A73F20", Offset = "0x2A72F20", VA = "0x182A73F20", 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: 0x0600D015 RID: 53269 RVA: 0x002F4E9C File Offset: 0x002F309C
[Token(Token = "0x600D015")]
[Address(RVA = "0x2A74000", Offset = "0x2A73000", VA = "0x182A74000", Slot = "5")]
public virtual void PrepareRequest(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (0600D015)
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 1663
*/;
}
// Token: 0x0600D016 RID: 53270 RVA: 0x002F4EB0 File Offset: 0x002F30B0
[Token(Token = "0x600D016")]
[Address(RVA = "0x2A73FB0", Offset = "0x2A72FB0", VA = "0x182A73FB0", Slot = "6")]
public virtual byte[] GetData()
{
/*
An exception occurred when decompiling this method (0600D016)
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 1663
*/;
}
// Token: 0x0600D017 RID: 53271 RVA: 0x002F4EC4 File Offset: 0x002F30C4
[Token(Token = "0x600D017")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HTTPFormBase()
{
}
// Token: 0x040083E9 RID: 33769
[Token(Token = "0x40083E9")]
private const int LongLength = 256;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02002061 RID: 8289
[Token(Token = "0x2002061")]
public enum HTTPFormUsage
{
// Token: 0x040083EF RID: 33775
[Token(Token = "0x40083EF")]
Automatic,
// Token: 0x040083F0 RID: 33776
[Token(Token = "0x40083F0")]
UrlEncoded,
// Token: 0x040083F1 RID: 33777
[Token(Token = "0x40083F1")]
Multipart,
// Token: 0x040083F2 RID: 33778
[Token(Token = "0x40083F2")]
RawJSon
}
}
@@ -0,0 +1,49 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02002062 RID: 8290
[Token(Token = "0x2002062")]
public sealed class HTTPMultiPartForm : HTTPFormBase
{
// Token: 0x0600D018 RID: 53272 RVA: 0x002F4ED8 File Offset: 0x002F30D8
[Token(Token = "0x600D018")]
[Address(RVA = "0x2A78FF0", Offset = "0x2A77FF0", VA = "0x182A78FF0")]
public HTTPMultiPartForm()
{
this.Finalize();
string text2;
string text = "BestHTTP_HTTPMultiPartForm_" + text2;
this.Boundary = text;
}
// Token: 0x0600D019 RID: 53273 RVA: 0x002F4F04 File Offset: 0x002F3104
[Token(Token = "0x600D019")]
[Address(RVA = "0x2A78F80", Offset = "0x2A77F80", VA = "0x182A78F80", 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: 0x0600D01A RID: 53274 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D01A")]
[Address(RVA = "0x2A78AF0", Offset = "0x2A77AF0", VA = "0x182A78AF0", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040083F3 RID: 33779
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083F3")]
private string Boundary;
// Token: 0x040083F4 RID: 33780
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40083F4")]
private byte[] CachedData;
}
}
@@ -0,0 +1,62 @@
using System;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x02002063 RID: 8291
[Token(Token = "0x2002063")]
public sealed class HTTPUrlEncodedForm : HTTPFormBase
{
// Token: 0x0600D01B RID: 53275 RVA: 0x002F4F3C File Offset: 0x002F313C
[Token(Token = "0x600D01B")]
[Address(RVA = "0x2A7F7D0", Offset = "0x2A7E7D0", VA = "0x182A7F7D0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/x-www-form-urlencoded");
}
// Token: 0x0600D01C RID: 53276 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D01C")]
[Address(RVA = "0x2A7F5D0", Offset = "0x2A7E5D0", VA = "0x182A7F5D0", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D01D RID: 53277 RVA: 0x002F4F60 File Offset: 0x002F3160
[Token(Token = "0x600D01D")]
[Address(RVA = "0x2A7F470", Offset = "0x2A7E470", VA = "0x182A7F470")]
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: 0x0600D01E RID: 53278 RVA: 0x002F4FBC File Offset: 0x002F31BC
[Token(Token = "0x600D01E")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HTTPUrlEncodedForm()
{
}
// Token: 0x040083F5 RID: 33781
[Token(Token = "0x40083F5")]
private const int EscapeTreshold = 256;
// Token: 0x040083F6 RID: 33782
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083F6")]
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: 0x02002064 RID: 8292
[Token(Token = "0x2002064")]
public sealed class RawJsonForm : HTTPFormBase
{
// Token: 0x0600D01F RID: 53279 RVA: 0x002F4FD0 File Offset: 0x002F31D0
[Token(Token = "0x600D01F")]
[Address(RVA = "0x2A80690", Offset = "0x2A7F690", VA = "0x182A80690", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/json");
}
// Token: 0x0600D020 RID: 53280 RVA: 0x002F4FF4 File Offset: 0x002F31F4
[Token(Token = "0x600D020")]
[Address(RVA = "0x2A804A0", Offset = "0x2A7F4A0", VA = "0x182A804A0", 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: 0x0600D021 RID: 53281 RVA: 0x002F5080 File Offset: 0x002F3280
[Token(Token = "0x600D021")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public RawJsonForm()
{
}
// Token: 0x040083F7 RID: 33783
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083F7")]
private byte[] CachedData;
}
}
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Forms
{
// Token: 0x02002066 RID: 8294
[Token(Token = "0x2002066")]
public sealed class UnityForm : HTTPFormBase
{
// Token: 0x1700211C RID: 8476
// (get) Token: 0x0600D026 RID: 53286 RVA: 0x002F50F8 File Offset: 0x002F32F8
// (set) Token: 0x0600D027 RID: 53287 RVA: 0x002F510C File Offset: 0x002F330C
[Token(Token = "0x1700211C")]
public WWWForm Form
{
[Token(Token = "0x600D026")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600D027")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set;
}
// Token: 0x0600D028 RID: 53288 RVA: 0x002F5120 File Offset: 0x002F3320
[Token(Token = "0x600D028")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public UnityForm()
{
}
// Token: 0x0600D029 RID: 53289 RVA: 0x002F5134 File Offset: 0x002F3334
[Token(Token = "0x600D029")]
[Address(RVA = "0x627550", Offset = "0x626550", VA = "0x180627550")]
public UnityForm(WWWForm form)
{
this.Form = form;
}
// Token: 0x0600D02A RID: 53290 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D02A")]
[Address(RVA = "0x2A810A0", Offset = "0x2A800A0", VA = "0x182A810A0", Slot = "4")]
public override void CopyFrom(HTTPFormBase fields)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D02B RID: 53291 RVA: 0x002F5150 File Offset: 0x002F3350
[Token(Token = "0x600D02B")]
[Address(RVA = "0x2A81220", Offset = "0x2A80220", VA = "0x182A81220", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
Dictionary<string, string> headers = this.<Form>k__BackingField.headers;
throw new NullReferenceException();
}
// Token: 0x0600D02C RID: 53292 RVA: 0x002F51A0 File Offset: 0x002F33A0
[Token(Token = "0x600D02C")]
[Address(RVA = "0x2A81200", Offset = "0x2A80200", VA = "0x182A81200", 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: 0x0200206C RID: 8300
[Token(Token = "0x200206C")]
public class Future<T> : IFuture<T>
{
// Token: 0x17002120 RID: 8480
// (get) Token: 0x0600D040 RID: 53312 RVA: 0x002F5394 File Offset: 0x002F3594
[Token(Token = "0x17002120")]
public FutureState state
{
[Token(Token = "0x600D040")]
[Address(RVA = "0xB40AD0", Offset = "0xB3FAD0", VA = "0x180B40AD0", Slot = "4")]
get
{
/*
An exception occurred when decompiling this method (0600D040)
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 1663
*/;
}
}
// Token: 0x17002121 RID: 8481
// (get) Token: 0x0600D041 RID: 53313 RVA: 0x002F53A8 File Offset: 0x002F35A8
[Token(Token = "0x17002121")]
public T value
{
[Token(Token = "0x600D041")]
[Address(RVA = "0x2DA9DA0", Offset = "0x2DA8DA0", VA = "0x182DA9DA0", Slot = "5")]
get
{
/*
An exception occurred when decompiling this method (0600D041)
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 1663
*/;
}
}
// Token: 0x17002122 RID: 8482
// (get) Token: 0x0600D042 RID: 53314 RVA: 0x002F53D8 File Offset: 0x002F35D8
[Token(Token = "0x17002122")]
public Exception error
{
[Token(Token = "0x600D042")]
[Address(RVA = "0x2DA9D20", Offset = "0x2DA8D20", VA = "0x182DA9D20", Slot = "6")]
get
{
/*
An exception occurred when decompiling this method (0600D042)
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 1663
*/;
}
}
// Token: 0x0600D043 RID: 53315 RVA: 0x002F53F8 File Offset: 0x002F35F8
[Token(Token = "0x600D043")]
[Address(RVA = "0x2DA9A00", Offset = "0x2DA8A00", VA = "0x182DA9A00")]
public Future()
{
List<FutureErrorCallback> list = new List();
base..ctor();
this._state = (FutureState)((ulong)0L);
}
// Token: 0x0600D044 RID: 53316 RVA: 0x002F541C File Offset: 0x002F361C
[Token(Token = "0x600D044")]
[Address(RVA = "0x2DA9390", Offset = "0x2DA8390", VA = "0x182DA9390", Slot = "7")]
public IFuture<T> OnItem(FutureValueCallback<T> callback)
{
bool flag;
if (this._state >= FutureState.Success || !flag)
{
}
throw new NullReferenceException();
}
// Token: 0x0600D045 RID: 53317 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D045")]
[Address(RVA = "0x2DA9420", Offset = "0x2DA8420", VA = "0x182DA9420", Slot = "8")]
public IFuture<T> OnSuccess(FutureValueCallback<T> callback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D046 RID: 53318 RVA: 0x002F543C File Offset: 0x002F363C
[Token(Token = "0x600D046")]
[Address(RVA = "0x2DA9160", Offset = "0x2DA8160", VA = "0x182DA9160", 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: 0x0600D047 RID: 53319 RVA: 0x002F5474 File Offset: 0x002F3674
[Token(Token = "0x600D047")]
[Address(RVA = "0x2DA8FE0", Offset = "0x2DA7FE0", VA = "0x182DA8FE0", 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: 0x0600D048 RID: 53320 RVA: 0x002F54A4 File Offset: 0x002F36A4
[Token(Token = "0x600D048")]
[Address(RVA = "0x2DA95E0", Offset = "0x2DA85E0", VA = "0x182DA95E0")]
public IFuture<T> Process(Func<T> func)
{
/*
An exception occurred when decompiling this method (0600D048)
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 1663
*/;
}
// Token: 0x0600D049 RID: 53321 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D049")]
[Address(RVA = "0x2DA97A0", Offset = "0x2DA87A0", VA = "0x182DA97A0")]
private void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D04A RID: 53322 RVA: 0x002F54D4 File Offset: 0x002F36D4
[Token(Token = "0x600D04A")]
[Address(RVA = "0x2DA7E00", Offset = "0x2DA6E00", VA = "0x182DA7E00")]
public void Assign(T value)
{
/*
An exception occurred when decompiling this method (0600D04A)
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 1663
*/;
}
// Token: 0x0600D04B RID: 53323 RVA: 0x002F5508 File Offset: 0x002F3708
[Token(Token = "0x600D04B")]
[Address(RVA = "0x2DA7F80", Offset = "0x2DA6F80", VA = "0x182DA7F80")]
public void BeginProcess([Optional] T initialItem)
{
this._state = (FutureState)((ulong)1L);
this._value = initialItem;
}
// Token: 0x0600D04C RID: 53324 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D04C")]
[Address(RVA = "0x2DA7BE0", Offset = "0x2DA6BE0", VA = "0x182DA7BE0")]
public void AssignItem(T value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D04D RID: 53325 RVA: 0x002F5528 File Offset: 0x002F3728
[Token(Token = "0x600D04D")]
[Address(RVA = "0x2DA82C0", Offset = "0x2DA72C0", VA = "0x182DA82C0")]
public void Fail(Exception error)
{
/*
An exception occurred when decompiling this method (0600D04D)
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 1663
*/;
}
// Token: 0x0600D04E RID: 53326 RVA: 0x002F555C File Offset: 0x002F375C
[Token(Token = "0x600D04E")]
[Address(RVA = "0x2DA7920", Offset = "0x2DA6920", VA = "0x182DA7920")]
private void AssignImpl(T value)
{
this._value = value;
this._state = (FutureState)((ulong)2L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600D04F RID: 53327 RVA: 0x002F5580 File Offset: 0x002F3780
[Token(Token = "0x600D04F")]
[Address(RVA = "0x2DA8160", Offset = "0x2DA7160", VA = "0x182DA8160")]
private void FailImpl(Exception error)
{
int num = 0;
this._value = num;
this._state = (FutureState)((ulong)3L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600D050 RID: 53328 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D050")]
[Address(RVA = "0x2DA8DC0", Offset = "0x2DA7DC0", VA = "0x182DA8DC0")]
private void FlushSuccessCallbacks()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D051 RID: 53329 RVA: 0x002F55A8 File Offset: 0x002F37A8
[Token(Token = "0x600D051")]
[Address(RVA = "0x2DA89B0", Offset = "0x2DA79B0", VA = "0x182DA89B0")]
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: 0x0600D052 RID: 53330 RVA: 0x002F55FC File Offset: 0x002F37FC
[Token(Token = "0x600D052")]
[Address(RVA = "0x2DA8380", Offset = "0x2DA7380", VA = "0x182DA8380")]
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: 0x0600D053 RID: 53331 RVA: 0x002F5640 File Offset: 0x002F3840
[Token(Token = "0x600D053")]
[Address(RVA = "0x2DA80A0", Offset = "0x2DA70A0", VA = "0x182DA80A0")]
private void ClearCallbacks()
{
}
// Token: 0x04008401 RID: 33793
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008401")]
private FutureState _state;
// Token: 0x04008402 RID: 33794
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008402")]
private T _value;
// Token: 0x04008403 RID: 33795
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008403")]
private Exception _error;
// Token: 0x04008404 RID: 33796
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008404")]
private Func<T> _processFunc;
// Token: 0x04008405 RID: 33797
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008405")]
private readonly List<FutureValueCallback<T>> _itemCallbacks;
// Token: 0x04008406 RID: 33798
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008406")]
private readonly List<FutureValueCallback<T>> _successCallbacks;
// Token: 0x04008407 RID: 33799
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008407")]
private readonly List<FutureErrorCallback> _errorCallbacks;
// Token: 0x04008408 RID: 33800
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008408")]
private readonly List<FutureCallback<T>> _complationCallbacks;
}
}
@@ -0,0 +1,45 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x02002069 RID: 8297
[Token(Token = "0x2002069")]
public sealed class FutureCallback<T> : MulticastDelegate
{
// Token: 0x0600D034 RID: 53300 RVA: 0x002F51C0 File Offset: 0x002F33C0
[Token(Token = "0x600D034")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public FutureCallback(object @object, IntPtr method)
{
}
// Token: 0x0600D035 RID: 53301 RVA: 0x002F51D0 File Offset: 0x002F33D0
[Token(Token = "0x600D035")]
[Address(RVA = "0xB41180", Offset = "0xB40180", VA = "0x180B41180", Slot = "13")]
public void Invoke(IFuture<T> future)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600D036 RID: 53302 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D036")]
[Address(RVA = "0x5FA200", Offset = "0x5F9200", VA = "0x1805FA200", 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: 0x0600D037 RID: 53303 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D037")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x0200206B RID: 8299
[Token(Token = "0x200206B")]
public sealed class FutureErrorCallback : MulticastDelegate
{
// Token: 0x0600D03C RID: 53308 RVA: 0x002F52C4 File Offset: 0x002F34C4
[Token(Token = "0x600D03C")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public FutureErrorCallback(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600D03D RID: 53309 RVA: 0x002F52E0 File Offset: 0x002F34E0
[Token(Token = "0x600D03D")]
[Address(RVA = "0x5FA230", Offset = "0x5F9230", VA = "0x1805FA230", Slot = "13")]
public void Invoke(Exception error)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600D03E RID: 53310 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D03E")]
[Address(RVA = "0x5FA200", Offset = "0x5F9200", VA = "0x1805FA200", 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: 0x0600D03F RID: 53311 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D03F")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x02002067 RID: 8295
[Token(Token = "0x2002067")]
public enum FutureState
{
// Token: 0x040083FD RID: 33789
[Token(Token = "0x40083FD")]
Pending,
// Token: 0x040083FE RID: 33790
[Token(Token = "0x40083FE")]
Processing,
// Token: 0x040083FF RID: 33791
[Token(Token = "0x40083FF")]
Success,
// Token: 0x04008400 RID: 33792
[Token(Token = "0x4008400")]
Error
}
}
@@ -0,0 +1,44 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x0200206A RID: 8298
[Token(Token = "0x200206A")]
public sealed class FutureValueCallback<T> : MulticastDelegate
{
// Token: 0x0600D038 RID: 53304 RVA: 0x002F5238 File Offset: 0x002F3438
[Token(Token = "0x600D038")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public FutureValueCallback(object @object, IntPtr method)
{
}
// Token: 0x0600D039 RID: 53305 RVA: 0x002F5248 File Offset: 0x002F3448
[Token(Token = "0x600D039")]
[Address(RVA = "0x5FFF90", Offset = "0x5FEF90", VA = "0x1805FFF90", Slot = "13")]
public void Invoke(T value)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600D03A RID: 53306 RVA: 0x002F52B4 File Offset: 0x002F34B4
[Token(Token = "0x600D03A")]
[Address(RVA = "0x2DA78A0", Offset = "0x2DA68A0", VA = "0x182DA78A0", Slot = "14")]
public IAsyncResult BeginInvoke(T value, AsyncCallback callback, object @object)
{
}
// Token: 0x0600D03B RID: 53307 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D03B")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x02002068 RID: 8296
[Token(Token = "0x2002068")]
public interface IFuture<T>
{
// Token: 0x1700211D RID: 8477
// (get) Token: 0x0600D02D RID: 53293
[Token(Token = "0x1700211D")]
FutureState state
{
[Token(Token = "0x600D02D")]
[Address(Slot = "0")]
get;
}
// Token: 0x1700211E RID: 8478
// (get) Token: 0x0600D02E RID: 53294
[Token(Token = "0x1700211E")]
T value
{
[Token(Token = "0x600D02E")]
[Address(Slot = "1")]
get;
}
// Token: 0x1700211F RID: 8479
// (get) Token: 0x0600D02F RID: 53295
[Token(Token = "0x1700211F")]
Exception error
{
[Token(Token = "0x600D02F")]
[Address(Slot = "2")]
get;
}
// Token: 0x0600D030 RID: 53296
[Token(Token = "0x600D030")]
[Address(Slot = "3")]
IFuture<T> OnItem(FutureValueCallback<T> callback);
// Token: 0x0600D031 RID: 53297
[Token(Token = "0x600D031")]
[Address(Slot = "4")]
IFuture<T> OnSuccess(FutureValueCallback<T> callback);
// Token: 0x0600D032 RID: 53298
[Token(Token = "0x600D032")]
[Address(Slot = "5")]
IFuture<T> OnError(FutureErrorCallback callback);
// Token: 0x0600D033 RID: 53299
[Token(Token = "0x600D033")]
[Address(Slot = "6")]
IFuture<T> OnComplete(FutureCallback<T> callback);
}
}
+888
View File
@@ -0,0 +1,888 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
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: 0x02001970 RID: 6512
[Token(Token = "0x2001970")]
internal sealed class HTTPConnection : ConnectionBase
{
// Token: 0x170017DE RID: 6110
// (get) Token: 0x060096EC RID: 38636 RVA: 0x001EB284 File Offset: 0x001E9484
[Token(Token = "0x170017DE")]
public override bool IsRemovable
{
[Token(Token = "0x60096EC")]
[Address(RVA = "0x2A73B10", Offset = "0x2A72B10", VA = "0x182A73B10", 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: 0x060096ED RID: 38637 RVA: 0x001EB2E8 File Offset: 0x001E94E8
[Token(Token = "0x60096ED")]
[Address(RVA = "0x2A70930", Offset = "0x2A6F930", VA = "0x182A70930")]
internal HTTPConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x060096EE RID: 38638 RVA: 0x001EB2FC File Offset: 0x001E94FC
[Token(Token = "0x60096EE")]
[Address(RVA = "0x2A722B0", Offset = "0x2A712B0", VA = "0x182A722B0", Slot = "7")]
protected override void ThreadFunc(object param)
{
uint num11;
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);
}
}
<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:
PropertyDescriptor propertyDescriptor = num11.PropertyDescriptor;
throw new NullReferenceException();
IL_88D:
Exception ex2 = new Exception("AbortRequested");
throw new NullReferenceException();
IL_8AB:
Exception ex3 = new Exception("AbortRequested");
throw new NullReferenceException();
}
// Token: 0x060096EF RID: 38639 RVA: 0x001EBC10 File Offset: 0x001E9E10
[Token(Token = "0x60096EF")]
[Address(RVA = "0x2A70AD0", Offset = "0x2A6FAD0", VA = "0x182A70AD0")]
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: 0x060096F0 RID: 38640 RVA: 0x001EC010 File Offset: 0x001EA210
[Token(Token = "0x60096F0")]
[Address(RVA = "0x2A71C30", Offset = "0x2A70C30", VA = "0x182A71C30")]
private bool Receive()
{
/*
An exception occurred when decompiling this method (060096F0)
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 1663
*/;
}
// Token: 0x060096F1 RID: 38641 RVA: 0x001EC258 File Offset: 0x001EA458
[Token(Token = "0x60096F1")]
[Address(RVA = "0x2A71730", Offset = "0x2A70730", VA = "0x182A71730")]
private bool LoadFromCache(Uri uri)
{
int num;
for (;;)
{
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_117;
}
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.HasHeader("content-length"))
{
break;
}
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)
{
}
if (num == 0)
{
goto Block_6;
}
}
Dictionary<string, List<string>> <Headers>k__BackingField = this.<CurrentRequest>k__BackingField.<Response>k__BackingField.<Headers>k__BackingField;
List<string> list = new List(1);
string text2;
list.Add(text2);
throw new NullReferenceException();
Block_6:
if (num != -1)
{
}
return true;
IL_117:
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: 0x060096F2 RID: 38642 RVA: 0x001EC3BC File Offset: 0x001EA5BC
[Token(Token = "0x60096F2")]
[Address(RVA = "0x2A73670", Offset = "0x2A72670", VA = "0x182A73670")]
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: 0x060096F3 RID: 38643 RVA: 0x001EC4B0 File Offset: 0x001EA6B0
[Token(Token = "0x60096F3")]
[Address(RVA = "0x2A73900", Offset = "0x2A72900", VA = "0x182A73900")]
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: 0x060096F4 RID: 38644 RVA: 0x001EC570 File Offset: 0x001EA770
[Token(Token = "0x60096F4")]
[Address(RVA = "0x2A715A0", Offset = "0x2A705A0", VA = "0x182A715A0")]
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: 0x060096F5 RID: 38645 RVA: 0x001EC5F4 File Offset: 0x001EA7F4
[Token(Token = "0x60096F5")]
[Address(RVA = "0x2A70940", Offset = "0x2A6F940", VA = "0x182A70940", 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: 0x060096F6 RID: 38646 RVA: 0x001EC63C File Offset: 0x001EA83C
[Token(Token = "0x60096F6")]
[Address(RVA = "0x2A709F0", Offset = "0x2A6F9F0", VA = "0x182A709F0")]
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: 0x060096F7 RID: 38647 RVA: 0x001EC68C File Offset: 0x001EA88C
[Token(Token = "0x60096F7")]
[Address(RVA = "0x2A71570", Offset = "0x2A70570", VA = "0x182A71570", Slot = "8")]
protected override void Dispose(bool disposing)
{
this.Close();
base.Dispose(disposing);
}
// Token: 0x0400663A RID: 26170
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400663A")]
private TcpClient Client;
// Token: 0x0400663B RID: 26171
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400663B")]
private Stream Stream;
// Token: 0x0400663C RID: 26172
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400663C")]
private KeepAliveHeader KeepAlive;
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200196A RID: 6506
[Token(Token = "0x200196A")]
internal sealed class HTTPConnectionRecycledDelegate : MulticastDelegate
{
// Token: 0x060096B3 RID: 38579 RVA: 0x001EA7B4 File Offset: 0x001E89B4
[Token(Token = "0x60096B3")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public HTTPConnectionRecycledDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060096B4 RID: 38580 RVA: 0x001EA7D0 File Offset: 0x001E89D0
[Token(Token = "0x60096B4")]
[Address(RVA = "0x5FA230", Offset = "0x5F9230", VA = "0x1805FA230", Slot = "13")]
public void Invoke(ConnectionBase conn)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060096B5 RID: 38581 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60096B5")]
[Address(RVA = "0x5FA200", Offset = "0x5F9200", VA = "0x1805FA200", 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: 0x060096B6 RID: 38582 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60096B6")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x02001971 RID: 6513
[Token(Token = "0x2001971")]
internal enum HTTPConnectionStates
{
// Token: 0x0400663E RID: 26174
[Token(Token = "0x400663E")]
Initial,
// Token: 0x0400663F RID: 26175
[Token(Token = "0x400663F")]
Processing,
// Token: 0x04006640 RID: 26176
[Token(Token = "0x4006640")]
Redirected,
// Token: 0x04006641 RID: 26177
[Token(Token = "0x4006641")]
Upgraded,
// Token: 0x04006642 RID: 26178
[Token(Token = "0x4006642")]
WaitForProtocolShutdown,
// Token: 0x04006643 RID: 26179
[Token(Token = "0x4006643")]
WaitForRecycle,
// Token: 0x04006644 RID: 26180
[Token(Token = "0x4006644")]
Free,
// Token: 0x04006645 RID: 26181
[Token(Token = "0x4006645")]
AbortRequested,
// Token: 0x04006646 RID: 26182
[Token(Token = "0x4006646")]
TimedOut,
// Token: 0x04006647 RID: 26183
[Token(Token = "0x4006647")]
Closed
}
}
+971
View File
@@ -0,0 +1,971 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using BestHTTP.Statistics;
using Cpp2IlInjected;
using Org.BouncyCastle.Crypto.Tls;
using UnityEngine;
namespace BestHTTP
{
// Token: 0x02001972 RID: 6514
[Token(Token = "0x2001972")]
public static class HTTPManager
{
// Token: 0x060096F9 RID: 38649 RVA: 0x001EC6D8 File Offset: 0x001EA8D8
[Token(Token = "0x60096F9")]
[Address(RVA = "0x2A77440", Offset = "0x2A76440", VA = "0x182A77440")]
static HTTPManager()
{
TimeSpan timeSpan;
HTTPManager.MaxConnectionIdleTime = timeSpan;
TimeSpan timeSpan2;
HTTPManager.ConnectTimeout = timeSpan2;
TimeSpan timeSpan3;
HTTPManager.RequestTimeout = timeSpan3;
HTTPManager.logger = new DefaultLogger();
HTTPManager.IOService = new DefaultIOService();
}
// Token: 0x170017DF RID: 6111
// (get) Token: 0x060096FA RID: 38650 RVA: 0x001EC748 File Offset: 0x001EA948
// (set) Token: 0x060096FB RID: 38651 RVA: 0x001EC75C File Offset: 0x001EA95C
[Token(Token = "0x170017DF")]
public static byte MaxConnectionPerServer
{
[Token(Token = "0x60096FA")]
[Address(RVA = "0x2A78100", Offset = "0x2A77100", VA = "0x182A78100")]
get
{
return HTTPManager.maxConnectionPerServer;
}
[Token(Token = "0x60096FB")]
[Address(RVA = "0x2A78820", Offset = "0x2A77820", VA = "0x182A78820")]
set
{
HTTPManager.maxConnectionPerServer = value;
}
}
// Token: 0x170017E0 RID: 6112
// (get) Token: 0x060096FC RID: 38652 RVA: 0x001EC77C File Offset: 0x001EA97C
// (set) Token: 0x060096FD RID: 38653 RVA: 0x001EC790 File Offset: 0x001EA990
[Token(Token = "0x170017E0")]
public static bool KeepAliveDefaultValue
{
[Token(Token = "0x60096FC")]
[Address(RVA = "0x2A77EC0", Offset = "0x2A76EC0", VA = "0x182A77EC0")]
get;
[Token(Token = "0x60096FD")]
[Address(RVA = "0x2A78700", Offset = "0x2A77700", VA = "0x182A78700")]
set;
}
// Token: 0x170017E1 RID: 6113
// (get) Token: 0x060096FE RID: 38654 RVA: 0x001EC7A4 File Offset: 0x001EA9A4
// (set) Token: 0x060096FF RID: 38655 RVA: 0x001EC7B8 File Offset: 0x001EA9B8
[Token(Token = "0x170017E1")]
public static bool IsCachingDisabled
{
[Token(Token = "0x60096FE")]
[Address(RVA = "0x2A77DA0", Offset = "0x2A76DA0", VA = "0x182A77DA0")]
get;
[Token(Token = "0x60096FF")]
[Address(RVA = "0x2A785E0", Offset = "0x2A775E0", VA = "0x182A785E0")]
set;
}
// Token: 0x170017E2 RID: 6114
// (get) Token: 0x06009700 RID: 38656 RVA: 0x001EC7CC File Offset: 0x001EA9CC
// (set) Token: 0x06009701 RID: 38657 RVA: 0x001EC7E0 File Offset: 0x001EA9E0
[Token(Token = "0x170017E2")]
public static TimeSpan MaxConnectionIdleTime
{
[Token(Token = "0x6009700")]
[Address(RVA = "0x2A780A0", Offset = "0x2A770A0", VA = "0x182A780A0")]
get;
[Token(Token = "0x6009701")]
[Address(RVA = "0x2A787C0", Offset = "0x2A777C0", VA = "0x182A787C0")]
set;
}
// Token: 0x170017E3 RID: 6115
// (get) Token: 0x06009702 RID: 38658 RVA: 0x001EC7F4 File Offset: 0x001EA9F4
// (set) Token: 0x06009703 RID: 38659 RVA: 0x001EC808 File Offset: 0x001EAA08
[Token(Token = "0x170017E3")]
public static bool IsCookiesEnabled
{
[Token(Token = "0x6009702")]
[Address(RVA = "0x2A77E00", Offset = "0x2A76E00", VA = "0x182A77E00")]
get;
[Token(Token = "0x6009703")]
[Address(RVA = "0x2A78640", Offset = "0x2A77640", VA = "0x182A78640")]
set;
}
// Token: 0x170017E4 RID: 6116
// (get) Token: 0x06009704 RID: 38660 RVA: 0x001EC81C File Offset: 0x001EAA1C
// (set) Token: 0x06009705 RID: 38661 RVA: 0x001EC830 File Offset: 0x001EAA30
[Token(Token = "0x170017E4")]
public static uint CookieJarSize
{
[Token(Token = "0x6009704")]
[Address(RVA = "0x2A77A50", Offset = "0x2A76A50", VA = "0x182A77A50")]
get;
[Token(Token = "0x6009705")]
[Address(RVA = "0x2A78400", Offset = "0x2A77400", VA = "0x182A78400")]
set;
}
// Token: 0x170017E5 RID: 6117
// (get) Token: 0x06009706 RID: 38662 RVA: 0x001EC844 File Offset: 0x001EAA44
// (set) Token: 0x06009707 RID: 38663 RVA: 0x001EC858 File Offset: 0x001EAA58
[Token(Token = "0x170017E5")]
public static bool EnablePrivateBrowsing
{
[Token(Token = "0x6009706")]
[Address(RVA = "0x2A77BD0", Offset = "0x2A76BD0", VA = "0x182A77BD0")]
get;
[Token(Token = "0x6009707")]
[Address(RVA = "0x2A78580", Offset = "0x2A77580", VA = "0x182A78580")]
set;
}
// Token: 0x170017E6 RID: 6118
// (get) Token: 0x06009708 RID: 38664 RVA: 0x001EC86C File Offset: 0x001EAA6C
// (set) Token: 0x06009709 RID: 38665 RVA: 0x001EC880 File Offset: 0x001EAA80
[Token(Token = "0x170017E6")]
public static TimeSpan ConnectTimeout
{
[Token(Token = "0x6009708")]
[Address(RVA = "0x2A779F0", Offset = "0x2A769F0", VA = "0x182A779F0")]
get;
[Token(Token = "0x6009709")]
[Address(RVA = "0x2A783A0", Offset = "0x2A773A0", VA = "0x182A783A0")]
set;
}
// Token: 0x170017E7 RID: 6119
// (get) Token: 0x0600970A RID: 38666 RVA: 0x001EC894 File Offset: 0x001EAA94
// (set) Token: 0x0600970B RID: 38667 RVA: 0x001EC8A8 File Offset: 0x001EAAA8
[Token(Token = "0x170017E7")]
public static TimeSpan RequestTimeout
{
[Token(Token = "0x600970A")]
[Address(RVA = "0x2A78280", Offset = "0x2A77280", VA = "0x182A78280")]
get;
[Token(Token = "0x600970B")]
[Address(RVA = "0x2A789D0", Offset = "0x2A779D0", VA = "0x182A789D0")]
set;
}
// Token: 0x170017E8 RID: 6120
// (get) Token: 0x0600970C RID: 38668 RVA: 0x001EC8BC File Offset: 0x001EAABC
// (set) Token: 0x0600970D RID: 38669 RVA: 0x001EC8D0 File Offset: 0x001EAAD0
[Token(Token = "0x170017E8")]
public static Func<string> RootCacheFolderProvider
{
[Token(Token = "0x600970C")]
[Address(RVA = "0x2A782E0", Offset = "0x2A772E0", VA = "0x182A782E0")]
get;
[Token(Token = "0x600970D")]
[Address(RVA = "0x2A78A30", Offset = "0x2A77A30", VA = "0x182A78A30")]
set;
}
// Token: 0x170017E9 RID: 6121
// (get) Token: 0x0600970E RID: 38670 RVA: 0x001EC8E4 File Offset: 0x001EAAE4
// (set) Token: 0x0600970F RID: 38671 RVA: 0x001EC8F8 File Offset: 0x001EAAF8
[Token(Token = "0x170017E9")]
public static Proxy Proxy
{
[Token(Token = "0x600970E")]
[Address(RVA = "0x2A78220", Offset = "0x2A77220", VA = "0x182A78220")]
get;
[Token(Token = "0x600970F")]
[Address(RVA = "0x2A78970", Offset = "0x2A77970", VA = "0x182A78970")]
set;
}
// Token: 0x170017EA RID: 6122
// (get) Token: 0x06009710 RID: 38672 RVA: 0x001EC90C File Offset: 0x001EAB0C
[Token(Token = "0x170017EA")]
public static HeartbeatManager Heartbeats
{
[Token(Token = "0x6009710")]
[Address(RVA = "0x2A77C30", Offset = "0x2A76C30", VA = "0x182A77C30")]
get
{
HeartbeatManager heartbeatManager = new HeartbeatManager();
List<IHeartbeat> list = new List();
heartbeatManager.Heartbeats = list;
DateTime minValue = DateTime.MinValue;
heartbeatManager.LastUpdate = minValue;
HTTPManager.heartbeats = heartbeatManager;
return HTTPManager.heartbeats;
}
}
// Token: 0x170017EB RID: 6123
// (get) Token: 0x06009711 RID: 38673 RVA: 0x001EC94C File Offset: 0x001EAB4C
// (set) Token: 0x06009712 RID: 38674 RVA: 0x001EC984 File Offset: 0x001EAB84
[Token(Token = "0x170017EB")]
public static BestHTTP.Logger.ILogger Logger
{
[Token(Token = "0x6009711")]
[Address(RVA = "0x2A77F20", Offset = "0x2A76F20", VA = "0x182A77F20")]
get
{
HTTPManager.logger = new DefaultLogger();
BestHTTP.Logger.ILogger logger = HTTPManager.logger;
int num = 0;
num += num;
num++;
return HTTPManager.logger;
}
[Token(Token = "0x6009712")]
[Address(RVA = "0x2A78760", Offset = "0x2A77760", VA = "0x182A78760")]
set
{
HTTPManager.logger = value;
}
}
// Token: 0x170017EC RID: 6124
// (get) Token: 0x06009713 RID: 38675 RVA: 0x001EC998 File Offset: 0x001EAB98
// (set) Token: 0x06009714 RID: 38676 RVA: 0x001EC9AC File Offset: 0x001EABAC
[Token(Token = "0x170017EC")]
public static ICertificateVerifyer DefaultCertificateVerifyer
{
[Token(Token = "0x6009713")]
[Address(RVA = "0x2A77AB0", Offset = "0x2A76AB0", VA = "0x182A77AB0")]
get;
[Token(Token = "0x6009714")]
[Address(RVA = "0x2A78460", Offset = "0x2A77460", VA = "0x182A78460")]
set;
}
// Token: 0x170017ED RID: 6125
// (get) Token: 0x06009715 RID: 38677 RVA: 0x001EC9C0 File Offset: 0x001EABC0
// (set) Token: 0x06009716 RID: 38678 RVA: 0x001EC9D4 File Offset: 0x001EABD4
[Token(Token = "0x170017ED")]
public static IClientCredentialsProvider DefaultClientCredentialsProvider
{
[Token(Token = "0x6009715")]
[Address(RVA = "0x2A77B70", Offset = "0x2A76B70", VA = "0x182A77B70")]
get;
[Token(Token = "0x6009716")]
[Address(RVA = "0x2A78520", Offset = "0x2A77520", VA = "0x182A78520")]
set;
}
// Token: 0x170017EE RID: 6126
// (get) Token: 0x06009717 RID: 38679 RVA: 0x001EC9E8 File Offset: 0x001EABE8
// (set) Token: 0x06009718 RID: 38680 RVA: 0x001EC9FC File Offset: 0x001EABFC
[Token(Token = "0x170017EE")]
public static bool UseAlternateSSLDefaultValue
{
[Token(Token = "0x6009717")]
[Address(RVA = "0x2A78340", Offset = "0x2A77340", VA = "0x182A78340")]
get;
[Token(Token = "0x6009718")]
[Address(RVA = "0x2A78A90", Offset = "0x2A77A90", VA = "0x182A78A90")]
set;
}
// Token: 0x170017EF RID: 6127
// (get) Token: 0x06009719 RID: 38681 RVA: 0x001ECA10 File Offset: 0x001EAC10
// (set) Token: 0x0600971A RID: 38682 RVA: 0x001ECA24 File Offset: 0x001EAC24
[Token(Token = "0x170017EF")]
public static Func<HTTPRequest, X509Certificate, X509Chain, bool> DefaultCertificationValidator
{
[Token(Token = "0x6009719")]
[Address(RVA = "0x2A77B10", Offset = "0x2A76B10", VA = "0x182A77B10")]
get;
[Token(Token = "0x600971A")]
[Address(RVA = "0x2A784C0", Offset = "0x2A774C0", VA = "0x182A784C0")]
set;
}
// Token: 0x170017F0 RID: 6128
// (get) Token: 0x0600971B RID: 38683 RVA: 0x001ECA38 File Offset: 0x001EAC38
// (set) Token: 0x0600971C RID: 38684 RVA: 0x001ECA4C File Offset: 0x001EAC4C
[Token(Token = "0x170017F0")]
public static Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x600971B")]
[Address(RVA = "0x2A781C0", Offset = "0x2A771C0", VA = "0x182A781C0")]
get;
[Token(Token = "0x600971C")]
[Address(RVA = "0x2A78910", Offset = "0x2A77910", VA = "0x182A78910")]
set;
}
// Token: 0x170017F1 RID: 6129
// (get) Token: 0x0600971D RID: 38685 RVA: 0x001ECA60 File Offset: 0x001EAC60
// (set) Token: 0x0600971E RID: 38686 RVA: 0x001ECA74 File Offset: 0x001EAC74
[Token(Token = "0x170017F1")]
internal static int MaxPathLength
{
[Token(Token = "0x600971D")]
[Address(RVA = "0x2A78160", Offset = "0x2A77160", VA = "0x182A78160")]
get;
[Token(Token = "0x600971E")]
[Address(RVA = "0x2A788B0", Offset = "0x2A778B0", VA = "0x182A788B0")]
set;
}
// Token: 0x170017F2 RID: 6130
// (get) Token: 0x0600971F RID: 38687 RVA: 0x001ECA88 File Offset: 0x001EAC88
// (set) Token: 0x06009720 RID: 38688 RVA: 0x001ECA9C File Offset: 0x001EAC9C
[Token(Token = "0x170017F2")]
internal static bool IsQuitting
{
[Token(Token = "0x600971F")]
[Address(RVA = "0x2A77E60", Offset = "0x2A76E60", VA = "0x182A77E60")]
get;
[Token(Token = "0x6009720")]
[Address(RVA = "0x2A786A0", Offset = "0x2A776A0", VA = "0x182A786A0")]
private set;
}
// Token: 0x06009721 RID: 38689 RVA: 0x001ECAB0 File Offset: 0x001EACB0
[Token(Token = "0x6009721")]
[Address(RVA = "0x2A754F0", Offset = "0x2A744F0", VA = "0x182A754F0")]
[CBEAKPMNJOL(LGFJHLDANJN.Unity_AfterSceneLoad)]
private static void InitializeOnLoad()
{
}
// Token: 0x06009722 RID: 38690 RVA: 0x001ECAC0 File Offset: 0x001EACC0
[Token(Token = "0x6009722")]
[Address(RVA = "0x2A773A0", Offset = "0x2A763A0", VA = "0x182A773A0")]
public static void Setup()
{
HTTPUpdateDelegator.CheckInstance();
HTTPCacheService.CheckSetup();
CookieJar.SetupFolder();
}
// Token: 0x06009723 RID: 38691 RVA: 0x001ECAE4 File Offset: 0x001EACE4
[Token(Token = "0x6009723")]
[Address(RVA = "0x2A76F10", Offset = "0x2A75F10", VA = "0x182A76F10")]
public static HTTPRequest SendRequest(string url, OnRequestFinishedDelegate callback)
{
int num;
HTTPRequest httprequest = new HTTPRequest(new Uri(url), (HTTPMethods)num, callback);
num = 0;
return HTTPManager.SendRequest(httprequest);
}
// Token: 0x06009724 RID: 38692 RVA: 0x001ECB08 File Offset: 0x001EAD08
[Token(Token = "0x6009724")]
[Address(RVA = "0x2A76FC0", Offset = "0x2A75FC0", VA = "0x182A76FC0")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, callback));
}
// Token: 0x06009725 RID: 38693 RVA: 0x001ECB28 File Offset: 0x001EAD28
[Token(Token = "0x6009725")]
[Address(RVA = "0x2A76D80", Offset = "0x2A75D80", VA = "0x182A76D80")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
bool flag;
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, isKeepAlive, flag, callback));
}
// Token: 0x06009726 RID: 38694 RVA: 0x001ECB50 File Offset: 0x001EAD50
[Token(Token = "0x6009726")]
[Address(RVA = "0x2A77080", Offset = "0x2A76080", VA = "0x182A77080")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
Uri uri = new Uri(url);
HTTPRequest httprequest;
return HTTPManager.SendRequest(httprequest);
}
// Token: 0x06009727 RID: 38695 RVA: 0x001ECB6C File Offset: 0x001EAD6C
[Token(Token = "0x6009727")]
[Address(RVA = "0x2A77160", Offset = "0x2A76160", VA = "0x182A77160")]
public static HTTPRequest SendRequest(HTTPRequest request)
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
HTTPUpdateDelegator.CheckInstance();
HTTPCacheService.CheckSetup();
CookieJar.SetupFolder();
HTTPManager.SendRequestImpl(request);
request.<State>k__BackingField = (HTTPRequestStates)((ulong)1L);
HTTPManager.RequestQueue.Add(request);
Monitor.Exit(locker);
}
while (num != 0);
return request;
}
// Token: 0x06009728 RID: 38696 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009728")]
[Address(RVA = "0x2A74DC0", Offset = "0x2A73DC0", VA = "0x182A74DC0")]
public static GeneralStatistics GetGeneralStatistics(StatisticsQueryFlags queryFlags)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009729 RID: 38697 RVA: 0x001ECBC8 File Offset: 0x001EADC8
[Token(Token = "0x6009729")]
[Address(RVA = "0x2A76A30", Offset = "0x2A75A30", VA = "0x182A76A30")]
private static void SendRequestImpl(HTTPRequest request)
{
int num;
ConnectionBase conn3;
do
{
ConnectionBase connectionBase = HTTPManager.FindOrCreateFreeConnection(request);
ConnectionBase conn = connectionBase;
num = 0;
if (request != 0)
{
goto IL_CA;
}
if (num != -1)
{
}
if (conn == (ulong)0L)
{
goto IL_A9;
}
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
Predicate<ConnectionBase> predicate = (ConnectionBase c) => c == conn;
if (activeConnections.Find(predicate) == 0)
{
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
ConnectionBase conn4 = conn;
activeConnections2.Add(conn4);
}
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
ConnectionBase conn2 = conn;
bool flag = freeConnections.Remove(conn2);
request.<State>k__BackingField = (HTTPRequestStates)((ulong)2L);
conn3 = conn;
conn3.Process(request);
num++;
}
while (conn3 != 0);
if (num != -1)
{
}
IL_A9:
request.<State>k__BackingField = (HTTPRequestStates)((ulong)1L);
HTTPManager.RequestQueue.Add(request);
return;
IL_CA:
throw new NullReferenceException();
}
// Token: 0x0600972A RID: 38698 RVA: 0x001ECCBC File Offset: 0x001EAEBC
[Token(Token = "0x600972A")]
[Address(RVA = "0x2A750E0", Offset = "0x2A740E0", VA = "0x182A750E0")]
private static string GetKeyForRequest(HTTPRequest request)
{
if (request.<IsRedirected>k__BackingField)
{
}
UriBuilder uriBuilder;
if (!request.<Uri>k__BackingField.IsFile)
{
Proxy proxy = request.<Proxy>k__BackingField;
int num;
if (proxy != 0)
{
string scheme = proxy.<Address>k__BackingField.Scheme;
string host = request.<Proxy>k__BackingField.<Address>k__BackingField.Host;
num = request.<Proxy>k__BackingField.<Address>k__BackingField.Port;
int hashCode = new UriBuilder(scheme, host, num).Uri.GetHashCode();
}
string empty = string.Empty;
if (request.<IsRedirected>k__BackingField)
{
}
string scheme2 = request.<Uri>k__BackingField.Scheme;
if (request.<IsRedirected>k__BackingField)
{
}
string host2 = request.<Uri>k__BackingField.Host;
if (request.<IsRedirected>k__BackingField)
{
}
num = request.<Uri>k__BackingField.Port;
uriBuilder = new UriBuilder(scheme2, host2, num);
int hashCode2 = uriBuilder.Uri.GetHashCode();
string text;
return text;
}
int hashCode3 = uriBuilder._changed.GetHashCode();
throw new NullReferenceException();
}
// Token: 0x0600972B RID: 38699 RVA: 0x001ECDA8 File Offset: 0x001EAFA8
[Token(Token = "0x600972B")]
[Address(RVA = "0x2A74640", Offset = "0x2A73640", VA = "0x182A74640")]
private static ConnectionBase CreateConnection(HTTPRequest request, string serverUrl)
{
if (request.<IsRedirected>k__BackingField)
{
}
if (request.<Uri>k__BackingField.IsFile && Application.platform != RuntimePlatform.WebGLPlayer)
{
FileConnection fileConnection = new FileConnection(serverUrl);
}
throw new NullReferenceException();
}
// Token: 0x0600972C RID: 38700 RVA: 0x001ECDE4 File Offset: 0x001EAFE4
[Token(Token = "0x600972C")]
[Address(RVA = "0x2A746E0", Offset = "0x2A736E0", VA = "0x182A746E0")]
private static ConnectionBase FindOrCreateFreeConnection(HTTPRequest request)
{
int num = 0;
string keyForRequest = HTTPManager.GetKeyForRequest(request);
bool flag = HTTPManager.Connections.TryGetValue(keyForRequest, num);
if (!flag)
{
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
List<ConnectionBase> list = new List((int)HTTPManager.maxConnectionPerServer);
throw new NullReferenceException();
}
uint num2;
if (num < (flag ? 1 : 0))
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag2;
if (flag2)
{
num++;
}
num++;
num2 += (uint)8;
}
byte b = HTTPManager.maxConnectionPerServer;
if (num == 0)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag3;
bool flag4;
if (num != 0 && flag3 && flag4)
{
int num3 = 0;
if (!(num == num3))
{
if (request.<IsRedirected>k__BackingField)
{
}
string host = request.<Uri>k__BackingField.Host;
string text;
if (text.Equals(host, StringComparison.OrdinalIgnoreCase))
{
}
}
}
num++;
num2 += (uint)8;
while (num != 0)
{
}
if (num == 0)
{
byte b2 = HTTPManager.maxConnectionPerServer;
if (num < (int)b2)
{
if (request.<IsRedirected>k__BackingField)
{
}
if (!request.<Uri>k__BackingField.IsFile || Application.platform == RuntimePlatform.WebGLPlayer)
{
}
HTTPConnection httpconnection = new HTTPConnection(keyForRequest);
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600972D RID: 38701 RVA: 0x001ECEE8 File Offset: 0x001EB0E8
[Token(Token = "0x600972D")]
[Address(RVA = "0x2A74560", Offset = "0x2A73560", VA = "0x182A74560")]
private static bool CanProcessFromQueue()
{
int num = 0;
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
ConnectionBase connectionBase;
if (connectionBase == 0)
{
num++;
}
return true;
}
// Token: 0x0600972E RID: 38702 RVA: 0x001ECF18 File Offset: 0x001EB118
[Token(Token = "0x600972E")]
[Address(RVA = "0x2A76940", Offset = "0x2A75940", VA = "0x182A76940")]
private static void RecycleConnection(ConnectionBase conn)
{
HTTPConnectionRecycledDelegate httpconnectionRecycledDelegate;
httpconnectionRecycledDelegate.method_ptr = ldftn(OnConnectionRecylced);
httpconnectionRecycledDelegate.method = ldftn(OnConnectionRecylced);
httpconnectionRecycledDelegate.m_target = (ulong)0L;
conn.Recycle(httpconnectionRecycledDelegate);
}
// Token: 0x0600972F RID: 38703 RVA: 0x001ECF54 File Offset: 0x001EB154
[Token(Token = "0x600972F")]
[Address(RVA = "0x2A75590", Offset = "0x2A74590", VA = "0x182A75590")]
private static void OnConnectionRecylced(ConnectionBase conn)
{
int num;
do
{
num = 0;
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
HTTPManager.RecycledConnections.Add(conn);
Monitor.Exit(recycledConnections);
}
while (num != 0);
}
// Token: 0x06009730 RID: 38704 RVA: 0x001ECF84 File Offset: 0x001EB184
[Token(Token = "0x6009730")]
[Address(RVA = "0x2A74C00", Offset = "0x2A73C00", VA = "0x182A74C00")]
internal static ConnectionBase GetConnectionWith(HTTPRequest request)
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
num++;
Monitor.Exit(locker);
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x06009731 RID: 38705 RVA: 0x001ECFC4 File Offset: 0x001EB1C4
[Token(Token = "0x6009731")]
[Address(RVA = "0x2A769B0", Offset = "0x2A759B0", VA = "0x182A769B0")]
internal static bool RemoveFromQueue(HTTPRequest request)
{
return HTTPManager.RequestQueue.Remove(request);
}
// Token: 0x06009732 RID: 38706 RVA: 0x001ECFE4 File Offset: 0x001EB1E4
[Token(Token = "0x6009732")]
[Address(RVA = "0x2A75340", Offset = "0x2A74340", VA = "0x182A75340")]
internal static string GetRootCacheFolder()
{
return HTTPManager.<RootCacheFolderProvider>k__BackingField();
}
// Token: 0x06009733 RID: 38707 RVA: 0x001ED018 File Offset: 0x001EB218
[Token(Token = "0x6009733")]
[Address(RVA = "0x2A75860", Offset = "0x2A74860", VA = "0x182A75860")]
public static void OnUpdate()
{
object locker;
do
{
int num = 0;
if (!Monitor.TryEnter(HTTPManager.Locker))
{
break;
}
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
bool flag = HTTPManager.<EnablePrivateBrowsing>k__BackingField;
if (flag <= true)
{
TimeSpan timeSpan = HTTPManager.<ConnectTimeout>k__BackingField;
bool flag2;
if (flag2)
{
}
TimeSpan timeSpan2 = HTTPManager.<ConnectTimeout>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
TimeSpan timeSpan3 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan4;
if (timeSpan4 > timeSpan3)
{
byte b = HTTPManager.maxConnectionPerServer;
}
num++;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
num++;
TimeSpan timeSpan5 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
num++;
TimeSpan timeSpan6 = HTTPManager.<ConnectTimeout>k__BackingField;
if (flag)
{
while (!flag)
{
}
}
TimeSpan timeSpan7 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan8 = HTTPManager.<ConnectTimeout>k__BackingField;
while (timeSpan7 == 0)
{
}
while (timeSpan7 == 0)
{
}
DateTime utcNow2 = DateTime.UtcNow;
TimeSpan timeSpan9;
TimeSpan timeSpan10;
if (timeSpan9 > timeSpan10)
{
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
TimeSpan timeSpan11 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan12 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
int num2 = 0;
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
TimeSpan timeSpan13 = HTTPManager.<ConnectTimeout>k__BackingField;
if (num2 != 0)
{
}
int num3 = 0;
if (typeof(HTTPManager).TypeHandle != 0)
{
goto IL_2F7;
}
if (num != -1)
{
}
int num4;
if (Monitor.TryEnter(HTTPManager.RecycledConnections))
{
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections2 = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections3 = HTTPManager.RecycledConnections;
bool flag3;
if (flag3)
{
List<ConnectionBase> activeConnections3 = HTTPManager.ActiveConnections;
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
}
num3++;
HTTPManager.RecycledConnections.Clear();
num++;
num4 = 0;
List<ConnectionBase> recycledConnections4 = HTTPManager.RecycledConnections;
Monitor.Exit(recycledConnections4);
if (recycledConnections4 != 0)
{
goto IL_321;
}
if (num != -1)
{
}
}
List<ConnectionBase> freeConnections2 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections3 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections4 = HTTPManager.FreeConnections;
byte b2 = HTTPManager.maxConnectionPerServer;
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
bool flag4;
if (flag4)
{
}
HTTPManager.FreeConnections.RemoveAt(num4);
num4++;
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
ConnectionBase connectionBase;
if (connectionBase == 0)
{
num4++;
}
List<HTTPRequest> requestQueue3 = HTTPManager.RequestQueue;
Predicate<HTTPRequest> predicate;
if (HTTPManager.<>c.<>9__109_0 == 0)
{
predicate = delegate(HTTPRequest req)
{
throw new NullReferenceException();
};
HTTPManager.<>c.<>9__109_0 = predicate;
}
if (requestQueue3.Find(predicate) != 0)
{
List<HTTPRequest> requestQueue4 = HTTPManager.RequestQueue;
Comparison<HTTPRequest> comparison;
if (HTTPManager.<>c.<>9__109_1 == 0)
{
comparison = (HTTPRequest req1, HTTPRequest req2) => req1.<Priority>k__BackingField;
HTTPManager.<>c.<>9__109_1 = comparison;
}
requestQueue4.Sort(comparison);
}
HTTPRequest[] array = HTTPManager.RequestQueue.ToArray();
HTTPManager.RequestQueue.Clear();
if (num4 < array.Length)
{
HTTPRequest httprequest = HTTPManager.SendRequest(array[num4]);
num4++;
}
locker = HTTPManager.Locker;
Monitor.Exit(locker);
}
while (locker != 0);
HTTPManager.heartbeats.Update();
VariableSizedBufferPool.Maintain();
return;
IL_2F7:
throw new NullReferenceException();
IL_321:
throw new NullReferenceException();
}
// Token: 0x06009734 RID: 38708 RVA: 0x001ED3A0 File Offset: 0x001EB5A0
[Token(Token = "0x6009734")]
[Address(RVA = "0x2A756C0", Offset = "0x2A746C0", VA = "0x182A756C0")]
public static void OnQuit()
{
int num;
do
{
num = 0;
object locker = HTTPManager.Locker;
HTTPCacheService.SaveLibrary();
CookieJar.Persist();
HTTPManager.AbortAll(true);
HTTPManager.OnUpdate();
Monitor.Exit(locker);
}
while (num != 0);
}
// Token: 0x06009735 RID: 38709 RVA: 0x001ED3DC File Offset: 0x001EB5DC
[Token(Token = "0x6009735")]
[Address(RVA = "0x2A740A0", Offset = "0x2A730A0", VA = "0x182A740A0")]
public static void AbortAll(bool allowCallbacks = false)
{
do
{
int num = 0;
object locker = HTTPManager.Locker;
HTTPRequest[] array = HTTPManager.RequestQueue.ToArray();
HTTPManager.RequestQueue.Clear();
if (num < array.Length)
{
HTTPRequest httprequest = array[num];
httprequest.<Callback>k__BackingField = num;
httprequest.Abort();
num++;
num++;
}
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
bool flag;
if (flag)
{
bool flag2;
if (!flag2 || flag2)
{
}
if ((uint)(-1) != 0U)
{
goto IL_A2;
}
if ((ulong)((uint)(-1)) != (ulong)(-1L))
{
}
}
if ((uint)(-1) != 0U)
{
goto IL_AE;
}
if ((ulong)((uint)(-1)) != (ulong)(-1L))
{
}
HTTPManager.Connections.Clear();
}
while ((uint)(-1) != 0U);
return;
IL_A2:
throw new NullReferenceException();
IL_AE:
throw new NullReferenceException();
}
// Token: 0x04006648 RID: 26184
[Token(Token = "0x4006648")]
private static byte maxConnectionPerServer;
// Token: 0x04006653 RID: 26195
[Token(Token = "0x4006653")]
private static HeartbeatManager heartbeats;
// Token: 0x04006654 RID: 26196
[Token(Token = "0x4006654")]
private static BestHTTP.Logger.ILogger logger;
// Token: 0x0400665A RID: 26202
[Token(Token = "0x400665A")]
public static bool TryToMinimizeTCPLatency;
// Token: 0x0400665B RID: 26203
[Token(Token = "0x400665B")]
public static int SendBufferSize;
// Token: 0x0400665C RID: 26204
[Token(Token = "0x400665C")]
public static int ReceiveBufferSize;
// Token: 0x0400665D RID: 26205
[Token(Token = "0x400665D")]
public static IIOService IOService;
// Token: 0x0400665F RID: 26207
[Token(Token = "0x400665F")]
private static Dictionary<string, List<ConnectionBase>> Connections = new Dictionary();
// Token: 0x04006660 RID: 26208
[Token(Token = "0x4006660")]
private static List<ConnectionBase> ActiveConnections = new List();
// Token: 0x04006661 RID: 26209
[Token(Token = "0x4006661")]
private static List<ConnectionBase> FreeConnections = new List();
// Token: 0x04006662 RID: 26210
[Token(Token = "0x4006662")]
private static List<ConnectionBase> RecycledConnections = new List();
// Token: 0x04006663 RID: 26211
[Token(Token = "0x4006663")]
private static List<HTTPRequest> RequestQueue = new List();
// Token: 0x04006664 RID: 26212
[Token(Token = "0x4006664")]
private static bool IsCallingCallbacks;
// Token: 0x04006665 RID: 26213
[Token(Token = "0x4006665")]
internal static object Locker = new object();
}
}
+35
View File
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001975 RID: 6517
[Token(Token = "0x2001975")]
public enum HTTPMethods : byte
{
// Token: 0x0400666C RID: 26220
[Token(Token = "0x400666C")]
Get,
// Token: 0x0400666D RID: 26221
[Token(Token = "0x400666D")]
Head,
// Token: 0x0400666E RID: 26222
[Token(Token = "0x400666E")]
Post,
// Token: 0x0400666F RID: 26223
[Token(Token = "0x400666F")]
Put,
// Token: 0x04006670 RID: 26224
[Token(Token = "0x4006670")]
Delete,
// Token: 0x04006671 RID: 26225
[Token(Token = "0x4006671")]
Patch,
// Token: 0x04006672 RID: 26226
[Token(Token = "0x4006672")]
Merge,
// Token: 0x04006673 RID: 26227
[Token(Token = "0x4006673")]
Options
}
}
@@ -0,0 +1,96 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001977 RID: 6519
[Token(Token = "0x2001977")]
public static class HTTPProtocolFactory
{
// Token: 0x0600973C RID: 38716 RVA: 0x001ED53C File Offset: 0x001EB73C
[Token(Token = "0x600973C")]
[Address(RVA = "0x2A79180", Offset = "0x2A78180", VA = "0x182A79180")]
public static HTTPResponse Get(SupportedProtocols protocol, HTTPRequest request, Stream stream, bool isStreamed, bool isFromCache)
{
/*
An exception occurred when decompiling this method (0600973C)
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 1663
*/;
}
// Token: 0x0600973D RID: 38717 RVA: 0x001ED55C File Offset: 0x001EB75C
[Token(Token = "0x600973D")]
[Address(RVA = "0x2A79070", Offset = "0x2A78070", VA = "0x182A79070")]
public static SupportedProtocols GetProtocolFromUri(Uri uri)
{
/*
An exception occurred when decompiling this method (0600973D)
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 1663
*/;
}
// Token: 0x0600973E RID: 38718 RVA: 0x001ED5B4 File Offset: 0x001EB7B4
[Token(Token = "0x600973E")]
[Address(RVA = "0x2A792E0", Offset = "0x2A782E0", VA = "0x182A792E0")]
public static bool IsSecureProtocol(Uri uri)
{
/*
An exception occurred when decompiling this method (0600973E)
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 1663
*/;
}
}
}
+322
View File
@@ -0,0 +1,322 @@
using System;
using System.IO;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001979 RID: 6521
[Token(Token = "0x2001979")]
public sealed class HTTPProxy : Proxy
{
// Token: 0x170017F5 RID: 6133
// (get) Token: 0x06009746 RID: 38726 RVA: 0x001ED684 File Offset: 0x001EB884
// (set) Token: 0x06009747 RID: 38727 RVA: 0x001ED698 File Offset: 0x001EB898
[Token(Token = "0x170017F5")]
public bool IsTransparent
{
[Token(Token = "0x6009746")]
[Address(RVA = "0x4700C0", Offset = "0x46F0C0", VA = "0x1804700C0")]
get;
[Token(Token = "0x6009747")]
[Address(RVA = "0x65E580", Offset = "0x65D580", VA = "0x18065E580")]
set;
}
// Token: 0x170017F6 RID: 6134
// (get) Token: 0x06009748 RID: 38728 RVA: 0x001ED6AC File Offset: 0x001EB8AC
// (set) Token: 0x06009749 RID: 38729 RVA: 0x001ED6C0 File Offset: 0x001EB8C0
[Token(Token = "0x170017F6")]
public bool SendWholeUri
{
[Token(Token = "0x6009748")]
[Address(RVA = "0x4700D0", Offset = "0x46F0D0", VA = "0x1804700D0")]
get;
[Token(Token = "0x6009749")]
[Address(RVA = "0xABE6B0", Offset = "0xABD6B0", VA = "0x180ABE6B0")]
set;
}
// Token: 0x170017F7 RID: 6135
// (get) Token: 0x0600974A RID: 38730 RVA: 0x001ED6D4 File Offset: 0x001EB8D4
// (set) Token: 0x0600974B RID: 38731 RVA: 0x001ED6E8 File Offset: 0x001EB8E8
[Token(Token = "0x170017F7")]
public bool NonTransparentForHTTPS
{
[Token(Token = "0x600974A")]
[Address(RVA = "0x4700E0", Offset = "0x46F0E0", VA = "0x1804700E0")]
get;
[Token(Token = "0x600974B")]
[Address(RVA = "0x1A1B9C0", Offset = "0x1A1A9C0", VA = "0x181A1B9C0")]
set;
}
// Token: 0x0600974C RID: 38732 RVA: 0x001ED6FC File Offset: 0x001EB8FC
[Token(Token = "0x600974C")]
[Address(RVA = "0x2A7A620", Offset = "0x2A79620", VA = "0x182A7A620")]
public HTTPProxy(Uri address)
{
int num = 0;
base..ctor(address, num);
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x0600974D RID: 38733 RVA: 0x001ED724 File Offset: 0x001EB924
[Token(Token = "0x600974D")]
[Address(RVA = "0x2A7A690", Offset = "0x2A79690", VA = "0x182A7A690")]
public HTTPProxy(Uri address, Credentials credentials)
: base(address, credentials)
{
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x0600974E RID: 38734 RVA: 0x001ED748 File Offset: 0x001EB948
[Token(Token = "0x600974E")]
[Address(RVA = "0x2A7A700", Offset = "0x2A79700", VA = "0x182A7A700")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = true;
}
// Token: 0x0600974F RID: 38735 RVA: 0x001ED76C File Offset: 0x001EB96C
[Token(Token = "0x600974F")]
[Address(RVA = "0x2A7A6C0", Offset = "0x2A796C0", VA = "0x182A7A6C0")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x06009750 RID: 38736 RVA: 0x001ED798 File Offset: 0x001EB998
[Token(Token = "0x6009750")]
[Address(RVA = "0x2A7A650", Offset = "0x2A79650", VA = "0x182A7A650")]
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: 0x06009751 RID: 38737 RVA: 0x001ED7C4 File Offset: 0x001EB9C4
[Token(Token = "0x6009751")]
[Address(RVA = "0x2A7A550", Offset = "0x2A79550", VA = "0x182A7A550", 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: 0x06009752 RID: 38738 RVA: 0x001ED7F8 File Offset: 0x001EB9F8
[Token(Token = "0x6009752")]
[Address(RVA = "0x2A793E0", Offset = "0x2A783E0", VA = "0x182A793E0", 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;
if (<ProxyResponse>k__BackingField.<StatusCode>k__BackingField != 407)
{
int num3 = 0;
if (!<ProxyResponse>k__BackingField.IsSuccess)
{
goto IL_433;
}
num3 += num3;
}
string text9 = DigestStore.FindBest(<ProxyResponse>k__BackingField.GetHeaderValues("proxy-authenticate"));
if (text9 != 0)
{
goto IL_4CB;
}
Digest digest;
digest.ParseChallange(text9);
bool flag2;
if (!flag2)
{
goto IL_4CB;
}
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 num4;
if ((ulong)num < num4)
{
num += num;
num++;
}
int num5 = 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 num6 = 0;
Encoding utf2 = Encoding.UTF8;
string text10 = num6 + ":" + num5;
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_433:
throw new NullReferenceException();
IL_4CB:
throw new NullReferenceException();
}
}
}
+129
View File
@@ -0,0 +1,129 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200197A RID: 6522
[Token(Token = "0x200197A")]
public sealed class HTTPRange
{
// Token: 0x170017F8 RID: 6136
// (get) Token: 0x06009753 RID: 38739 RVA: 0x001EDDBC File Offset: 0x001EBFBC
// (set) Token: 0x06009754 RID: 38740 RVA: 0x001EDDD0 File Offset: 0x001EBFD0
[Token(Token = "0x170017F8")]
public int FirstBytePos
{
[Token(Token = "0x6009753")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
get;
[Token(Token = "0x6009754")]
[Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")]
private set;
}
// Token: 0x170017F9 RID: 6137
// (get) Token: 0x06009755 RID: 38741 RVA: 0x001EDDE4 File Offset: 0x001EBFE4
// (set) Token: 0x06009756 RID: 38742 RVA: 0x001EDDF8 File Offset: 0x001EBFF8
[Token(Token = "0x170017F9")]
public int LastBytePos
{
[Token(Token = "0x6009755")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get;
[Token(Token = "0x6009756")]
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
private set;
}
// Token: 0x170017FA RID: 6138
// (get) Token: 0x06009757 RID: 38743 RVA: 0x001EDE0C File Offset: 0x001EC00C
// (set) Token: 0x06009758 RID: 38744 RVA: 0x001EDE20 File Offset: 0x001EC020
[Token(Token = "0x170017FA")]
public int ContentLength
{
[Token(Token = "0x6009757")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x6009758")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
private set;
}
// Token: 0x170017FB RID: 6139
// (get) Token: 0x06009759 RID: 38745 RVA: 0x001EDE34 File Offset: 0x001EC034
// (set) Token: 0x0600975A RID: 38746 RVA: 0x001EDE48 File Offset: 0x001EC048
[Token(Token = "0x170017FB")]
public bool IsValid
{
[Token(Token = "0x6009759")]
[Address(RVA = "0x891DD0", Offset = "0x890DD0", VA = "0x180891DD0")]
get;
[Token(Token = "0x600975A")]
[Address(RVA = "0x5F1930", Offset = "0x5F0930", VA = "0x1805F1930")]
private set;
}
// Token: 0x0600975B RID: 38747 RVA: 0x001EDE5C File Offset: 0x001EC05C
[Token(Token = "0x600975B")]
[Address(RVA = "0x2A7A9C0", Offset = "0x2A799C0", VA = "0x182A7A9C0")]
internal HTTPRange()
{
this.ContentLength = (int)((ulong)4294967295L);
this.IsValid = false;
}
// Token: 0x0600975C RID: 38748 RVA: 0x001EDE88 File Offset: 0x001EC088
[Token(Token = "0x600975C")]
[Address(RVA = "0x2A7A930", Offset = "0x2A79930", VA = "0x182A7A930")]
internal HTTPRange(int contentLength)
{
this.ContentLength = contentLength;
this.IsValid = false;
}
// Token: 0x0600975D RID: 38749 RVA: 0x001EDEAC File Offset: 0x001EC0AC
[Token(Token = "0x600975D")]
[Address(RVA = "0x2A7A960", Offset = "0x2A79960", VA = "0x182A7A960")]
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: 0x0600975E RID: 38750 RVA: 0x001EDEE4 File Offset: 0x001EC0E4
[Token(Token = "0x600975E")]
[Address(RVA = "0x2A7A730", Offset = "0x2A79730", VA = "0x182A7A730", 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);
}
}
}
+1929
View File
@@ -0,0 +1,1929 @@
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: 0x02001982 RID: 6530
[Token(Token = "0x2001982")]
public sealed class HTTPRequest : IEnumerator, IEnumerator<HTTPRequest>, IDisposable
{
// Token: 0x170017FC RID: 6140
// (get) Token: 0x06009777 RID: 38775 RVA: 0x001EE4DC File Offset: 0x001EC6DC
// (set) Token: 0x06009778 RID: 38776 RVA: 0x001EE4F0 File Offset: 0x001EC6F0
[Token(Token = "0x170017FC")]
public Uri Uri
{
[Token(Token = "0x6009777")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x6009778")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x170017FD RID: 6141
// (get) Token: 0x06009779 RID: 38777 RVA: 0x001EE504 File Offset: 0x001EC704
// (set) Token: 0x0600977A RID: 38778 RVA: 0x001EE518 File Offset: 0x001EC718
[Token(Token = "0x170017FD")]
public HTTPMethods MethodType
{
[Token(Token = "0x6009779")]
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570")]
get;
[Token(Token = "0x600977A")]
[Address(RVA = "0x611070", Offset = "0x610070", VA = "0x180611070")]
set;
}
// Token: 0x170017FE RID: 6142
// (get) Token: 0x0600977B RID: 38779 RVA: 0x001EE52C File Offset: 0x001EC72C
// (set) Token: 0x0600977C RID: 38780 RVA: 0x001EE540 File Offset: 0x001EC740
[Token(Token = "0x170017FE")]
public byte[] RawData
{
[Token(Token = "0x600977B")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600977C")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set;
}
// Token: 0x170017FF RID: 6143
// (get) Token: 0x0600977D RID: 38781 RVA: 0x001EE554 File Offset: 0x001EC754
// (set) Token: 0x0600977E RID: 38782 RVA: 0x001EE568 File Offset: 0x001EC768
[Token(Token = "0x170017FF")]
public Stream UploadStream
{
[Token(Token = "0x600977D")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x600977E")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
set;
}
// Token: 0x17001800 RID: 6144
// (get) Token: 0x0600977F RID: 38783 RVA: 0x001EE57C File Offset: 0x001EC77C
// (set) Token: 0x06009780 RID: 38784 RVA: 0x001EE590 File Offset: 0x001EC790
[Token(Token = "0x17001800")]
public bool DisposeUploadStream
{
[Token(Token = "0x600977F")]
[Address(RVA = "0x5AB2E0", Offset = "0x5AA2E0", VA = "0x1805AB2E0")]
get;
[Token(Token = "0x6009780")]
[Address(RVA = "0x5AB400", Offset = "0x5AA400", VA = "0x1805AB400")]
set;
}
// Token: 0x17001801 RID: 6145
// (get) Token: 0x06009781 RID: 38785 RVA: 0x001EE5A4 File Offset: 0x001EC7A4
// (set) Token: 0x06009782 RID: 38786 RVA: 0x001EE5B8 File Offset: 0x001EC7B8
[Token(Token = "0x17001801")]
public bool UseUploadStreamLength
{
[Token(Token = "0x6009781")]
[Address(RVA = "0x8920D0", Offset = "0x8910D0", VA = "0x1808920D0")]
get;
[Token(Token = "0x6009782")]
[Address(RVA = "0xCA2F10", Offset = "0xCA1F10", VA = "0x180CA2F10")]
set;
}
// Token: 0x17001802 RID: 6146
// (get) Token: 0x06009783 RID: 38787 RVA: 0x001EE5CC File Offset: 0x001EC7CC
// (set) Token: 0x06009784 RID: 38788 RVA: 0x001EE5E0 File Offset: 0x001EC7E0
[Token(Token = "0x17001802")]
public bool IsKeepAlive
{
[Token(Token = "0x6009783")]
[Address(RVA = "0x2A7EEB0", Offset = "0x2A7DEB0", VA = "0x182A7EEB0")]
get
{
return this.isKeepAlive;
}
[Token(Token = "0x6009784")]
[Address(RVA = "0x2A7F2C0", Offset = "0x2A7E2C0", VA = "0x182A7F2C0")]
set
{
/*
An exception occurred when decompiling this method (06009784)
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 1663
*/;
}
}
// Token: 0x17001803 RID: 6147
// (get) Token: 0x06009785 RID: 38789 RVA: 0x001EE608 File Offset: 0x001EC808
// (set) Token: 0x06009786 RID: 38790 RVA: 0x001EE61C File Offset: 0x001EC81C
[Token(Token = "0x17001803")]
public bool DisableCache
{
[Token(Token = "0x6009785")]
[Address(RVA = "0x15F8E90", Offset = "0x15F7E90", VA = "0x1815F8E90")]
get
{
return this.disableCache;
}
[Token(Token = "0x6009786")]
[Address(RVA = "0x2A7F220", Offset = "0x2A7E220", VA = "0x182A7F220")]
set
{
/*
An exception occurred when decompiling this method (06009786)
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 1663
*/;
}
}
// Token: 0x17001804 RID: 6148
// (get) Token: 0x06009787 RID: 38791 RVA: 0x001EE644 File Offset: 0x001EC844
// (set) Token: 0x06009788 RID: 38792 RVA: 0x001EE658 File Offset: 0x001EC858
[Token(Token = "0x17001804")]
public bool CacheOnly
{
[Token(Token = "0x6009787")]
[Address(RVA = "0x2A7EE00", Offset = "0x2A7DE00", VA = "0x182A7EE00")]
get
{
return this.cacheOnly;
}
[Token(Token = "0x6009788")]
[Address(RVA = "0x2A7F1A0", Offset = "0x2A7E1A0", VA = "0x182A7F1A0")]
set
{
/*
An exception occurred when decompiling this method (06009788)
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 1663
*/;
}
}
// Token: 0x17001805 RID: 6149
// (get) Token: 0x06009789 RID: 38793 RVA: 0x001EE680 File Offset: 0x001EC880
// (set) Token: 0x0600978A RID: 38794 RVA: 0x001EE694 File Offset: 0x001EC894
[Token(Token = "0x17001805")]
public bool UseStreaming
{
[Token(Token = "0x6009789")]
[Address(RVA = "0x44BD60", Offset = "0x44AD60", VA = "0x18044BD60")]
get
{
return this.useStreaming;
}
[Token(Token = "0x600978A")]
[Address(RVA = "0x2A7F3F0", Offset = "0x2A7E3F0", VA = "0x182A7F3F0")]
set
{
/*
An exception occurred when decompiling this method (0600978A)
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 1663
*/;
}
}
// Token: 0x17001806 RID: 6150
// (get) Token: 0x0600978B RID: 38795 RVA: 0x001EE6BC File Offset: 0x001EC8BC
// (set) Token: 0x0600978C RID: 38796 RVA: 0x001EE6D0 File Offset: 0x001EC8D0
[Token(Token = "0x17001806")]
public int StreamFragmentSize
{
[Token(Token = "0x600978B")]
[Address(RVA = "0xFB4100", Offset = "0xFB3100", VA = "0x180FB4100")]
get
{
return this.streamFragmentSize;
}
[Token(Token = "0x600978C")]
[Address(RVA = "0x2A7F340", Offset = "0x2A7E340", VA = "0x182A7F340")]
set
{
/*
An exception occurred when decompiling this method (0600978C)
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 1663
*/;
}
}
// Token: 0x17001807 RID: 6151
// (get) Token: 0x0600978D RID: 38797 RVA: 0x001EE6F8 File Offset: 0x001EC8F8
// (set) Token: 0x0600978E RID: 38798 RVA: 0x001EE70C File Offset: 0x001EC90C
[Token(Token = "0x17001807")]
public int MaxFragmentQueueLength
{
[Token(Token = "0x600978D")]
[Address(RVA = "0x678D20", Offset = "0x677D20", VA = "0x180678D20")]
get;
[Token(Token = "0x600978E")]
[Address(RVA = "0x678D30", Offset = "0x677D30", VA = "0x180678D30")]
set;
}
// Token: 0x17001808 RID: 6152
// (get) Token: 0x0600978F RID: 38799 RVA: 0x001EE720 File Offset: 0x001EC920
// (set) Token: 0x06009790 RID: 38800 RVA: 0x001EE734 File Offset: 0x001EC934
[Token(Token = "0x17001808")]
public OnRequestFinishedDelegate Callback
{
[Token(Token = "0x600978F")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get;
[Token(Token = "0x6009790")]
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0")]
set;
}
// Token: 0x17001809 RID: 6153
// (get) Token: 0x06009791 RID: 38801 RVA: 0x001EE748 File Offset: 0x001EC948
// (set) Token: 0x06009792 RID: 38802 RVA: 0x001EE75C File Offset: 0x001EC95C
[Token(Token = "0x17001809")]
public bool DisableRetry
{
[Token(Token = "0x6009791")]
[Address(RVA = "0x88D380", Offset = "0x88C380", VA = "0x18088D380")]
get;
[Token(Token = "0x6009792")]
[Address(RVA = "0xABCF10", Offset = "0xABBF10", VA = "0x180ABCF10")]
set;
}
// Token: 0x1700180A RID: 6154
// (get) Token: 0x06009793 RID: 38803 RVA: 0x001EE770 File Offset: 0x001EC970
// (set) Token: 0x06009794 RID: 38804 RVA: 0x001EE784 File Offset: 0x001EC984
[Token(Token = "0x1700180A")]
public bool IsRedirected
{
[Token(Token = "0x6009793")]
[Address(RVA = "0xAD8820", Offset = "0xAD7820", VA = "0x180AD8820")]
get;
[Token(Token = "0x6009794")]
[Address(RVA = "0x88DF30", Offset = "0x88CF30", VA = "0x18088DF30")]
internal set;
}
// Token: 0x1700180B RID: 6155
// (get) Token: 0x06009795 RID: 38805 RVA: 0x001EE798 File Offset: 0x001EC998
// (set) Token: 0x06009796 RID: 38806 RVA: 0x001EE7AC File Offset: 0x001EC9AC
[Token(Token = "0x1700180B")]
public Uri RedirectUri
{
[Token(Token = "0x6009795")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x6009796")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
internal set;
}
// Token: 0x1700180C RID: 6156
// (get) Token: 0x06009797 RID: 38807 RVA: 0x001EE7C0 File Offset: 0x001EC9C0
[Token(Token = "0x1700180C")]
public Uri CurrentUri
{
[Token(Token = "0x6009797")]
[Address(RVA = "0x2A7EE80", Offset = "0x2A7DE80", VA = "0x182A7EE80")]
get
{
if (this.<IsRedirected>k__BackingField)
{
return this.<RedirectUri>k__BackingField;
}
return this.<Uri>k__BackingField;
}
}
// Token: 0x1700180D RID: 6157
// (get) Token: 0x06009798 RID: 38808 RVA: 0x001EE7E4 File Offset: 0x001EC9E4
// (set) Token: 0x06009799 RID: 38809 RVA: 0x001EE7F8 File Offset: 0x001EC9F8
[Token(Token = "0x1700180D")]
public HTTPResponse Response
{
[Token(Token = "0x6009798")]
[Address(RVA = "0x493640", Offset = "0x492640", VA = "0x180493640")]
get;
[Token(Token = "0x6009799")]
[Address(RVA = "0x476170", Offset = "0x475170", VA = "0x180476170")]
internal set;
}
// Token: 0x1700180E RID: 6158
// (get) Token: 0x0600979A RID: 38810 RVA: 0x001EE80C File Offset: 0x001ECA0C
// (set) Token: 0x0600979B RID: 38811 RVA: 0x001EE820 File Offset: 0x001ECA20
[Token(Token = "0x1700180E")]
public HTTPResponse ProxyResponse
{
[Token(Token = "0x600979A")]
[Address(RVA = "0x4177C0", Offset = "0x4167C0", VA = "0x1804177C0")]
get;
[Token(Token = "0x600979B")]
[Address(RVA = "0x417AB0", Offset = "0x416AB0", VA = "0x180417AB0")]
internal set;
}
// Token: 0x1700180F RID: 6159
// (get) Token: 0x0600979C RID: 38812 RVA: 0x001EE834 File Offset: 0x001ECA34
// (set) Token: 0x0600979D RID: 38813 RVA: 0x001EE848 File Offset: 0x001ECA48
[Token(Token = "0x1700180F")]
public Exception Exception
{
[Token(Token = "0x600979C")]
[Address(RVA = "0x4177B0", Offset = "0x4167B0", VA = "0x1804177B0")]
get;
[Token(Token = "0x600979D")]
[Address(RVA = "0x417AA0", Offset = "0x416AA0", VA = "0x180417AA0")]
internal set;
}
// Token: 0x17001810 RID: 6160
// (get) Token: 0x0600979E RID: 38814 RVA: 0x001EE85C File Offset: 0x001ECA5C
// (set) Token: 0x0600979F RID: 38815 RVA: 0x001EE870 File Offset: 0x001ECA70
[Token(Token = "0x17001810")]
public object Tag
{
[Token(Token = "0x600979E")]
[Address(RVA = "0x4C31C0", Offset = "0x4C21C0", VA = "0x1804C31C0")]
get;
[Token(Token = "0x600979F")]
[Address(RVA = "0x497020", Offset = "0x496020", VA = "0x180497020")]
set;
}
// Token: 0x17001811 RID: 6161
// (get) Token: 0x060097A0 RID: 38816 RVA: 0x001EE884 File Offset: 0x001ECA84
// (set) Token: 0x060097A1 RID: 38817 RVA: 0x001EE898 File Offset: 0x001ECA98
[Token(Token = "0x17001811")]
public Credentials Credentials
{
[Token(Token = "0x60097A0")]
[Address(RVA = "0x54F060", Offset = "0x54E060", VA = "0x18054F060")]
get;
[Token(Token = "0x60097A1")]
[Address(RVA = "0x7B8A00", Offset = "0x7B7A00", VA = "0x1807B8A00")]
set;
}
// Token: 0x17001812 RID: 6162
// (get) Token: 0x060097A2 RID: 38818 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x17001812")]
public bool HasProxy
{
[Token(Token = "0x60097A2")]
[Address(RVA = "0x2A7EEA0", Offset = "0x2A7DEA0", VA = "0x182A7EEA0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17001813 RID: 6163
// (get) Token: 0x060097A3 RID: 38819 RVA: 0x001EE8AC File Offset: 0x001ECAAC
// (set) Token: 0x060097A4 RID: 38820 RVA: 0x001EE8C0 File Offset: 0x001ECAC0
[Token(Token = "0x17001813")]
public Proxy Proxy
{
[Token(Token = "0x60097A3")]
[Address(RVA = "0x56D550", Offset = "0x56C550", VA = "0x18056D550")]
get;
[Token(Token = "0x60097A4")]
[Address(RVA = "0x56D560", Offset = "0x56C560", VA = "0x18056D560")]
set;
}
// Token: 0x17001814 RID: 6164
// (get) Token: 0x060097A5 RID: 38821 RVA: 0x001EE8D4 File Offset: 0x001ECAD4
// (set) Token: 0x060097A6 RID: 38822 RVA: 0x001EE8E8 File Offset: 0x001ECAE8
[Token(Token = "0x17001814")]
public int MaxRedirects
{
[Token(Token = "0x60097A5")]
[Address(RVA = "0x6A5AE0", Offset = "0x6A4AE0", VA = "0x1806A5AE0")]
get;
[Token(Token = "0x60097A6")]
[Address(RVA = "0x6A5E30", Offset = "0x6A4E30", VA = "0x1806A5E30")]
set;
}
// Token: 0x17001815 RID: 6165
// (get) Token: 0x060097A7 RID: 38823 RVA: 0x001EE8FC File Offset: 0x001ECAFC
// (set) Token: 0x060097A8 RID: 38824 RVA: 0x001EE910 File Offset: 0x001ECB10
[Token(Token = "0x17001815")]
public bool UseAlternateSSL
{
[Token(Token = "0x60097A7")]
[Address(RVA = "0x125C1A0", Offset = "0x125B1A0", VA = "0x18125C1A0")]
get;
[Token(Token = "0x60097A8")]
[Address(RVA = "0x213DBF0", Offset = "0x213CBF0", VA = "0x18213DBF0")]
set;
}
// Token: 0x17001816 RID: 6166
// (get) Token: 0x060097A9 RID: 38825 RVA: 0x001EE924 File Offset: 0x001ECB24
// (set) Token: 0x060097AA RID: 38826 RVA: 0x001EE938 File Offset: 0x001ECB38
[Token(Token = "0x17001816")]
public bool IsCookiesEnabled
{
[Token(Token = "0x60097A9")]
[Address(RVA = "0x125C1C0", Offset = "0x125B1C0", VA = "0x18125C1C0")]
get;
[Token(Token = "0x60097AA")]
[Address(RVA = "0x2A7F2B0", Offset = "0x2A7E2B0", VA = "0x182A7F2B0")]
set;
}
// Token: 0x17001817 RID: 6167
// (get) Token: 0x060097AB RID: 38827 RVA: 0x001EE94C File Offset: 0x001ECB4C
// (set) Token: 0x060097AC RID: 38828 RVA: 0x001EE974 File Offset: 0x001ECB74
[Token(Token = "0x17001817")]
public List<Cookie> Cookies
{
[Token(Token = "0x60097AB")]
[Address(RVA = "0x2A7EE10", Offset = "0x2A7DE10", VA = "0x182A7EE10")]
get
{
List<Cookie> list = this.customCookies;
if (list == 0)
{
List<Cookie> list2 = new List();
this.customCookies = list2;
}
return list;
}
[Token(Token = "0x60097AC")]
[Address(RVA = "0x82CD30", Offset = "0x82BD30", VA = "0x18082CD30")]
set
{
this.customCookies = value;
}
}
// Token: 0x17001818 RID: 6168
// (get) Token: 0x060097AD RID: 38829 RVA: 0x001EE988 File Offset: 0x001ECB88
// (set) Token: 0x060097AE RID: 38830 RVA: 0x001EE99C File Offset: 0x001ECB9C
[Token(Token = "0x17001818")]
public HTTPFormUsage FormUsage
{
[Token(Token = "0x60097AD")]
[Address(RVA = "0x8D2400", Offset = "0x8D1400", VA = "0x1808D2400")]
get;
[Token(Token = "0x60097AE")]
[Address(RVA = "0x8D2420", Offset = "0x8D1420", VA = "0x1808D2420")]
set;
}
// Token: 0x17001819 RID: 6169
// (get) Token: 0x060097AF RID: 38831 RVA: 0x001EE9B0 File Offset: 0x001ECBB0
// (set) Token: 0x060097B0 RID: 38832 RVA: 0x001EE9C4 File Offset: 0x001ECBC4
[Token(Token = "0x17001819")]
public HTTPRequestStates State
{
[Token(Token = "0x60097AF")]
[Address(RVA = "0xDDC9C0", Offset = "0xDDB9C0", VA = "0x180DDC9C0")]
get;
[Token(Token = "0x60097B0")]
[Address(RVA = "0xDDCBB0", Offset = "0xDDBBB0", VA = "0x180DDCBB0")]
internal set;
}
// Token: 0x1700181A RID: 6170
// (get) Token: 0x060097B1 RID: 38833 RVA: 0x001EE9D8 File Offset: 0x001ECBD8
// (set) Token: 0x060097B2 RID: 38834 RVA: 0x001EE9EC File Offset: 0x001ECBEC
[Token(Token = "0x1700181A")]
public int RedirectCount
{
[Token(Token = "0x60097B1")]
[Address(RVA = "0x8EE1A0", Offset = "0x8ED1A0", VA = "0x1808EE1A0")]
get;
[Token(Token = "0x60097B2")]
[Address(RVA = "0x1837440", Offset = "0x1836440", VA = "0x181837440")]
internal set;
}
// Token: 0x140000BB RID: 187
// (add) Token: 0x060097B3 RID: 38835 RVA: 0x001EEA00 File Offset: 0x001ECC00
// (remove) Token: 0x060097B4 RID: 38836 RVA: 0x001EEA1C File Offset: 0x001ECC1C
[Token(Token = "0x140000BB")]
public event Func<HTTPRequest, X509Certificate, X509Chain, bool> CustomCertificationValidator
{
[Token(Token = "0x60097B3")]
[Address(RVA = "0x2A7EBA0", Offset = "0x2A7DBA0", VA = "0x182A7EBA0")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x60097B4")]
[Address(RVA = "0x2A7EF40", Offset = "0x2A7DF40", VA = "0x182A7EF40")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x1700181B RID: 6171
// (get) Token: 0x060097B5 RID: 38837 RVA: 0x001EEA38 File Offset: 0x001ECC38
// (set) Token: 0x060097B6 RID: 38838 RVA: 0x001EEA4C File Offset: 0x001ECC4C
[Token(Token = "0x1700181B")]
public TimeSpan ConnectTimeout
{
[Token(Token = "0x60097B5")]
[Address(RVA = "0x42D480", Offset = "0x42C480", VA = "0x18042D480")]
get;
[Token(Token = "0x60097B6")]
[Address(RVA = "0x42DA70", Offset = "0x42CA70", VA = "0x18042DA70")]
set;
}
// Token: 0x1700181C RID: 6172
// (get) Token: 0x060097B7 RID: 38839 RVA: 0x001EEA60 File Offset: 0x001ECC60
// (set) Token: 0x060097B8 RID: 38840 RVA: 0x001EEA74 File Offset: 0x001ECC74
[Token(Token = "0x1700181C")]
public TimeSpan Timeout
{
[Token(Token = "0x60097B7")]
[Address(RVA = "0x42D840", Offset = "0x42C840", VA = "0x18042D840")]
get;
[Token(Token = "0x60097B8")]
[Address(RVA = "0x42DBA0", Offset = "0x42CBA0", VA = "0x18042DBA0")]
set;
}
// Token: 0x1700181D RID: 6173
// (get) Token: 0x060097B9 RID: 38841 RVA: 0x001EEA88 File Offset: 0x001ECC88
// (set) Token: 0x060097BA RID: 38842 RVA: 0x001EEA9C File Offset: 0x001ECC9C
[Token(Token = "0x1700181D")]
public bool EnableTimoutForStreaming
{
[Token(Token = "0x60097B9")]
[Address(RVA = "0xB8D050", Offset = "0xB8C050", VA = "0x180B8D050")]
get;
[Token(Token = "0x60097BA")]
[Address(RVA = "0xB8D170", Offset = "0xB8C170", VA = "0x180B8D170")]
set;
}
// Token: 0x1700181E RID: 6174
// (get) Token: 0x060097BB RID: 38843 RVA: 0x001EEAB0 File Offset: 0x001ECCB0
// (set) Token: 0x060097BC RID: 38844 RVA: 0x001EEAC4 File Offset: 0x001ECCC4
[Token(Token = "0x1700181E")]
public bool EnableSafeReadOnUnknownContentLength
{
[Token(Token = "0x60097BB")]
[Address(RVA = "0x2A7EE90", Offset = "0x2A7DE90", VA = "0x182A7EE90")]
get;
[Token(Token = "0x60097BC")]
[Address(RVA = "0x2A7F2A0", Offset = "0x2A7E2A0", VA = "0x182A7F2A0")]
set;
}
// Token: 0x1700181F RID: 6175
// (get) Token: 0x060097BD RID: 38845 RVA: 0x001EEAD8 File Offset: 0x001ECCD8
// (set) Token: 0x060097BE RID: 38846 RVA: 0x001EEAEC File Offset: 0x001ECCEC
[Token(Token = "0x1700181F")]
public int Priority
{
[Token(Token = "0x60097BD")]
[Address(RVA = "0x6A55B0", Offset = "0x6A45B0", VA = "0x1806A55B0")]
get;
[Token(Token = "0x60097BE")]
[Address(RVA = "0x82DC10", Offset = "0x82CC10", VA = "0x18082DC10")]
set;
}
// Token: 0x17001820 RID: 6176
// (get) Token: 0x060097BF RID: 38847 RVA: 0x001EEB00 File Offset: 0x001ECD00
// (set) Token: 0x060097C0 RID: 38848 RVA: 0x001EEB14 File Offset: 0x001ECD14
[Token(Token = "0x17001820")]
public ICertificateVerifyer CustomCertificateVerifyer
{
[Token(Token = "0x60097BF")]
[Address(RVA = "0x42C870", Offset = "0x42B870", VA = "0x18042C870")]
get;
[Token(Token = "0x60097C0")]
[Address(RVA = "0x82C6B0", Offset = "0x82B6B0", VA = "0x18082C6B0")]
set;
}
// Token: 0x17001821 RID: 6177
// (get) Token: 0x060097C1 RID: 38849 RVA: 0x001EEB28 File Offset: 0x001ECD28
// (set) Token: 0x060097C2 RID: 38850 RVA: 0x001EEB3C File Offset: 0x001ECD3C
[Token(Token = "0x17001821")]
public IClientCredentialsProvider CustomClientCredentialsProvider
{
[Token(Token = "0x60097C1")]
[Address(RVA = "0x42D460", Offset = "0x42C460", VA = "0x18042D460")]
get;
[Token(Token = "0x60097C2")]
[Address(RVA = "0x5BF390", Offset = "0x5BE390", VA = "0x1805BF390")]
set;
}
// Token: 0x17001822 RID: 6178
// (get) Token: 0x060097C3 RID: 38851 RVA: 0x001EEB50 File Offset: 0x001ECD50
// (set) Token: 0x060097C4 RID: 38852 RVA: 0x001EEB64 File Offset: 0x001ECD64
[Token(Token = "0x17001822")]
public List<string> CustomTLSServerNameList
{
[Token(Token = "0x60097C3")]
[Address(RVA = "0x42D470", Offset = "0x42C470", VA = "0x18042D470")]
get;
[Token(Token = "0x60097C4")]
[Address(RVA = "0x42DA60", Offset = "0x42CA60", VA = "0x18042DA60")]
set;
}
// Token: 0x17001823 RID: 6179
// (get) Token: 0x060097C5 RID: 38853 RVA: 0x001EEB78 File Offset: 0x001ECD78
// (set) Token: 0x060097C6 RID: 38854 RVA: 0x001EEB8C File Offset: 0x001ECD8C
[Token(Token = "0x17001823")]
public SupportedProtocols ProtocolHandler
{
[Token(Token = "0x60097C5")]
[Address(RVA = "0x1DA1240", Offset = "0x1DA0240", VA = "0x181DA1240")]
get;
[Token(Token = "0x60097C6")]
[Address(RVA = "0x1DA12C0", Offset = "0x1DA02C0", VA = "0x181DA12C0")]
set;
}
// Token: 0x140000BC RID: 188
// (add) Token: 0x060097C7 RID: 38855 RVA: 0x001EEBA0 File Offset: 0x001ECDA0
// (remove) Token: 0x060097C8 RID: 38856 RVA: 0x001EEBD4 File Offset: 0x001ECDD4
[Token(Token = "0x140000BC")]
public event OnBeforeRedirectionDelegate OnBeforeRedirection
{
[Token(Token = "0x60097C7")]
[Address(RVA = "0x2A7ECD0", Offset = "0x2A7DCD0", VA = "0x182A7ECD0")]
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 = "0x60097C8")]
[Address(RVA = "0x2A7F070", Offset = "0x2A7E070", VA = "0x182A7F070")]
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: 0x060097C9 RID: 38857 RVA: 0x001EEC08 File Offset: 0x001ECE08
// (remove) Token: 0x060097CA RID: 38858 RVA: 0x001EEC3C File Offset: 0x001ECE3C
[Token(Token = "0x140000BD")]
public event OnBeforeHeaderSendDelegate OnBeforeHeaderSend
{
[Token(Token = "0x60097C9")]
[Address(RVA = "0x2A7EC40", Offset = "0x2A7DC40", VA = "0x182A7EC40")]
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 = "0x60097CA")]
[Address(RVA = "0x2A7EFE0", Offset = "0x2A7DFE0", VA = "0x182A7EFE0")]
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: 0x060097CB RID: 38859 RVA: 0x001EEC70 File Offset: 0x001ECE70
// (remove) Token: 0x060097CC RID: 38860 RVA: 0x001EEC8C File Offset: 0x001ECE8C
[Token(Token = "0x140000BE")]
public event Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x60097CB")]
[Address(RVA = "0x2A7ED60", Offset = "0x2A7DD60", VA = "0x182A7ED60")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x60097CC")]
[Address(RVA = "0x2A7F100", Offset = "0x2A7E100", VA = "0x182A7F100")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x17001824 RID: 6180
// (get) Token: 0x060097CD RID: 38861 RVA: 0x001EECA8 File Offset: 0x001ECEA8
// (set) Token: 0x060097CE RID: 38862 RVA: 0x001EECBC File Offset: 0x001ECEBC
[Token(Token = "0x17001824")]
public bool TryToMinimizeTCPLatency
{
[Token(Token = "0x60097CD")]
[Address(RVA = "0x1188490", Offset = "0x1187490", VA = "0x181188490")]
get;
[Token(Token = "0x60097CE")]
[Address(RVA = "0x2A5EDC0", Offset = "0x2A5DDC0", VA = "0x182A5EDC0")]
set;
}
// Token: 0x17001825 RID: 6181
// (get) Token: 0x060097CF RID: 38863 RVA: 0x001EECD0 File Offset: 0x001ECED0
// (set) Token: 0x060097D0 RID: 38864 RVA: 0x001EECE4 File Offset: 0x001ECEE4
[Token(Token = "0x17001825")]
internal long Downloaded
{
[Token(Token = "0x60097CF")]
[Address(RVA = "0x5B7070", Offset = "0x5B6070", VA = "0x1805B7070")]
get;
[Token(Token = "0x60097D0")]
[Address(RVA = "0xD899A0", Offset = "0xD889A0", VA = "0x180D899A0")]
set;
}
// Token: 0x17001826 RID: 6182
// (get) Token: 0x060097D1 RID: 38865 RVA: 0x001EECF8 File Offset: 0x001ECEF8
// (set) Token: 0x060097D2 RID: 38866 RVA: 0x001EED0C File Offset: 0x001ECF0C
[Token(Token = "0x17001826")]
internal long DownloadLength
{
[Token(Token = "0x60097D1")]
[Address(RVA = "0x5BF220", Offset = "0x5BE220", VA = "0x1805BF220")]
get;
[Token(Token = "0x60097D2")]
[Address(RVA = "0x5BF360", Offset = "0x5BE360", VA = "0x1805BF360")]
set;
}
// Token: 0x17001827 RID: 6183
// (get) Token: 0x060097D3 RID: 38867 RVA: 0x001EED20 File Offset: 0x001ECF20
// (set) Token: 0x060097D4 RID: 38868 RVA: 0x001EED34 File Offset: 0x001ECF34
[Token(Token = "0x17001827")]
internal bool DownloadProgressChanged
{
[Token(Token = "0x60097D3")]
[Address(RVA = "0x4D9890", Offset = "0x4D8890", VA = "0x1804D9890")]
get;
[Token(Token = "0x60097D4")]
[Address(RVA = "0x1619CB0", Offset = "0x1618CB0", VA = "0x181619CB0")]
set;
}
// Token: 0x17001828 RID: 6184
// (get) Token: 0x060097D5 RID: 38869 RVA: 0x001EED48 File Offset: 0x001ECF48
[Token(Token = "0x17001828")]
internal long UploadStreamLength
{
[Token(Token = "0x60097D5")]
[Address(RVA = "0x2A7EEC0", Offset = "0x2A7DEC0", VA = "0x182A7EEC0")]
get
{
if (this.<UploadStream>k__BackingField != (ulong)0L && this.<UseUploadStreamLength>k__BackingField)
{
bool canWrite = this.<UploadStream>k__BackingField.CanWrite;
}
throw new NullReferenceException();
}
}
// Token: 0x17001829 RID: 6185
// (get) Token: 0x060097D6 RID: 38870 RVA: 0x001EED7C File Offset: 0x001ECF7C
// (set) Token: 0x060097D7 RID: 38871 RVA: 0x001EED90 File Offset: 0x001ECF90
[Token(Token = "0x17001829")]
internal long Uploaded
{
[Token(Token = "0x60097D6")]
[Address(RVA = "0x4D9850", Offset = "0x4D8850", VA = "0x1804D9850")]
get;
[Token(Token = "0x60097D7")]
[Address(RVA = "0x5B7110", Offset = "0x5B6110", VA = "0x1805B7110")]
set;
}
// Token: 0x1700182A RID: 6186
// (get) Token: 0x060097D8 RID: 38872 RVA: 0x001EEDA4 File Offset: 0x001ECFA4
// (set) Token: 0x060097D9 RID: 38873 RVA: 0x001EEDB8 File Offset: 0x001ECFB8
[Token(Token = "0x1700182A")]
internal long UploadLength
{
[Token(Token = "0x60097D8")]
[Address(RVA = "0xCBC4E0", Offset = "0xCBB4E0", VA = "0x180CBC4E0")]
get;
[Token(Token = "0x60097D9")]
[Address(RVA = "0x141F2E0", Offset = "0x141E2E0", VA = "0x18141F2E0")]
set;
}
// Token: 0x1700182B RID: 6187
// (get) Token: 0x060097DA RID: 38874 RVA: 0x001EEDCC File Offset: 0x001ECFCC
// (set) Token: 0x060097DB RID: 38875 RVA: 0x001EEDE0 File Offset: 0x001ECFE0
[Token(Token = "0x1700182B")]
internal bool UploadProgressChanged
{
[Token(Token = "0x60097DA")]
[Address(RVA = "0xFB4420", Offset = "0xFB3420", VA = "0x180FB4420")]
get;
[Token(Token = "0x60097DB")]
[Address(RVA = "0x1925640", Offset = "0x1924640", VA = "0x181925640")]
set;
}
// Token: 0x1700182C RID: 6188
// (get) Token: 0x060097DC RID: 38876 RVA: 0x001EEDF4 File Offset: 0x001ECFF4
// (set) Token: 0x060097DD RID: 38877 RVA: 0x001EEE08 File Offset: 0x001ED008
[Token(Token = "0x1700182C")]
private Dictionary<string, List<string>> Headers
{
[Token(Token = "0x60097DC")]
[Address(RVA = "0xFB4610", Offset = "0xFB3610", VA = "0x180FB4610")]
get;
[Token(Token = "0x60097DD")]
[Address(RVA = "0x141F390", Offset = "0x141E390", VA = "0x18141F390")]
set;
}
// Token: 0x060097DE RID: 38878 RVA: 0x001EEE1C File Offset: 0x001ED01C
[Token(Token = "0x60097DE")]
[Address(RVA = "0x2A7E4E0", Offset = "0x2A7D4E0", VA = "0x182A7E4E0")]
public HTTPRequest(Uri uri)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x060097DF RID: 38879 RVA: 0x001EEE3C File Offset: 0x001ED03C
[Token(Token = "0x60097DF")]
[Address(RVA = "0x2A7E010", Offset = "0x2A7D010", VA = "0x182A7E010")]
public HTTPRequest(Uri uri, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x060097E0 RID: 38880 RVA: 0x001EEE58 File Offset: 0x001ED058
[Token(Token = "0x60097E0")]
[Address(RVA = "0x2A7E3F0", Offset = "0x2A7D3F0", VA = "0x182A7E3F0")]
public HTTPRequest(Uri uri, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x060097E1 RID: 38881 RVA: 0x001EEE70 File Offset: 0x001ED070
[Token(Token = "0x60097E1")]
[Address(RVA = "0x2A7DFE0", Offset = "0x2A7CFE0", VA = "0x182A7DFE0")]
public HTTPRequest(Uri uri, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
}
// Token: 0x060097E2 RID: 38882 RVA: 0x001EEE80 File Offset: 0x001ED080
[Token(Token = "0x60097E2")]
[Address(RVA = "0x2A7E140", Offset = "0x2A7D140", VA = "0x182A7E140")]
public HTTPRequest(Uri uri, HTTPMethods methodType)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x060097E3 RID: 38883 RVA: 0x001EEE9C File Offset: 0x001ED09C
[Token(Token = "0x60097E3")]
[Address(RVA = "0x2A7E290", Offset = "0x2A7D290", VA = "0x182A7E290")]
public HTTPRequest(Uri uri, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x060097E4 RID: 38884 RVA: 0x001EEEB8 File Offset: 0x001ED0B8
[Token(Token = "0x60097E4")]
[Address(RVA = "0x2A7DED0", Offset = "0x2A7CED0", VA = "0x182A7DED0")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
}
// Token: 0x060097E5 RID: 38885 RVA: 0x001EEECC File Offset: 0x001ED0CC
[Token(Token = "0x60097E5")]
[Address(RVA = "0x2A7E600", Offset = "0x2A7D600", VA = "0x182A7E600")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
/*
An exception occurred when decompiling this method (060097E5)
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 1663
*/;
}
// Token: 0x060097E6 RID: 38886 RVA: 0x001EF04C File Offset: 0x001ED24C
[Token(Token = "0x60097E6")]
[Address(RVA = "0x2A7AEB0", Offset = "0x2A79EB0", VA = "0x182A7AEB0")]
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: 0x060097E7 RID: 38887 RVA: 0x001EF088 File Offset: 0x001ED288
[Token(Token = "0x60097E7")]
[Address(RVA = "0x2A7AF70", Offset = "0x2A79F70", VA = "0x182A7AF70")]
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: 0x060097E8 RID: 38888 RVA: 0x001EF0C4 File Offset: 0x001ED2C4
[Token(Token = "0x60097E8")]
[Address(RVA = "0x2A7ADC0", Offset = "0x2A79DC0", VA = "0x182A7ADC0")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x060097E9 RID: 38889 RVA: 0x001EF0E0 File Offset: 0x001ED2E0
[Token(Token = "0x60097E9")]
[Address(RVA = "0x2A7ADE0", Offset = "0x2A79DE0", VA = "0x182A7ADE0")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x060097EA RID: 38890 RVA: 0x001EF0FC File Offset: 0x001ED2FC
[Token(Token = "0x60097EA")]
[Address(RVA = "0x2A7AE00", Offset = "0x2A79E00", VA = "0x182A7AE00")]
public void AddBinaryData(string fieldName, byte[] content, string fileName, string mimeType)
{
if (this.FieldCollector == 0)
{
HTTPFormBase httpformBase = new HTTPFormBase();
this.FieldCollector = httpformBase;
}
}
// Token: 0x060097EB RID: 38891 RVA: 0x001EF128 File Offset: 0x001ED328
[Token(Token = "0x60097EB")]
[Address(RVA = "0x1423730", Offset = "0x1422730", VA = "0x181423730")]
public void SetForm(HTTPFormBase form)
{
this.FormImpl = form;
}
// Token: 0x060097EC RID: 38892 RVA: 0x001EF13C File Offset: 0x001ED33C
[Token(Token = "0x60097EC")]
[Address(RVA = "0x2A7C4F0", Offset = "0x2A7B4F0", VA = "0x182A7C4F0")]
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: 0x060097ED RID: 38893 RVA: 0x001EF178 File Offset: 0x001ED378
[Token(Token = "0x60097ED")]
[Address(RVA = "0x2A7B2D0", Offset = "0x2A7A2D0", VA = "0x182A7B2D0")]
public void ClearForm()
{
int num = 0;
this.FormImpl = num;
this.FieldCollector = num;
}
// Token: 0x060097EE RID: 38894 RVA: 0x001EF198 File Offset: 0x001ED398
[Token(Token = "0x60097EE")]
[Address(RVA = "0x2A7C790", Offset = "0x2A7B790", VA = "0x182A7C790")]
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: 0x060097EF RID: 38895 RVA: 0x001EF228 File Offset: 0x001ED428
[Token(Token = "0x60097EF")]
[Address(RVA = "0x2A7B020", Offset = "0x2A7A020", VA = "0x182A7B020")]
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);
throw new NullReferenceException();
}
list.Add(value);
}
// Token: 0x060097F0 RID: 38896 RVA: 0x001EF274 File Offset: 0x001ED474
[Token(Token = "0x60097F0")]
[Address(RVA = "0x2A7D490", Offset = "0x2A7C490", VA = "0x182A7D490")]
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);
throw new NullReferenceException();
}
list.Clear();
list.Add(value);
}
// Token: 0x060097F1 RID: 38897 RVA: 0x001EF2C8 File Offset: 0x001ED4C8
[Token(Token = "0x60097F1")]
[Address(RVA = "0x2A7C690", Offset = "0x2A7B690", VA = "0x182A7C690")]
public bool RemoveHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
return dictionary.Remove(name);
}
}
// Token: 0x060097F2 RID: 38898 RVA: 0x001EF2EC File Offset: 0x001ED4EC
[Token(Token = "0x60097F2")]
[Address(RVA = "0x2A7C620", Offset = "0x2A7B620", VA = "0x182A7C620")]
public bool HasHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary == 0)
{
}
return dictionary.ContainsKey(name);
}
// Token: 0x060097F3 RID: 38899 RVA: 0x001EF310 File Offset: 0x001ED510
[Token(Token = "0x60097F3")]
[Address(RVA = "0x2A7C450", Offset = "0x2A7B450", VA = "0x182A7C450")]
public string GetFirstHeaderValue(string name)
{
bool flag;
if (this.<Headers>k__BackingField != 0 && flag && flag > false && !flag)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
}
throw new NullReferenceException();
}
// Token: 0x060097F4 RID: 38900 RVA: 0x001EF340 File Offset: 0x001ED540
[Token(Token = "0x60097F4")]
[Address(RVA = "0x2A7C5A0", Offset = "0x2A7B5A0", VA = "0x182A7C5A0")]
public List<string> GetHeaderValues(string name)
{
bool flag;
if (this.<Headers>k__BackingField == 0 || flag)
{
}
throw new NullReferenceException();
}
// Token: 0x060097F5 RID: 38901 RVA: 0x001EF364 File Offset: 0x001ED564
[Token(Token = "0x60097F5")]
[Address(RVA = "0x2A7C6F0", Offset = "0x2A7B6F0", VA = "0x182A7C6F0")]
public void RemoveHeaders()
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
dictionary.Clear();
return;
}
}
// Token: 0x060097F6 RID: 38902 RVA: 0x001EF384 File Offset: 0x001ED584
[Token(Token = "0x60097F6")]
[Address(RVA = "0x2A7D660", Offset = "0x2A7C660", VA = "0x182A7D660")]
public void SetRangeHeader(int firstBytePos)
{
string text = string.Format("bytes={0}-", firstBytePos);
this.SetHeader("Range", text);
}
// Token: 0x060097F7 RID: 38903 RVA: 0x001EF3AC File Offset: 0x001ED5AC
[Token(Token = "0x60097F7")]
[Address(RVA = "0x2A7D5C0", Offset = "0x2A7C5C0", VA = "0x182A7D5C0")]
public void SetRangeHeader(int firstBytePos, int lastBytePos)
{
string text = string.Format("bytes={0}-{1}", firstBytePos, lastBytePos);
this.SetHeader("Range", text);
}
// Token: 0x060097F8 RID: 38904 RVA: 0x001EF3D4 File Offset: 0x001ED5D4
[Token(Token = "0x60097F8")]
[Address(RVA = "0x2A7C380", Offset = "0x2A7B380", VA = "0x182A7C380")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback)
{
int num = 0;
this.EnumerateHeaders(callback, num != 0);
}
// Token: 0x060097F9 RID: 38905 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60097F9")]
[Address(RVA = "0x2A7B600", Offset = "0x2A7A600", VA = "0x182A7B600")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback, bool callBeforeSendCallback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060097FA RID: 38906 RVA: 0x001EF3EC File Offset: 0x001ED5EC
[Token(Token = "0x60097FA")]
[Address(RVA = "0x2A7C8F0", Offset = "0x2A7B8F0", VA = "0x182A7C8F0")]
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: 0x060097FB RID: 38907 RVA: 0x001EF44C File Offset: 0x001ED64C
[Token(Token = "0x60097FB")]
[Address(RVA = "0x2A7B390", Offset = "0x2A7A390", VA = "0x182A7B390")]
public string DumpHeaders()
{
int num;
do
{
num = 0;
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream();
bufferPoolMemoryStream.canWrite = true;
byte[] array;
bufferPoolMemoryStream.internalBuffer = array;
int length = array.Length;
bufferPoolMemoryStream.capacity = length;
bufferPoolMemoryStream.expandable = true;
bufferPoolMemoryStream.allowGetBuffer = true;
this.SendHeaders(bufferPoolMemoryStream);
byte[] array2 = bufferPoolMemoryStream.ToArray();
int length2;
StringBuilder stringBuilder = new StringBuilder(length2);
length2 = array2.Length;
int length3 = array2.Length;
if (num < length3)
{
byte b;
StringBuilder stringBuilder2 = stringBuilder.Append((char)b);
num++;
}
int hashCode = stringBuilder.GetHashCode();
if (bufferPoolMemoryStream != 0)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x060097FC RID: 38908 RVA: 0x001EF500 File Offset: 0x001ED700
[Token(Token = "0x60097FC")]
[Address(RVA = "0x2A7C3B0", Offset = "0x2A7B3B0", VA = "0x182A7C3B0")]
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: 0x060097FD RID: 38909 RVA: 0x001EF548 File Offset: 0x001ED748
[Token(Token = "0x60097FD")]
[Address(RVA = "0x2A7CA40", Offset = "0x2A7BA40", VA = "0x182A7CA40")]
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: 0x060097FE RID: 38910 RVA: 0x001EF7A4 File Offset: 0x001ED9A4
[Token(Token = "0x60097FE")]
[Address(RVA = "0x2A7D6E0", Offset = "0x2A7C6E0", VA = "0x182A7D6E0")]
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: 0x060097FF RID: 38911 RVA: 0x001EF7F0 File Offset: 0x001ED9F0
[Token(Token = "0x60097FF")]
[Address(RVA = "0x2A7B140", Offset = "0x2A7A140", VA = "0x182A7B140")]
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: 0x06009800 RID: 38912 RVA: 0x001EF828 File Offset: 0x001EDA28
[Token(Token = "0x6009800")]
[Address(RVA = "0x2A7B290", Offset = "0x2A7A290", VA = "0x182A7B290")]
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: 0x06009801 RID: 38913 RVA: 0x001EF854 File Offset: 0x001EDA54
[Token(Token = "0x6009801")]
[Address(RVA = "0x2A7C390", Offset = "0x2A7B390", VA = "0x182A7C390")]
internal void FinishStreaming()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0 && this.useStreaming)
{
httpresponse.FinishStreaming();
return;
}
}
// Token: 0x06009802 RID: 38914 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009802")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0")]
internal void Prepare()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009803 RID: 38915 RVA: 0x001EF87C File Offset: 0x001EDA7C
[Token(Token = "0x6009803")]
[Address(RVA = "0x2A7B210", Offset = "0x2A7A210", VA = "0x182A7B210")]
internal bool CallCustomCertificationValidator(X509Certificate cert, X509Chain chain)
{
Func<HTTPRequest, X509Certificate, X509Chain, bool> customCertificationValidator = this.CustomCertificationValidator;
return customCertificationValidator == 0 || customCertificationValidator(this, cert, chain) != null;
}
// Token: 0x06009804 RID: 38916 RVA: 0x001EF8A0 File Offset: 0x001EDAA0
[Token(Token = "0x6009804")]
[Address(RVA = "0x2A7D430", Offset = "0x2A7C430", VA = "0x182A7D430")]
public HTTPRequest Send()
{
return HTTPManager.SendRequest(this);
}
// Token: 0x06009805 RID: 38917 RVA: 0x001EF8B4 File Offset: 0x001EDAB4
[Token(Token = "0x6009805")]
[Address(RVA = "0x2A7A9F0", Offset = "0x2A799F0", VA = "0x182A7A9F0")]
public void Abort()
{
/*
An exception occurred when decompiling this method (06009805)
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 1663
*/;
}
// Token: 0x06009806 RID: 38918 RVA: 0x001EF98C File Offset: 0x001EDB8C
[Token(Token = "0x6009806")]
[Address(RVA = "0x2A7B2F0", Offset = "0x2A7A2F0", VA = "0x182A7B2F0")]
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: 0x06009807 RID: 38919 RVA: 0x001EF9D8 File Offset: 0x001EDBD8
[Token(Token = "0x6009807")]
[Address(RVA = "0x2A7D7C0", Offset = "0x2A7C7C0", VA = "0x182A7D7C0")]
private void VerboseLogging(string str)
{
ILogger logger = HTTPManager.Logger;
if (this.<IsRedirected>k__BackingField)
{
}
int hashCode = this.<Uri>k__BackingField.GetHashCode();
}
// Token: 0x1700182D RID: 6189
// (get) Token: 0x06009808 RID: 38920 RVA: 0x001EFA08 File Offset: 0x001EDC08
[Token(Token = "0x1700182D")]
public object Current
{
[Token(Token = "0x6009808")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "5")]
get
{
}
}
// Token: 0x06009809 RID: 38921 RVA: 0x001EFA18 File Offset: 0x001EDC18
[Token(Token = "0x6009809")]
[Address(RVA = "0x2A7C680", Offset = "0x2A7B680", VA = "0x182A7C680", Slot = "4")]
public bool MoveNext()
{
return this.<State>k__BackingField < HTTPRequestStates.Finished;
}
// Token: 0x0600980A RID: 38922 RVA: 0x001EFA30 File Offset: 0x001EDC30
[Token(Token = "0x600980A")]
[Address(RVA = "0x2A7C740", Offset = "0x2A7B740", VA = "0x182A7C740", Slot = "6")]
public void Reset()
{
/*
An exception occurred when decompiling this method (0600980A)
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 1663
*/;
}
// Token: 0x1700182E RID: 6190
// (get) Token: 0x0600980B RID: 38923 RVA: 0x001EFA44 File Offset: 0x001EDC44
[Token(Token = "0x1700182E")]
HTTPRequest IEnumerator<HTTPRequest>.Current
{
[Token(Token = "0x600980B")]
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "7")]
get
{
return this;
}
}
// Token: 0x0600980C RID: 38924 RVA: 0x001EFA54 File Offset: 0x001EDC54
[Token(Token = "0x600980C")]
[Address(RVA = "0x2A7B370", Offset = "0x2A7A370", VA = "0x182A7B370", Slot = "8")]
public void Dispose()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0)
{
httpresponse.Dispose();
return;
}
}
// Token: 0x0600980D RID: 38925 RVA: 0x001EFA74 File Offset: 0x001EDC74
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600980D")]
[Address(RVA = "0x2A7D8A0", Offset = "0x2A7C8A0", VA = "0x182A7D8A0")]
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: 0x0400668A RID: 26250
[Token(Token = "0x400668A")]
public static readonly byte[] EOL;
// Token: 0x0400668B RID: 26251
[Token(Token = "0x400668B")]
public static readonly string[] MethodNames;
// Token: 0x0400668C RID: 26252
[Token(Token = "0x400668C")]
public static int UploadChunkSize;
// Token: 0x04006693 RID: 26259
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006693")]
public OnUploadProgressDelegate OnUploadProgress;
// Token: 0x04006696 RID: 26262
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006696")]
public OnDownloadProgressDelegate OnProgress;
// Token: 0x04006697 RID: 26263
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4006697")]
public OnRequestFinishedDelegate OnUpgraded;
// Token: 0x040066A4 RID: 26276
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40066A4")]
private List<Cookie> customCookies;
// Token: 0x040066B2 RID: 26290
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x40066B2")]
private OnBeforeRedirectionDelegate onBeforeRedirection;
// Token: 0x040066B3 RID: 26291
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x40066B3")]
private OnBeforeHeaderSendDelegate _onBeforeHeaderSend;
// Token: 0x040066BC RID: 26300
[FieldOffset(Offset = "0x149")]
[Token(Token = "0x40066BC")]
private bool isKeepAlive;
// Token: 0x040066BD RID: 26301
[FieldOffset(Offset = "0x14A")]
[Token(Token = "0x40066BD")]
private bool disableCache;
// Token: 0x040066BE RID: 26302
[FieldOffset(Offset = "0x14B")]
[Token(Token = "0x40066BE")]
private bool cacheOnly;
// Token: 0x040066BF RID: 26303
[FieldOffset(Offset = "0x14C")]
[Token(Token = "0x40066BF")]
private int streamFragmentSize;
// Token: 0x040066C0 RID: 26304
[FieldOffset(Offset = "0x150")]
[Token(Token = "0x40066C0")]
private bool useStreaming;
// Token: 0x040066C2 RID: 26306
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x40066C2")]
private HTTPFormBase FieldCollector;
// Token: 0x040066C3 RID: 26307
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x40066C3")]
private HTTPFormBase FormImpl;
}
}
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200197B RID: 6523
[Token(Token = "0x200197B")]
public enum HTTPRequestStates
{
// Token: 0x04006682 RID: 26242
[Token(Token = "0x4006682")]
Initial,
// Token: 0x04006683 RID: 26243
[Token(Token = "0x4006683")]
Queued,
// Token: 0x04006684 RID: 26244
[Token(Token = "0x4006684")]
Processing,
// Token: 0x04006685 RID: 26245
[Token(Token = "0x4006685")]
Finished,
// Token: 0x04006686 RID: 26246
[Token(Token = "0x4006686")]
Error,
// Token: 0x04006687 RID: 26247
[Token(Token = "0x4006687")]
Aborted,
// Token: 0x04006688 RID: 26248
[Token(Token = "0x4006688")]
ConnectionTimedOut,
// Token: 0x04006689 RID: 26249
[Token(Token = "0x4006689")]
TimedOut
}
}
+1447
View File
@@ -0,0 +1,1447 @@
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: 0x02001986 RID: 6534
[Token(Token = "0x2001986")]
public class HTTPResponse : IDisposable
{
// Token: 0x17001830 RID: 6192
// (get) Token: 0x06009814 RID: 38932 RVA: 0x001EFBBC File Offset: 0x001EDDBC
// (set) Token: 0x06009815 RID: 38933 RVA: 0x001EFBD0 File Offset: 0x001EDDD0
[Token(Token = "0x17001830")]
public int VersionMajor
{
[Token(Token = "0x6009814")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
get;
[Token(Token = "0x6009815")]
[Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")]
protected set;
}
// Token: 0x17001831 RID: 6193
// (get) Token: 0x06009816 RID: 38934 RVA: 0x001EFBE4 File Offset: 0x001EDDE4
// (set) Token: 0x06009817 RID: 38935 RVA: 0x001EFBF8 File Offset: 0x001EDDF8
[Token(Token = "0x17001831")]
public int VersionMinor
{
[Token(Token = "0x6009816")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get;
[Token(Token = "0x6009817")]
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
protected set;
}
// Token: 0x17001832 RID: 6194
// (get) Token: 0x06009818 RID: 38936 RVA: 0x001EFC0C File Offset: 0x001EDE0C
// (set) Token: 0x06009819 RID: 38937 RVA: 0x001EFC20 File Offset: 0x001EDE20
[Token(Token = "0x17001832")]
public int StatusCode
{
[Token(Token = "0x6009818")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x6009819")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
protected set;
}
// Token: 0x17001833 RID: 6195
// (get) Token: 0x0600981A RID: 38938 RVA: 0x001EFC34 File Offset: 0x001EDE34
[Token(Token = "0x17001833")]
public bool IsSuccess
{
[Token(Token = "0x600981A")]
[Address(RVA = "0x229F670", Offset = "0x229E670", VA = "0x18229F670")]
get
{
int num = this.<StatusCode>k__BackingField;
return true;
}
}
// Token: 0x17001834 RID: 6196
// (get) Token: 0x0600981B RID: 38939 RVA: 0x001EFC54 File Offset: 0x001EDE54
// (set) Token: 0x0600981C RID: 38940 RVA: 0x001EFC68 File Offset: 0x001EDE68
[Token(Token = "0x17001834")]
public string Message
{
[Token(Token = "0x600981B")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600981C")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
protected set;
}
// Token: 0x17001835 RID: 6197
// (get) Token: 0x0600981D RID: 38941 RVA: 0x001EFC7C File Offset: 0x001EDE7C
// (set) Token: 0x0600981E RID: 38942 RVA: 0x001EFC90 File Offset: 0x001EDE90
[Token(Token = "0x17001835")]
public bool IsStreamed
{
[Token(Token = "0x600981D")]
[Address(RVA = "0x51F260", Offset = "0x51E260", VA = "0x18051F260")]
get;
[Token(Token = "0x600981E")]
[Address(RVA = "0x51F2B0", Offset = "0x51E2B0", VA = "0x18051F2B0")]
protected set;
}
// Token: 0x17001836 RID: 6198
// (get) Token: 0x0600981F RID: 38943 RVA: 0x001EFCA4 File Offset: 0x001EDEA4
// (set) Token: 0x06009820 RID: 38944 RVA: 0x001EFCB8 File Offset: 0x001EDEB8
[Token(Token = "0x17001836")]
public bool IsStreamingFinished
{
[Token(Token = "0x600981F")]
[Address(RVA = "0x844B90", Offset = "0x843B90", VA = "0x180844B90")]
get;
[Token(Token = "0x6009820")]
[Address(RVA = "0x844B60", Offset = "0x843B60", VA = "0x180844B60")]
internal set;
}
// Token: 0x17001837 RID: 6199
// (get) Token: 0x06009821 RID: 38945 RVA: 0x001EFCCC File Offset: 0x001EDECC
// (set) Token: 0x06009822 RID: 38946 RVA: 0x001EFCE0 File Offset: 0x001EDEE0
[Token(Token = "0x17001837")]
public bool IsFromCache
{
[Token(Token = "0x6009821")]
[Address(RVA = "0xAC2F30", Offset = "0xAC1F30", VA = "0x180AC2F30")]
get;
[Token(Token = "0x6009822")]
[Address(RVA = "0x113EE50", Offset = "0x113DE50", VA = "0x18113EE50")]
internal set;
}
// Token: 0x17001838 RID: 6200
// (get) Token: 0x06009823 RID: 38947 RVA: 0x001EFCF4 File Offset: 0x001EDEF4
// (set) Token: 0x06009824 RID: 38948 RVA: 0x001EFD08 File Offset: 0x001EDF08
[Token(Token = "0x17001838")]
public HTTPCacheFileInfo CacheFileInfo
{
[Token(Token = "0x6009823")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
get;
[Token(Token = "0x6009824")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")]
internal set;
}
// Token: 0x17001839 RID: 6201
// (get) Token: 0x06009825 RID: 38949 RVA: 0x001EFD1C File Offset: 0x001EDF1C
// (set) Token: 0x06009826 RID: 38950 RVA: 0x001EFD30 File Offset: 0x001EDF30
[Token(Token = "0x17001839")]
public bool IsCacheOnly
{
[Token(Token = "0x6009825")]
[Address(RVA = "0x417650", Offset = "0x416650", VA = "0x180417650")]
get;
[Token(Token = "0x6009826")]
[Address(RVA = "0x417950", Offset = "0x416950", VA = "0x180417950")]
private set;
}
// Token: 0x1700183A RID: 6202
// (get) Token: 0x06009827 RID: 38951 RVA: 0x001EFD44 File Offset: 0x001EDF44
// (set) Token: 0x06009828 RID: 38952 RVA: 0x001EFD58 File Offset: 0x001EDF58
[Token(Token = "0x1700183A")]
public Dictionary<string, List<string>> Headers
{
[Token(Token = "0x6009827")]
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")]
get;
[Token(Token = "0x6009828")]
[Address(RVA = "0x417960", Offset = "0x416960", VA = "0x180417960")]
protected set;
}
// Token: 0x1700183B RID: 6203
// (get) Token: 0x06009829 RID: 38953 RVA: 0x001EFD6C File Offset: 0x001EDF6C
// (set) Token: 0x0600982A RID: 38954 RVA: 0x001EFD80 File Offset: 0x001EDF80
[Token(Token = "0x1700183B")]
public byte[] Data
{
[Token(Token = "0x6009829")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get;
[Token(Token = "0x600982A")]
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0")]
internal set;
}
// Token: 0x1700183C RID: 6204
// (get) Token: 0x0600982B RID: 38955 RVA: 0x001EFD94 File Offset: 0x001EDF94
// (set) Token: 0x0600982C RID: 38956 RVA: 0x001EFDA8 File Offset: 0x001EDFA8
[Token(Token = "0x1700183C")]
public bool IsUpgraded
{
[Token(Token = "0x600982B")]
[Address(RVA = "0x41CF80", Offset = "0x41BF80", VA = "0x18041CF80")]
get;
[Token(Token = "0x600982C")]
[Address(RVA = "0x41D090", Offset = "0x41C090", VA = "0x18041D090")]
protected set;
}
// Token: 0x1700183D RID: 6205
// (get) Token: 0x0600982D RID: 38957 RVA: 0x001EFDBC File Offset: 0x001EDFBC
// (set) Token: 0x0600982E RID: 38958 RVA: 0x001EFDD0 File Offset: 0x001EDFD0
[Token(Token = "0x1700183D")]
public List<Cookie> Cookies
{
[Token(Token = "0x600982D")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get;
[Token(Token = "0x600982E")]
[Address(RVA = "0x417A10", Offset = "0x416A10", VA = "0x180417A10")]
internal set;
}
// Token: 0x1700183E RID: 6206
// (get) Token: 0x0600982F RID: 38959 RVA: 0x001EFDE4 File Offset: 0x001EDFE4
[Token(Token = "0x1700183E")]
public string DataAsText
{
[Token(Token = "0x600982F")]
[Address(RVA = "0x229F500", Offset = "0x229E500", VA = "0x18229F500")]
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: 0x1700183F RID: 6207
// (get) Token: 0x06009830 RID: 38960 RVA: 0x001EFE3C File Offset: 0x001EE03C
[Token(Token = "0x1700183F")]
public Texture2D DataAsTexture2D
{
[Token(Token = "0x6009830")]
[Address(RVA = "0x229F5A0", Offset = "0x229E5A0", VA = "0x18229F5A0")]
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: 0x17001840 RID: 6208
// (get) Token: 0x06009831 RID: 38961 RVA: 0x001EFEA0 File Offset: 0x001EE0A0
// (set) Token: 0x06009832 RID: 38962 RVA: 0x001EFEB4 File Offset: 0x001EE0B4
[Token(Token = "0x17001840")]
public bool IsClosedManually
{
[Token(Token = "0x6009831")]
[Address(RVA = "0x6B48A0", Offset = "0x6B38A0", VA = "0x1806B48A0")]
get;
[Token(Token = "0x6009832")]
[Address(RVA = "0x6B48F0", Offset = "0x6B38F0", VA = "0x1806B48F0")]
protected set;
}
// Token: 0x06009833 RID: 38963 RVA: 0x001EFEC8 File Offset: 0x001EE0C8
[Token(Token = "0x6009833")]
[Address(RVA = "0x229F440", Offset = "0x229E440", VA = "0x18229F440")]
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: 0x06009834 RID: 38964 RVA: 0x001EFF20 File Offset: 0x001EE120
[Token(Token = "0x6009834")]
[Address(RVA = "0x229EA10", Offset = "0x229DA10", VA = "0x18229EA10", 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)
{
int num4 = int.Parse(text8);
this.<StatusCode>k__BackingField = num4;
int stringLength = text8.m_stringLength;
if (stringLength <= 0)
{
goto IL_190;
}
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)
{
string text10 = this.<Message>k__BackingField;
string text11 = string.Format("Status Message: '{0}'", text10);
this.VerboseLogging(text11);
goto IL_190;
}
IL_1C9:
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;
}
goto IL_238;
IL_190:
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
int hashCode = this.baseRequest.CurrentUri.GetHashCode();
string text12 = string.Format("{0} - Skipping Status Message reading!", hashCode);
string empty = string.Empty;
this.<Message>k__BackingField = empty;
goto IL_1C9;
}
goto IL_27B;
}
IL_238:
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.<DisableRetry>k__BackingField && !httprequest.<DisableRetry>k__BackingField)
{
goto Block_12;
}
}
return this.ReadPayload(forceReadRawContentLength);
Block_12:
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
Uri uri;
int hashCode2 = uri.GetHashCode();
string text13 = string.Format("{0} - Failed to read Status Line! Retry is enabled, returning with false.", hashCode2);
IL_27B:
throw new NullReferenceException();
}
// Token: 0x06009835 RID: 38965 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009835")]
[Address(RVA = "0x229D770", Offset = "0x229C770", VA = "0x18229D770")]
protected bool ReadPayload(int forceReadRawContentLength)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009836 RID: 38966 RVA: 0x001F01B0 File Offset: 0x001EE3B0
[Token(Token = "0x6009836")]
[Address(RVA = "0x229D620", Offset = "0x229C620", VA = "0x18229D620")]
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: 0x06009837 RID: 38967 RVA: 0x001F0210 File Offset: 0x001EE410
[Token(Token = "0x6009837")]
[Address(RVA = "0x229B240", Offset = "0x229A240", VA = "0x18229B240")]
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);
throw new NullReferenceException();
}
list.Add(value);
}
// Token: 0x06009838 RID: 38968 RVA: 0x001F0264 File Offset: 0x001EE464
[Token(Token = "0x6009838")]
[Address(RVA = "0x229C4D0", Offset = "0x229B4D0", VA = "0x18229C4D0")]
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: 0x06009839 RID: 38969 RVA: 0x001F0298 File Offset: 0x001EE498
[Token(Token = "0x6009839")]
[Address(RVA = "0x229C420", Offset = "0x229B420", VA = "0x18229C420")]
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: 0x0600983A RID: 38970 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600983A")]
[Address(RVA = "0x229CA00", Offset = "0x229BA00", VA = "0x18229CA00")]
public bool HasHeaderWithValue(string headerName, string value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600983B RID: 38971 RVA: 0x001F02D0 File Offset: 0x001EE4D0
[Token(Token = "0x600983B")]
[Address(RVA = "0x229CAB0", Offset = "0x229BAB0", VA = "0x18229CAB0")]
public bool HasHeader(string headerName)
{
return this.GetHeaderValues(headerName) != 0;
}
// Token: 0x0600983C RID: 38972 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600983C")]
[Address(RVA = "0x229C570", Offset = "0x229B570", VA = "0x18229C570")]
public HTTPRange GetRange()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600983D RID: 38973 RVA: 0x001F02EC File Offset: 0x001EE4EC
[Token(Token = "0x600983D")]
[Address(RVA = "0x229DEC0", Offset = "0x229CEC0", VA = "0x18229DEC0")]
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: 0x0600983E RID: 38974 RVA: 0x001F0360 File Offset: 0x001EE560
[Token(Token = "0x600983E")]
[Address(RVA = "0x229E190", Offset = "0x229D190", VA = "0x18229E190")]
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: 0x0600983F RID: 38975 RVA: 0x001F03DC File Offset: 0x001EE5DC
[Token(Token = "0x600983F")]
[Address(RVA = "0x229CBB0", Offset = "0x229BBB0", VA = "0x18229CBB0")]
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: 0x06009840 RID: 38976 RVA: 0x001F0440 File Offset: 0x001EE640
[Token(Token = "0x6009840")]
[Address(RVA = "0x229CE20", Offset = "0x229BE20", VA = "0x18229CE20")]
protected int ReadChunkLength(Stream stream)
{
/*
An exception occurred when decompiling this method (06009840)
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 1663
*/;
}
// Token: 0x06009841 RID: 38977 RVA: 0x001F049C File Offset: 0x001EE69C
[Token(Token = "0x6009841")]
[Address(RVA = "0x229CF40", Offset = "0x229BF40", VA = "0x18229CF40")]
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: 0x06009842 RID: 38978 RVA: 0x001F074C File Offset: 0x001EE94C
[Token(Token = "0x6009842")]
[Address(RVA = "0x229D930", Offset = "0x229C930", VA = "0x18229D930")]
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: 0x06009843 RID: 38979 RVA: 0x001F0918 File Offset: 0x001EEB18
[Token(Token = "0x6009843")]
[Address(RVA = "0x229E470", Offset = "0x229D470", VA = "0x18229E470")]
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: 0x06009844 RID: 38980 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009844")]
[Address(RVA = "0x229B720", Offset = "0x229A720", VA = "0x18229B720")]
protected byte[] DecodeStream(BufferPoolMemoryStream streamToDecode)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009845 RID: 38981 RVA: 0x001F0BAC File Offset: 0x001EEDAC
[Token(Token = "0x6009845")]
[Address(RVA = "0x229B6B0", Offset = "0x229A6B0", VA = "0x18229B6B0")]
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: 0x06009846 RID: 38982 RVA: 0x001F0C04 File Offset: 0x001EEE04
[Token(Token = "0x6009846")]
[Address(RVA = "0x229B9F0", Offset = "0x229A9F0", VA = "0x18229B9F0")]
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: 0x06009847 RID: 38983 RVA: 0x001F0C6C File Offset: 0x001EEE6C
[Token(Token = "0x6009847")]
[Address(RVA = "0x229B580", Offset = "0x229A580", VA = "0x18229B580")]
protected void BeginReceiveStreamFragments()
{
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.disableCache && httprequest.useStreaming && !this.<IsFromCache>k__BackingField)
{
Uri currentUri = httprequest.CurrentUri;
HTTPMethods <MethodType>k__BackingField = this.baseRequest.<MethodType>k__BackingField;
if (HTTPCacheService.IsCacheble(currentUri, <MethodType>k__BackingField, this))
{
Stream stream = HTTPCacheService.PrepareStreamed(this.baseRequest.CurrentUri, this);
this.cacheStream = stream;
}
}
this.allFragmentSize = (int)((ulong)0L);
}
// Token: 0x06009848 RID: 38984 RVA: 0x001F0CE4 File Offset: 0x001EEEE4
[Token(Token = "0x6009848")]
[Address(RVA = "0x229BDA0", Offset = "0x229ADA0", VA = "0x18229BDA0")]
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: 0x06009849 RID: 38985 RVA: 0x001F0E0C File Offset: 0x001EF00C
[Token(Token = "0x6009849")]
[Address(RVA = "0x229C130", Offset = "0x229B130", VA = "0x18229C130")]
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;
Uri currentUri = httprequest.CurrentUri;
int num2 = this.allFragmentSize;
HTTPCacheService.SetBodyLength(currentUri, num2);
}
AutoResetEvent autoResetEvent = this.fragmentWaitEvent;
this.fragmentWaitEvent = num;
if (autoResetEvent != 0)
{
}
}
// Token: 0x0600984A RID: 38986 RVA: 0x001F0E94 File Offset: 0x001EF094
[Token(Token = "0x600984A")]
[Address(RVA = "0x229B360", Offset = "0x229A360", VA = "0x18229B360")]
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: 0x0600984B RID: 38987 RVA: 0x001F0F58 File Offset: 0x001EF158
[Token(Token = "0x600984B")]
[Address(RVA = "0x229F340", Offset = "0x229E340", VA = "0x18229F340")]
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: 0x0600984C RID: 38988 RVA: 0x001F0FB8 File Offset: 0x001EF1B8
[Token(Token = "0x600984C")]
[Address(RVA = "0x229C270", Offset = "0x229B270", VA = "0x18229C270")]
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: 0x0600984D RID: 38989 RVA: 0x001F1058 File Offset: 0x001EF258
[Token(Token = "0x600984D")]
[Address(RVA = "0x229C7B0", Offset = "0x229B7B0", VA = "0x18229C7B0")]
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: 0x0600984E RID: 38990 RVA: 0x001F1114 File Offset: 0x001EF314
[Token(Token = "0x600984E")]
[Address(RVA = "0x229CAD0", Offset = "0x229BAD0", VA = "0x18229CAD0")]
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: 0x0600984F RID: 38991 RVA: 0x001F1168 File Offset: 0x001EF368
[Token(Token = "0x600984F")]
[Address(RVA = "0x229BFE0", Offset = "0x229AFE0", VA = "0x18229BFE0")]
internal void FinishStreaming()
{
if (HTTPManager.Logger == 0)
{
this.VerboseLogging("FinishStreaming");
}
this.<IsStreamingFinished>k__BackingField = true;
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: 0x06009850 RID: 38992 RVA: 0x001F11D4 File Offset: 0x001EF3D4
[Token(Token = "0x6009850")]
[Address(RVA = "0x229F210", Offset = "0x229E210", VA = "0x18229F210")]
private void VerboseLogging(string str)
{
if (HTTPManager.Logger == 0)
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
int hashCode = this.baseRequest.CurrentUri.GetHashCode();
}
}
// Token: 0x06009851 RID: 38993 RVA: 0x001F120C File Offset: 0x001EF40C
[Token(Token = "0x6009851")]
[Address(RVA = "0x229BCC0", Offset = "0x229ACC0", VA = "0x18229BCC0", 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: 0x040066C7 RID: 26311
[Token(Token = "0x40066C7")]
internal const byte CR = 13;
// Token: 0x040066C8 RID: 26312
[Token(Token = "0x40066C8")]
internal const byte LF = 10;
// Token: 0x040066C9 RID: 26313
[Token(Token = "0x40066C9")]
public const int MinBufferSize = 4096;
// Token: 0x040066D7 RID: 26327
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40066D7")]
protected string dataAsText;
// Token: 0x040066D8 RID: 26328
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40066D8")]
protected Texture2D texture;
// Token: 0x040066DA RID: 26330
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40066DA")]
internal HTTPRequest baseRequest;
// Token: 0x040066DB RID: 26331
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40066DB")]
protected Stream Stream;
// Token: 0x040066DC RID: 26332
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40066DC")]
protected List<byte[]> streamedFragments;
// Token: 0x040066DD RID: 26333
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40066DD")]
protected object SyncRoot;
// Token: 0x040066DE RID: 26334
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x40066DE")]
protected byte[] fragmentBuffer;
// Token: 0x040066DF RID: 26335
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x40066DF")]
protected int fragmentBufferDataLength;
// Token: 0x040066E0 RID: 26336
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40066E0")]
protected Stream cacheStream;
// Token: 0x040066E1 RID: 26337
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40066E1")]
protected int allFragmentSize;
// Token: 0x040066E2 RID: 26338
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x40066E2")]
private BufferPoolMemoryStream decompressorInputStream;
// Token: 0x040066E3 RID: 26339
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x40066E3")]
private BufferPoolMemoryStream decompressorOutputStream;
// Token: 0x040066E4 RID: 26340
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x40066E4")]
private GZipStream decompressorGZipStream;
// Token: 0x040066E5 RID: 26341
[Token(Token = "0x40066E5")]
private const int MinLengthToDecompress = 256;
// Token: 0x040066E6 RID: 26342
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x40066E6")]
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: 0x02001987 RID: 6535
[Token(Token = "0x2001987")]
[ExecuteInEditMode]
public sealed class HTTPUpdateDelegator : MonoBehaviour
{
// Token: 0x17001841 RID: 6209
// (get) Token: 0x06009852 RID: 38994 RVA: 0x001F1254 File Offset: 0x001EF454
// (set) Token: 0x06009853 RID: 38995 RVA: 0x001F1268 File Offset: 0x001EF468
[Token(Token = "0x17001841")]
public static HTTPUpdateDelegator Instance
{
[Token(Token = "0x6009852")]
[Address(RVA = "0x22A0580", Offset = "0x229F580", VA = "0x1822A0580")]
get;
[Token(Token = "0x6009853")]
[Address(RVA = "0x22A07C0", Offset = "0x229F7C0", VA = "0x1822A07C0")]
private set;
}
// Token: 0x17001842 RID: 6210
// (get) Token: 0x06009854 RID: 38996 RVA: 0x001F127C File Offset: 0x001EF47C
// (set) Token: 0x06009855 RID: 38997 RVA: 0x001F1290 File Offset: 0x001EF490
[Token(Token = "0x17001842")]
public static bool IsCreated
{
[Token(Token = "0x6009854")]
[Address(RVA = "0x22A05E0", Offset = "0x229F5E0", VA = "0x1822A05E0")]
get;
[Token(Token = "0x6009855")]
[Address(RVA = "0x22A0880", Offset = "0x229F880", VA = "0x1822A0880")]
private set;
}
// Token: 0x17001843 RID: 6211
// (get) Token: 0x06009856 RID: 38998 RVA: 0x001F12A4 File Offset: 0x001EF4A4
// (set) Token: 0x06009857 RID: 38999 RVA: 0x001F12B8 File Offset: 0x001EF4B8
[Token(Token = "0x17001843")]
public static bool IsThreaded
{
[Token(Token = "0x6009856")]
[Address(RVA = "0x22A06A0", Offset = "0x229F6A0", VA = "0x1822A06A0")]
get;
[Token(Token = "0x6009857")]
[Address(RVA = "0x22A0940", Offset = "0x229F940", VA = "0x1822A0940")]
set;
}
// Token: 0x17001844 RID: 6212
// (get) Token: 0x06009858 RID: 39000 RVA: 0x001F12CC File Offset: 0x001EF4CC
// (set) Token: 0x06009859 RID: 39001 RVA: 0x001F12E0 File Offset: 0x001EF4E0
[Token(Token = "0x17001844")]
public static bool IsThreadRunning
{
[Token(Token = "0x6009858")]
[Address(RVA = "0x22A0640", Offset = "0x229F640", VA = "0x1822A0640")]
get;
[Token(Token = "0x6009859")]
[Address(RVA = "0x22A08E0", Offset = "0x229F8E0", VA = "0x1822A08E0")]
private set;
}
// Token: 0x17001845 RID: 6213
// (get) Token: 0x0600985A RID: 39002 RVA: 0x001F12F4 File Offset: 0x001EF4F4
// (set) Token: 0x0600985B RID: 39003 RVA: 0x001F1308 File Offset: 0x001EF508
[Token(Token = "0x17001845")]
public static int ThreadFrequencyInMS
{
[Token(Token = "0x600985A")]
[Address(RVA = "0x22A0700", Offset = "0x229F700", VA = "0x1822A0700")]
get;
[Token(Token = "0x600985B")]
[Address(RVA = "0x22A09A0", Offset = "0x229F9A0", VA = "0x1822A09A0")]
set;
}
// Token: 0x0600985D RID: 39005 RVA: 0x001F132C File Offset: 0x001EF52C
[Token(Token = "0x600985D")]
[Address(RVA = "0x229F690", Offset = "0x229E690", VA = "0x18229F690")]
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: 0x0600985E RID: 39006 RVA: 0x001F13B8 File Offset: 0x001EF5B8
[Token(Token = "0x600985E")]
[Address(RVA = "0x229FEC0", Offset = "0x229EEC0", VA = "0x18229FEC0")]
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: 0x0600985F RID: 39007 RVA: 0x001F1420 File Offset: 0x001EF620
[Token(Token = "0x600985F")]
[Address(RVA = "0x22A00C0", Offset = "0x229F0C0", VA = "0x1822A00C0")]
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: 0x06009860 RID: 39008 RVA: 0x001F1450 File Offset: 0x001EF650
[Token(Token = "0x6009860")]
[Address(RVA = "0x22A0340", Offset = "0x229F340", VA = "0x1822A0340")]
private void Update()
{
bool flag;
bool flag2;
if (!flag || !flag2)
{
this.Setup();
HTTPManager.OnUpdate();
}
}
// Token: 0x06009861 RID: 39009 RVA: 0x001F1478 File Offset: 0x001EF678
[Token(Token = "0x6009861")]
[Address(RVA = "0x229FE30", Offset = "0x229EE30", VA = "0x18229FE30")]
private void OnDisable()
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
this.OnApplicationQuit();
}
// Token: 0x06009862 RID: 39010 RVA: 0x001F149C File Offset: 0x001EF69C
[Token(Token = "0x6009862")]
[Address(RVA = "0x229FA30", Offset = "0x229EA30", VA = "0x18229FA30")]
private void OnApplicationPause(bool isPaused)
{
HTTPUpdateDelegator.OnApplicationForegroundStateChanged(isPaused);
}
// Token: 0x06009863 RID: 39011 RVA: 0x001F14BC File Offset: 0x001EF6BC
[Token(Token = "0x6009863")]
[Address(RVA = "0x229FAE0", Offset = "0x229EAE0", VA = "0x18229FAE0")]
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: 0x06009864 RID: 39012 RVA: 0x001F1518 File Offset: 0x001EF718
[Token(Token = "0x6009864")]
[Address(RVA = "0x428AD0", Offset = "0x427AD0", VA = "0x180428AD0")]
public HTTPUpdateDelegator()
{
}
// Token: 0x040066EC RID: 26348
[Token(Token = "0x40066EC")]
public static Func<bool> OnBeforeApplicationQuit;
// Token: 0x040066ED RID: 26349
[Token(Token = "0x40066ED")]
public static Action<bool> OnApplicationForegroundStateChanged;
// Token: 0x040066EE RID: 26350
[Token(Token = "0x40066EE")]
private static bool IsSetupCalled;
}
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001985 RID: 6533
[Token(Token = "0x2001985")]
public interface IProtocol
{
// Token: 0x1700182F RID: 6191
// (get) Token: 0x06009812 RID: 38930
[Token(Token = "0x1700182F")]
bool IsClosed
{
[Token(Token = "0x6009812")]
[Address(Slot = "0")]
get;
}
// Token: 0x06009813 RID: 38931
[Token(Token = "0x6009813")]
[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: 0x0200205E RID: 8286
[Token(Token = "0x200205E")]
public class Json
{
// Token: 0x0600CFE6 RID: 53222 RVA: 0x002F44A0 File Offset: 0x002F26A0
[Token(Token = "0x600CFE6")]
[Address(RVA = "0x22A0A00", Offset = "0x229FA00", VA = "0x1822A0A00")]
public static object Decode(string json)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CFE7 RID: 53223 RVA: 0x002F44BC File Offset: 0x002F26BC
[Token(Token = "0x600CFE7")]
[Address(RVA = "0x22A0A50", Offset = "0x229FA50", VA = "0x1822A0A50")]
public static object Decode(string json, ref bool success)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CFE8 RID: 53224 RVA: 0x002F44D8 File Offset: 0x002F26D8
[Token(Token = "0x600CFE8")]
[Address(RVA = "0x22A0B30", Offset = "0x229FB30", VA = "0x1822A0B30")]
public static string Encode(object json)
{
StringBuilder stringBuilder = new StringBuilder(2000);
if (Json.SerializeValue(json, stringBuilder))
{
}
throw new NullReferenceException();
}
// Token: 0x0600CFE9 RID: 53225 RVA: 0x002F4504 File Offset: 0x002F2704
[Token(Token = "0x600CFE9")]
[Address(RVA = "0x22A1260", Offset = "0x22A0260", VA = "0x1822A1260")]
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: 0x0600CFEA RID: 53226 RVA: 0x002F456C File Offset: 0x002F276C
[Token(Token = "0x600CFEA")]
[Address(RVA = "0x22A0FF0", Offset = "0x229FFF0", VA = "0x1822A0FF0")]
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: 0x0600CFEB RID: 53227 RVA: 0x002F45AC File Offset: 0x002F27AC
[Token(Token = "0x600CFEB")]
[Address(RVA = "0x22A16B0", Offset = "0x22A06B0", VA = "0x1822A16B0")]
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: 0x0600CFEC RID: 53228 RVA: 0x002F4680 File Offset: 0x002F2880
[Token(Token = "0x600CFEC")]
[Address(RVA = "0x22A1390", Offset = "0x22A0390", VA = "0x1822A1390")]
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: 0x0600CFED RID: 53229 RVA: 0x002F4718 File Offset: 0x002F2918
[Token(Token = "0x600CFED")]
[Address(RVA = "0x22A10F0", Offset = "0x22A00F0", VA = "0x1822A10F0")]
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: 0x0600CFEE RID: 53230 RVA: 0x002F4754 File Offset: 0x002F2954
[Token(Token = "0x600CFEE")]
[Address(RVA = "0x22A0BC0", Offset = "0x229FBC0", VA = "0x1822A0BC0")]
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: 0x0600CFEF RID: 53231 RVA: 0x002F4784 File Offset: 0x002F2984
[Token(Token = "0x600CFEF")]
[Address(RVA = "0x22A0AA0", Offset = "0x229FAA0", VA = "0x1822A0AA0")]
protected static void EatWhitespace(char[] json, ref int index)
{
int length = json.Length;
int num;
if (num != -1)
{
}
}
// Token: 0x0600CFF0 RID: 53232 RVA: 0x002F47A4 File Offset: 0x002F29A4
[Token(Token = "0x600CFF0")]
[Address(RVA = "0x22A0C50", Offset = "0x229FC50", VA = "0x1822A0C50")]
protected static int LookAhead(char[] json, int index)
{
return Json.NextToken(json, index);
}
// Token: 0x0600CFF1 RID: 53233 RVA: 0x002F47B8 File Offset: 0x002F29B8
[Token(Token = "0x600CFF1")]
[Address(RVA = "0x22A0C70", Offset = "0x229FC70", VA = "0x1822A0C70")]
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: 0x0600CFF2 RID: 53234 RVA: 0x002F47F4 File Offset: 0x002F29F4
[Token(Token = "0x600CFF2")]
[Address(RVA = "0x22A20B0", Offset = "0x22A10B0", VA = "0x1822A20B0")]
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: 0x0600CFF3 RID: 53235 RVA: 0x002F48F0 File Offset: 0x002F2AF0
[Token(Token = "0x600CFF3")]
[Address(RVA = "0x22A1CA0", Offset = "0x22A0CA0", VA = "0x1822A1CA0")]
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: 0x0600CFF4 RID: 53236 RVA: 0x002F4954 File Offset: 0x002F2B54
[Token(Token = "0x600CFF4")]
[Address(RVA = "0x22A1AE0", Offset = "0x22A0AE0", VA = "0x1822A1AE0")]
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: 0x0600CFF5 RID: 53237 RVA: 0x002F49A8 File Offset: 0x002F2BA8
[Token(Token = "0x600CFF5")]
[Address(RVA = "0x22A1E10", Offset = "0x22A0E10", VA = "0x1822A1E10")]
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: 0x0600CFF6 RID: 53238 RVA: 0x002F4AA8 File Offset: 0x002F2CA8
[Token(Token = "0x600CFF6")]
[Address(RVA = "0x22A1BF0", Offset = "0x22A0BF0", VA = "0x1822A1BF0")]
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: 0x0600CFF7 RID: 53239 RVA: 0x002F4AD4 File Offset: 0x002F2CD4
[Token(Token = "0x600CFF7")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public Json()
{
}
// Token: 0x040083D6 RID: 33750
[Token(Token = "0x40083D6")]
private const int TOKEN_NONE = 0;
// Token: 0x040083D7 RID: 33751
[Token(Token = "0x40083D7")]
private const int TOKEN_CURLY_OPEN = 1;
// Token: 0x040083D8 RID: 33752
[Token(Token = "0x40083D8")]
private const int TOKEN_CURLY_CLOSE = 2;
// Token: 0x040083D9 RID: 33753
[Token(Token = "0x40083D9")]
private const int TOKEN_SQUARED_OPEN = 3;
// Token: 0x040083DA RID: 33754
[Token(Token = "0x40083DA")]
private const int TOKEN_SQUARED_CLOSE = 4;
// Token: 0x040083DB RID: 33755
[Token(Token = "0x40083DB")]
private const int TOKEN_COLON = 5;
// Token: 0x040083DC RID: 33756
[Token(Token = "0x40083DC")]
private const int TOKEN_COMMA = 6;
// Token: 0x040083DD RID: 33757
[Token(Token = "0x40083DD")]
private const int TOKEN_STRING = 7;
// Token: 0x040083DE RID: 33758
[Token(Token = "0x40083DE")]
private const int TOKEN_NUMBER = 8;
// Token: 0x040083DF RID: 33759
[Token(Token = "0x40083DF")]
private const int TOKEN_TRUE = 9;
// Token: 0x040083E0 RID: 33760
[Token(Token = "0x40083E0")]
private const int TOKEN_FALSE = 10;
// Token: 0x040083E1 RID: 33761
[Token(Token = "0x40083E1")]
private const int TOKEN_NULL = 11;
// Token: 0x040083E2 RID: 33762
[Token(Token = "0x40083E2")]
private const int BUILDER_CAPACITY = 2000;
}
}
@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200196E RID: 6510
[Token(Token = "0x200196E")]
internal sealed class KeepAliveHeader
{
// Token: 0x170017DC RID: 6108
// (get) Token: 0x060096E6 RID: 38630 RVA: 0x001EB220 File Offset: 0x001E9420
// (set) Token: 0x060096E7 RID: 38631 RVA: 0x001EB234 File Offset: 0x001E9434
[Token(Token = "0x170017DC")]
public TimeSpan TimeOut
{
[Token(Token = "0x60096E6")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x60096E7")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x170017DD RID: 6109
// (get) Token: 0x060096E8 RID: 38632 RVA: 0x001EB248 File Offset: 0x001E9448
// (set) Token: 0x060096E9 RID: 38633 RVA: 0x001EB25C File Offset: 0x001E945C
[Token(Token = "0x170017DD")]
public int MaxRequests
{
[Token(Token = "0x60096E8")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x60096E9")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
private set;
}
// Token: 0x060096EA RID: 38634 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60096EA")]
[Address(RVA = "0x22A2570", Offset = "0x22A1570", VA = "0x1822A2570")]
public void Parse(List<string> headerValues)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060096EB RID: 38635 RVA: 0x001EB270 File Offset: 0x001E9470
[Token(Token = "0x60096EB")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public KeepAliveHeader()
{
}
}
}
@@ -0,0 +1,211 @@
using System;
using System.Text;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Logger
{
// Token: 0x0200205B RID: 8283
[Token(Token = "0x200205B")]
public class DefaultLogger : ILogger
{
// Token: 0x17002104 RID: 8452
// (get) Token: 0x0600CFC2 RID: 53186 RVA: 0x002F4168 File Offset: 0x002F2368
// (set) Token: 0x0600CFC3 RID: 53187 RVA: 0x002F417C File Offset: 0x002F237C
[Token(Token = "0x17002104")]
public Loglevels Level
{
[Token(Token = "0x600CFC2")]
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
get;
[Token(Token = "0x600CFC3")]
[Address(RVA = "0x62ADC0", Offset = "0x629DC0", VA = "0x18062ADC0", Slot = "5")]
set;
}
// Token: 0x17002105 RID: 8453
// (get) Token: 0x0600CFC4 RID: 53188 RVA: 0x002F4190 File Offset: 0x002F2390
// (set) Token: 0x0600CFC5 RID: 53189 RVA: 0x002F41A4 File Offset: 0x002F23A4
[Token(Token = "0x17002105")]
public string FormatVerbose
{
[Token(Token = "0x600CFC4")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "6")]
get;
[Token(Token = "0x600CFC5")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0", Slot = "7")]
set;
}
// Token: 0x17002106 RID: 8454
// (get) Token: 0x0600CFC6 RID: 53190 RVA: 0x002F41B8 File Offset: 0x002F23B8
// (set) Token: 0x0600CFC7 RID: 53191 RVA: 0x002F41CC File Offset: 0x002F23CC
[Token(Token = "0x17002106")]
public string FormatInfo
{
[Token(Token = "0x600CFC6")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "8")]
get;
[Token(Token = "0x600CFC7")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810", Slot = "9")]
set;
}
// Token: 0x17002107 RID: 8455
// (get) Token: 0x0600CFC8 RID: 53192 RVA: 0x002F41E0 File Offset: 0x002F23E0
// (set) Token: 0x0600CFC9 RID: 53193 RVA: 0x002F41F4 File Offset: 0x002F23F4
[Token(Token = "0x17002107")]
public string FormatWarn
{
[Token(Token = "0x600CFC8")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "10")]
get;
[Token(Token = "0x600CFC9")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820", Slot = "11")]
set;
}
// Token: 0x17002108 RID: 8456
// (get) Token: 0x0600CFCA RID: 53194 RVA: 0x002F4208 File Offset: 0x002F2408
// (set) Token: 0x0600CFCB RID: 53195 RVA: 0x002F421C File Offset: 0x002F241C
[Token(Token = "0x17002108")]
public string FormatErr
{
[Token(Token = "0x600CFCA")]
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0", Slot = "12")]
get;
[Token(Token = "0x600CFCB")]
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830", Slot = "13")]
set;
}
// Token: 0x17002109 RID: 8457
// (get) Token: 0x0600CFCC RID: 53196 RVA: 0x002F4230 File Offset: 0x002F2430
// (set) Token: 0x0600CFCD RID: 53197 RVA: 0x002F4244 File Offset: 0x002F2444
[Token(Token = "0x17002109")]
public string FormatEx
{
[Token(Token = "0x600CFCC")]
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0", Slot = "14")]
get;
[Token(Token = "0x600CFCD")]
[Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0", Slot = "15")]
set;
}
// Token: 0x0600CFCE RID: 53198 RVA: 0x002F4258 File Offset: 0x002F2458
[Token(Token = "0x600CFCE")]
[Address(RVA = "0x229AD80", Offset = "0x2299D80", VA = "0x18229AD80")]
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: 0x0600CFCF RID: 53199 RVA: 0x002F42B4 File Offset: 0x002F24B4
[Token(Token = "0x600CFCF")]
[Address(RVA = "0x229ABE0", Offset = "0x2299BE0", VA = "0x18229ABE0", 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: 0x0600CFD0 RID: 53200 RVA: 0x002F42E0 File Offset: 0x002F24E0
[Token(Token = "0x600CFD0")]
[Address(RVA = "0x229AB10", Offset = "0x2299B10", VA = "0x18229AB10", 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: 0x0600CFD1 RID: 53201 RVA: 0x002F430C File Offset: 0x002F250C
[Token(Token = "0x600CFD1")]
[Address(RVA = "0x229ACB0", Offset = "0x2299CB0", VA = "0x18229ACB0", 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: 0x0600CFD2 RID: 53202 RVA: 0x002F4338 File Offset: 0x002F2538
[Token(Token = "0x600CFD2")]
[Address(RVA = "0x229A5E0", Offset = "0x22995E0", VA = "0x18229A5E0", 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: 0x0600CFD3 RID: 53203 RVA: 0x002F4364 File Offset: 0x002F2564
[Token(Token = "0x600CFD3")]
[Address(RVA = "0x229A6B0", Offset = "0x22996B0", VA = "0x18229A6B0", 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: 0x0600CFD4 RID: 53204 RVA: 0x002F4488 File Offset: 0x002F2688
[Token(Token = "0x600CFD4")]
[Address(RVA = "0x229AA90", Offset = "0x2299A90", VA = "0x18229AA90")]
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: 0x0200205D RID: 8285
[Token(Token = "0x200205D")]
public interface ILogger
{
// Token: 0x1700210A RID: 8458
// (get) Token: 0x0600CFD5 RID: 53205
// (set) Token: 0x0600CFD6 RID: 53206
[Token(Token = "0x1700210A")]
Loglevels Level
{
[Token(Token = "0x600CFD5")]
[Address(Slot = "0")]
get;
[Token(Token = "0x600CFD6")]
[Address(Slot = "1")]
set;
}
// Token: 0x1700210B RID: 8459
// (get) Token: 0x0600CFD7 RID: 53207
// (set) Token: 0x0600CFD8 RID: 53208
[Token(Token = "0x1700210B")]
string FormatVerbose
{
[Token(Token = "0x600CFD7")]
[Address(Slot = "2")]
get;
[Token(Token = "0x600CFD8")]
[Address(Slot = "3")]
set;
}
// Token: 0x1700210C RID: 8460
// (get) Token: 0x0600CFD9 RID: 53209
// (set) Token: 0x0600CFDA RID: 53210
[Token(Token = "0x1700210C")]
string FormatInfo
{
[Token(Token = "0x600CFD9")]
[Address(Slot = "4")]
get;
[Token(Token = "0x600CFDA")]
[Address(Slot = "5")]
set;
}
// Token: 0x1700210D RID: 8461
// (get) Token: 0x0600CFDB RID: 53211
// (set) Token: 0x0600CFDC RID: 53212
[Token(Token = "0x1700210D")]
string FormatWarn
{
[Token(Token = "0x600CFDB")]
[Address(Slot = "6")]
get;
[Token(Token = "0x600CFDC")]
[Address(Slot = "7")]
set;
}
// Token: 0x1700210E RID: 8462
// (get) Token: 0x0600CFDD RID: 53213
// (set) Token: 0x0600CFDE RID: 53214
[Token(Token = "0x1700210E")]
string FormatErr
{
[Token(Token = "0x600CFDD")]
[Address(Slot = "8")]
get;
[Token(Token = "0x600CFDE")]
[Address(Slot = "9")]
set;
}
// Token: 0x1700210F RID: 8463
// (get) Token: 0x0600CFDF RID: 53215
// (set) Token: 0x0600CFE0 RID: 53216
[Token(Token = "0x1700210F")]
string FormatEx
{
[Token(Token = "0x600CFDF")]
[Address(Slot = "10")]
get;
[Token(Token = "0x600CFE0")]
[Address(Slot = "11")]
set;
}
// Token: 0x0600CFE1 RID: 53217
[Token(Token = "0x600CFE1")]
[Address(Slot = "12")]
void Verbose(string division, string verb);
// Token: 0x0600CFE2 RID: 53218
[Token(Token = "0x600CFE2")]
[Address(Slot = "13")]
void Information(string division, string info);
// Token: 0x0600CFE3 RID: 53219
[Token(Token = "0x600CFE3")]
[Address(Slot = "14")]
void Warning(string division, string warn);
// Token: 0x0600CFE4 RID: 53220
[Token(Token = "0x600CFE4")]
[Address(Slot = "15")]
void Error(string division, string err);
// Token: 0x0600CFE5 RID: 53221
[Token(Token = "0x600CFE5")]
[Address(Slot = "16")]
void Exception(string division, string msg, Exception ex);
}
}
@@ -0,0 +1,29 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.Logger
{
// Token: 0x0200205C RID: 8284
[Token(Token = "0x200205C")]
public enum Loglevels : byte
{
// Token: 0x040083D0 RID: 33744
[Token(Token = "0x40083D0")]
All,
// Token: 0x040083D1 RID: 33745
[Token(Token = "0x40083D1")]
Information,
// Token: 0x040083D2 RID: 33746
[Token(Token = "0x40083D2")]
Warning,
// Token: 0x040083D3 RID: 33747
[Token(Token = "0x40083D3")]
Error,
// Token: 0x040083D4 RID: 33748
[Token(Token = "0x40083D4")]
Exception,
// Token: 0x040083D5 RID: 33749
[Token(Token = "0x40083D5")]
None
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001981 RID: 6529
[Token(Token = "0x2001981")]
public sealed class OnBeforeHeaderSendDelegate : MulticastDelegate
{
// Token: 0x06009773 RID: 38771 RVA: 0x001EE3D0 File Offset: 0x001EC5D0
[Token(Token = "0x6009773")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnBeforeHeaderSendDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009774 RID: 38772 RVA: 0x001EE3EC File Offset: 0x001EC5EC
[Token(Token = "0x6009774")]
[Address(RVA = "0x6E1530", Offset = "0x6E0530", VA = "0x1806E1530", Slot = "13")]
public void Invoke(HTTPRequest req)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06009775 RID: 38773 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009775")]
[Address(RVA = "0x5FA200", Offset = "0x5F9200", VA = "0x1805FA200", 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: 0x06009776 RID: 38774 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009776")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x0200197F RID: 6527
[Token(Token = "0x200197F")]
public sealed class OnBeforeRedirectionDelegate : MulticastDelegate
{
// Token: 0x0600976B RID: 38763 RVA: 0x001EE180 File Offset: 0x001EC380
[Token(Token = "0x600976B")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnBeforeRedirectionDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600976C RID: 38764 RVA: 0x001EE19C File Offset: 0x001EC39C
[Token(Token = "0x600976C")]
[Address(RVA = "0x1097740", Offset = "0x1096740", VA = "0x181097740", 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: 0x0600976D RID: 38765 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600976D")]
[Address(RVA = "0x6045F0", Offset = "0x6035F0", VA = "0x1806045F0", 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: 0x0600976E RID: 38766 RVA: 0x001EE2A0 File Offset: 0x001EC4A0
[Token(Token = "0x600976E")]
[Address(RVA = "0x56AA00", Offset = "0x569A00", VA = "0x18056AA00", Slot = "15")]
public bool EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200197D RID: 6525
[Token(Token = "0x200197D")]
public sealed class OnDownloadProgressDelegate : MulticastDelegate
{
// Token: 0x06009763 RID: 38755 RVA: 0x001EE078 File Offset: 0x001EC278
[Token(Token = "0x6009763")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnDownloadProgressDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009764 RID: 38756 RVA: 0x001EE094 File Offset: 0x001EC294
[Token(Token = "0x6009764")]
[Address(RVA = "0x22A27D0", Offset = "0x22A17D0", VA = "0x1822A27D0", 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: 0x06009765 RID: 38757 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009765")]
[Address(RVA = "0x22A2730", Offset = "0x22A1730", VA = "0x1822A2730", 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: 0x06009766 RID: 38758 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009766")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x02001980 RID: 6528
[Token(Token = "0x2001980")]
public sealed class OnHeaderEnumerationDelegate : MulticastDelegate
{
// Token: 0x0600976F RID: 38767 RVA: 0x001EE2B4 File Offset: 0x001EC4B4
[Token(Token = "0x600976F")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnHeaderEnumerationDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009770 RID: 38768 RVA: 0x001EE2D0 File Offset: 0x001EC4D0
[Token(Token = "0x6009770")]
[Address(RVA = "0x52CCA0", Offset = "0x52BCA0", VA = "0x18052CCA0", Slot = "13")]
public void Invoke(string header, List<string> values)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06009771 RID: 38769 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009771")]
[Address(RVA = "0x52CC60", Offset = "0x52BC60", VA = "0x18052CC60", 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: 0x06009772 RID: 38770 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009772")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x0200197C RID: 6524
[Token(Token = "0x200197C")]
public sealed class OnRequestFinishedDelegate : MulticastDelegate
{
// Token: 0x0600975F RID: 38751 RVA: 0x001EDF5C File Offset: 0x001EC15C
[Token(Token = "0x600975F")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnRequestFinishedDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009760 RID: 38752 RVA: 0x001EDF78 File Offset: 0x001EC178
[Token(Token = "0x6009760")]
[Address(RVA = "0x52CCA0", Offset = "0x52BCA0", VA = "0x18052CCA0", Slot = "13")]
public void Invoke(HTTPRequest originalRequest, HTTPResponse response)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06009761 RID: 38753 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009761")]
[Address(RVA = "0x52CC60", Offset = "0x52BC60", VA = "0x18052CC60", 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: 0x06009762 RID: 38754 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009762")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x0200197E RID: 6526
[Token(Token = "0x200197E")]
public sealed class OnUploadProgressDelegate : MulticastDelegate
{
// Token: 0x06009767 RID: 38759 RVA: 0x001EE0FC File Offset: 0x001EC2FC
[Token(Token = "0x6009767")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnUploadProgressDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06009768 RID: 38760 RVA: 0x001EE118 File Offset: 0x001EC318
[Token(Token = "0x6009768")]
[Address(RVA = "0x22A27D0", Offset = "0x22A17D0", VA = "0x1822A27D0", 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: 0x06009769 RID: 38761 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009769")]
[Address(RVA = "0x22A2AD0", Offset = "0x22A1AD0", VA = "0x1822A2AD0", 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: 0x0600976A RID: 38762 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600976A")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", 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: 0x02002058 RID: 8280
[Token(Token = "0x2002058")]
public sealed class DefaultIOService : IIOService
{
// Token: 0x0600CFB5 RID: 53173 RVA: 0x002F4004 File Offset: 0x002F2204
[Token(Token = "0x600CFB5")]
[Address(RVA = "0x2299E80", Offset = "0x2298E80", VA = "0x182299E80", 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: 0x0600CFB6 RID: 53174 RVA: 0x002F4048 File Offset: 0x002F2248
[Token(Token = "0x600CFB6")]
[Address(RVA = "0x229A0A0", Offset = "0x22990A0", VA = "0x18229A0A0", 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: 0x0600CFB7 RID: 53175 RVA: 0x002F4084 File Offset: 0x002F2284
[Token(Token = "0x600CFB7")]
[Address(RVA = "0x229A190", Offset = "0x2299190", VA = "0x18229A190", Slot = "5")]
public bool DirectoryExists(string path)
{
bool flag = Directory.Exists(path);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
}
return flag;
}
// Token: 0x0600CFB8 RID: 53176 RVA: 0x002F40B4 File Offset: 0x002F22B4
[Token(Token = "0x600CFB8")]
[Address(RVA = "0x229A4C0", Offset = "0x22994C0", VA = "0x18229A4C0", 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: 0x0600CFB9 RID: 53177 RVA: 0x002F40EC File Offset: 0x002F22EC
[Token(Token = "0x600CFB9")]
[Address(RVA = "0x229A2B0", Offset = "0x22992B0", VA = "0x18229A2B0", 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: 0x0600CFBA RID: 53178 RVA: 0x002F4124 File Offset: 0x002F2324
[Token(Token = "0x600CFBA")]
[Address(RVA = "0x229A3A0", Offset = "0x22993A0", VA = "0x18229A3A0", Slot = "8")]
public bool FileExists(string path)
{
bool flag = File.Exists(path);
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
}
return flag;
}
// Token: 0x0600CFBB RID: 53179 RVA: 0x002F4154 File Offset: 0x002F2354
[Token(Token = "0x600CFBB")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public DefaultIOService()
{
}
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.FileSystem
{
// Token: 0x02002059 RID: 8281
[Token(Token = "0x2002059")]
public enum FileStreamModes
{
// Token: 0x040083C6 RID: 33734
[Token(Token = "0x40083C6")]
Create,
// Token: 0x040083C7 RID: 33735
[Token(Token = "0x40083C7")]
Open,
// Token: 0x040083C8 RID: 33736
[Token(Token = "0x40083C8")]
Append
}
}
@@ -0,0 +1,41 @@
using System;
using System.IO;
using Cpp2IlInjected;
namespace BestHTTP.PlatformSupport.FileSystem
{
// Token: 0x0200205A RID: 8282
[Token(Token = "0x200205A")]
public interface IIOService
{
// Token: 0x0600CFBC RID: 53180
[Token(Token = "0x600CFBC")]
[Address(Slot = "0")]
void DirectoryCreate(string path);
// Token: 0x0600CFBD RID: 53181
[Token(Token = "0x600CFBD")]
[Address(Slot = "1")]
bool DirectoryExists(string path);
// Token: 0x0600CFBE RID: 53182
[Token(Token = "0x600CFBE")]
[Address(Slot = "2")]
string[] GetFiles(string path);
// Token: 0x0600CFBF RID: 53183
[Token(Token = "0x600CFBF")]
[Address(Slot = "3")]
void FileDelete(string path);
// Token: 0x0600CFC0 RID: 53184
[Token(Token = "0x600CFC0")]
[Address(Slot = "4")]
bool FileExists(string path);
// Token: 0x0600CFC1 RID: 53185
[Token(Token = "0x600CFC1")]
[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: 0x02002054 RID: 8276
[Token(Token = "0x2002054")]
public class TcpClient : IDisposable
{
// Token: 0x0600CF85 RID: 53125 RVA: 0x002F3538 File Offset: 0x002F1738
[Token(Token = "0x600CF85")]
[Address(RVA = "0x22A4B40", Offset = "0x22A3B40", VA = "0x1822A4B40")]
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: 0x0600CF86 RID: 53126 RVA: 0x002F3570 File Offset: 0x002F1770
[Token(Token = "0x600CF86")]
[Address(RVA = "0x22A4F70", Offset = "0x22A3F70", VA = "0x1822A4F70")]
public TcpClient()
{
this.Init(AddressFamily.InterNetwork);
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
}
// Token: 0x0600CF87 RID: 53127 RVA: 0x002F3594 File Offset: 0x002F1794
[Token(Token = "0x600CF87")]
[Address(RVA = "0x22A4EB0", Offset = "0x22A3EB0", VA = "0x1822A4EB0")]
public TcpClient(AddressFamily family)
{
/*
An exception occurred when decompiling this method (0600CF87)
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 1663
*/;
}
// Token: 0x0600CF88 RID: 53128 RVA: 0x002F35CC File Offset: 0x002F17CC
[Token(Token = "0x600CF88")]
[Address(RVA = "0x22A4FF0", Offset = "0x22A3FF0", VA = "0x1822A4FF0")]
public TcpClient(IPEndPoint localEP)
{
string text = localEP.ToString();
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
}
// Token: 0x0600CF89 RID: 53129 RVA: 0x002F35F4 File Offset: 0x002F17F4
[Token(Token = "0x600CF89")]
[Address(RVA = "0x22A5090", Offset = "0x22A4090", VA = "0x1822A5090")]
public TcpClient(string hostname, int port)
{
TimeSpan timeSpan;
this.ConnectTimeout = timeSpan;
this.Connect(hostname, port);
}
// Token: 0x170020F8 RID: 8440
// (get) Token: 0x0600CF8A RID: 53130 RVA: 0x002F3618 File Offset: 0x002F1818
// (set) Token: 0x0600CF8B RID: 53131 RVA: 0x002F362C File Offset: 0x002F182C
[Token(Token = "0x170020F8")]
protected bool Active
{
[Token(Token = "0x600CF8A")]
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570")]
get
{
return this.active;
}
[Token(Token = "0x600CF8B")]
[Address(RVA = "0x611070", Offset = "0x610070", VA = "0x180611070")]
set
{
this.active = value;
}
}
// Token: 0x170020F9 RID: 8441
// (get) Token: 0x0600CF8C RID: 53132 RVA: 0x002F3640 File Offset: 0x002F1840
// (set) Token: 0x0600CF8D RID: 53133 RVA: 0x002F3654 File Offset: 0x002F1854
[Token(Token = "0x170020F9")]
public Socket Client
{
[Token(Token = "0x600CF8C")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get
{
return this.client;
}
[Token(Token = "0x600CF8D")]
[Address(RVA = "0x22A4E30", Offset = "0x22A3E30", VA = "0x1822A4E30")]
set
{
this.client = value;
this.stream = (ulong)0L;
}
}
// Token: 0x170020FA RID: 8442
// (get) Token: 0x0600CF8E RID: 53134 RVA: 0x002F3674 File Offset: 0x002F1874
[Token(Token = "0x170020FA")]
public int Available
{
[Token(Token = "0x600CF8E")]
[Address(RVA = "0x22A5120", Offset = "0x22A4120", VA = "0x1822A5120")]
get
{
return this.client.Available;
}
}
// Token: 0x170020FB RID: 8443
// (get) Token: 0x0600CF8F RID: 53135 RVA: 0x002F3694 File Offset: 0x002F1894
[Token(Token = "0x170020FB")]
public bool Connected
{
[Token(Token = "0x600CF8F")]
[Address(RVA = "0x22A5140", Offset = "0x22A4140", VA = "0x1822A5140")]
get
{
return this.client.is_connected;
}
}
// Token: 0x0600CF90 RID: 53136 RVA: 0x002F36B4 File Offset: 0x002F18B4
[Token(Token = "0x600CF90")]
[Address(RVA = "0x22A4BD0", Offset = "0x22A3BD0", VA = "0x1822A4BD0")]
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: 0x170020FC RID: 8444
// (get) Token: 0x0600CF91 RID: 53137 RVA: 0x002F36F0 File Offset: 0x002F18F0
// (set) Token: 0x0600CF92 RID: 53138 RVA: 0x002F3710 File Offset: 0x002F1910
[Token(Token = "0x170020FC")]
public bool ExclusiveAddressUse
{
[Token(Token = "0x600CF91")]
[Address(RVA = "0x22A5160", Offset = "0x22A4160", VA = "0x1822A5160")]
get
{
return this.client.ExclusiveAddressUse;
}
[Token(Token = "0x600CF92")]
[Address(RVA = "0x22A5500", Offset = "0x22A4500", VA = "0x1822A5500")]
set
{
this.client.ExclusiveAddressUse = value;
}
}
// Token: 0x0600CF93 RID: 53139 RVA: 0x002F3730 File Offset: 0x002F1930
[Token(Token = "0x600CF93")]
[Address(RVA = "0x22A4E30", Offset = "0x22A3E30", VA = "0x1822A4E30")]
internal void SetTcpClient(Socket s)
{
this.client = s;
this.stream = (ulong)0L;
}
// Token: 0x170020FD RID: 8445
// (get) Token: 0x0600CF94 RID: 53140 RVA: 0x002F3750 File Offset: 0x002F1950
// (set) Token: 0x0600CF95 RID: 53141 RVA: 0x002F3790 File Offset: 0x002F1990
[Token(Token = "0x170020FD")]
public LingerOption LingerState
{
[Token(Token = "0x600CF94")]
[Address(RVA = "0x22A5180", Offset = "0x22A4180", VA = "0x1822A5180")]
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 = "0x600CF95")]
[Address(RVA = "0x22A5520", Offset = "0x22A4520", VA = "0x1822A5520")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)128), value);
return;
}
this.linger_state = value;
}
}
// Token: 0x170020FE RID: 8446
// (get) Token: 0x0600CF96 RID: 53142 RVA: 0x002F37D0 File Offset: 0x002F19D0
// (set) Token: 0x0600CF97 RID: 53143 RVA: 0x002F37FC File Offset: 0x002F19FC
[Token(Token = "0x170020FE")]
public bool NoDelay
{
[Token(Token = "0x600CF96")]
[Address(RVA = "0x22A5230", Offset = "0x22A4230", VA = "0x1822A5230")]
get
{
if (this.values == (TcpClient.Properties)2)
{
object socketOption = this.client.GetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.Debug);
}
return this.no_delay;
}
[Token(Token = "0x600CF97")]
[Address(RVA = "0x22A5570", Offset = "0x22A4570", VA = "0x1822A5570")]
set
{
if (this.client.is_connected)
{
return;
}
this.no_delay = value;
}
}
// Token: 0x170020FF RID: 8447
// (get) Token: 0x0600CF98 RID: 53144 RVA: 0x002F3828 File Offset: 0x002F1A28
// (set) Token: 0x0600CF99 RID: 53145 RVA: 0x002F3860 File Offset: 0x002F1A60
[Token(Token = "0x170020FF")]
public int ReceiveBufferSize
{
[Token(Token = "0x600CF98")]
[Address(RVA = "0x22A52C0", Offset = "0x22A42C0", VA = "0x1822A52C0")]
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 = "0x600CF99")]
[Address(RVA = "0x22A55C0", Offset = "0x22A45C0", VA = "0x1822A55C0")]
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: 0x17002100 RID: 8448
// (get) Token: 0x0600CF9A RID: 53146 RVA: 0x002F38A0 File Offset: 0x002F1AA0
// (set) Token: 0x0600CF9B RID: 53147 RVA: 0x002F38D8 File Offset: 0x002F1AD8
[Token(Token = "0x17002100")]
public int ReceiveTimeout
{
[Token(Token = "0x600CF9A")]
[Address(RVA = "0x22A5350", Offset = "0x22A4350", VA = "0x1822A5350")]
get
{
if (this.values == (TcpClient.Properties)8)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4102));
}
return this.recv_timeout;
}
[Token(Token = "0x600CF9B")]
[Address(RVA = "0x22A5610", Offset = "0x22A4610", VA = "0x1822A5610")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4102), value);
return;
}
this.recv_timeout = value;
}
}
// Token: 0x17002101 RID: 8449
// (get) Token: 0x0600CF9C RID: 53148 RVA: 0x002F3918 File Offset: 0x002F1B18
// (set) Token: 0x0600CF9D RID: 53149 RVA: 0x002F3950 File Offset: 0x002F1B50
[Token(Token = "0x17002101")]
public int SendBufferSize
{
[Token(Token = "0x600CF9C")]
[Address(RVA = "0x22A53E0", Offset = "0x22A43E0", VA = "0x1822A53E0")]
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 = "0x600CF9D")]
[Address(RVA = "0x22A5660", Offset = "0x22A4660", VA = "0x1822A5660")]
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: 0x17002102 RID: 8450
// (get) Token: 0x0600CF9E RID: 53150 RVA: 0x002F3990 File Offset: 0x002F1B90
// (set) Token: 0x0600CF9F RID: 53151 RVA: 0x002F39C8 File Offset: 0x002F1BC8
[Token(Token = "0x17002102")]
public int SendTimeout
{
[Token(Token = "0x600CF9E")]
[Address(RVA = "0x22A5470", Offset = "0x22A4470", VA = "0x1822A5470")]
get
{
if (this.values == (TcpClient.Properties)32)
{
object socketOption = this.client.GetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4101));
}
return this.send_timeout;
}
[Token(Token = "0x600CF9F")]
[Address(RVA = "0x22A56B0", Offset = "0x22A46B0", VA = "0x1822A56B0")]
set
{
Socket socket = this.client;
if (socket.is_connected)
{
socket.SetSocketOption((SocketOptionLevel)((uint)65535), (SocketOptionName)((uint)4101), value);
return;
}
this.send_timeout = value;
}
}
// Token: 0x17002103 RID: 8451
// (get) Token: 0x0600CFA0 RID: 53152 RVA: 0x002F3A08 File Offset: 0x002F1C08
// (set) Token: 0x0600CFA1 RID: 53153 RVA: 0x002F3A1C File Offset: 0x002F1C1C
[Token(Token = "0x17002103")]
public TimeSpan ConnectTimeout
{
[Token(Token = "0x600CFA0")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get;
[Token(Token = "0x600CFA1")]
[Address(RVA = "0x55BCE0", Offset = "0x55ACE0", VA = "0x18055BCE0")]
set;
}
// Token: 0x0600CFA2 RID: 53154 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600CFA2")]
[Address(RVA = "0x22A4090", Offset = "0x22A3090", VA = "0x1822A4090")]
public void Close()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600CFA3 RID: 53155 RVA: 0x002F3A30 File Offset: 0x002F1C30
[Token(Token = "0x600CFA3")]
[Address(RVA = "0x22A40D0", Offset = "0x22A30D0", VA = "0x1822A40D0")]
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: 0x0600CFA4 RID: 53156 RVA: 0x002F3B1C File Offset: 0x002F1D1C
[Token(Token = "0x600CFA4")]
[Address(RVA = "0x22A4310", Offset = "0x22A3310", VA = "0x1822A4310")]
public void Connect(IPAddress address, int port)
{
IPEndPoint ipendPoint = new IPEndPoint(address, port);
this.Connect(ipendPoint);
}
// Token: 0x0600CFA5 RID: 53157 RVA: 0x002F3B38 File Offset: 0x002F1D38
[Token(Token = "0x600CFA5")]
[Address(RVA = "0x22A4C70", Offset = "0x22A3C70", VA = "0x1822A4C70")]
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: 0x0600CFA6 RID: 53158 RVA: 0x002F3C88 File Offset: 0x002F1E88
[Token(Token = "0x600CFA6")]
[Address(RVA = "0x22A4390", Offset = "0x22A3390", VA = "0x1822A4390")]
public void Connect(string hostname, int port)
{
/*
An exception occurred when decompiling this method (0600CFA6)
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 1663
*/;
}
// Token: 0x0600CFA7 RID: 53159 RVA: 0x002F3D48 File Offset: 0x002F1F48
[Token(Token = "0x600CFA7")]
[Address(RVA = "0x22A4630", Offset = "0x22A3630", VA = "0x1822A4630")]
public void Connect(IPAddress[] ipAddresses, int port)
{
/*
An exception occurred when decompiling this method (0600CFA7)
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 1663
*/;
}
// Token: 0x0600CFA8 RID: 53160 RVA: 0x002F3E38 File Offset: 0x002F2038
[Token(Token = "0x600CFA8")]
[Address(RVA = "0x22A49D0", Offset = "0x22A39D0", VA = "0x1822A49D0")]
public void EndConnect(IAsyncResult asyncResult)
{
this.client.EndConnect(asyncResult);
}
// Token: 0x0600CFA9 RID: 53161 RVA: 0x002F3E58 File Offset: 0x002F2058
[Token(Token = "0x600CFA9")]
[Address(RVA = "0x22A3FA0", Offset = "0x22A2FA0", VA = "0x1822A3FA0")]
public IAsyncResult BeginConnect(IPAddress address, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CFAA RID: 53162 RVA: 0x002F3E74 File Offset: 0x002F2074
[Token(Token = "0x600CFAA")]
[Address(RVA = "0x22A3F70", Offset = "0x22A2F70", VA = "0x1822A3F70")]
public IAsyncResult BeginConnect(IPAddress[] addresses, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CFAB RID: 53163 RVA: 0x002F3E90 File Offset: 0x002F2090
[Token(Token = "0x600CFAB")]
[Address(RVA = "0x22A3FD0", Offset = "0x22A2FD0", VA = "0x1822A3FD0")]
public IAsyncResult BeginConnect(string host, int port, AsyncCallback requestCallback, object state)
{
Socket socket = this.client;
IAsyncResult asyncResult;
return asyncResult;
}
// Token: 0x0600CFAC RID: 53164 RVA: 0x002F3EAC File Offset: 0x002F20AC
[Token(Token = "0x600CFAC")]
[Address(RVA = "0x22A4E40", Offset = "0x22A3E40", VA = "0x1822A4E40", Slot = "4")]
void IDisposable.Dispose()
{
this.System.IDisposable.Dispose();
GC.SuppressFinalize(this);
}
// Token: 0x0600CFAD RID: 53165 RVA: 0x002F3EC8 File Offset: 0x002F20C8
[Token(Token = "0x600CFAD")]
[Address(RVA = "0x22A4970", Offset = "0x22A3970", VA = "0x1822A4970", 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: 0x0600CFAE RID: 53166 RVA: 0x002F3F28 File Offset: 0x002F2128
[Token(Token = "0x600CFAE")]
[Address(RVA = "0x22A49F0", Offset = "0x22A39F0", VA = "0x1822A49F0", Slot = "1")]
protected override void Finalize()
{
int num;
do
{
num = 0;
this.System.IDisposable.Dispose();
base..ctor();
}
while (num != 0);
}
// Token: 0x0600CFAF RID: 53167 RVA: 0x002F3F48 File Offset: 0x002F2148
[Token(Token = "0x600CFAF")]
[Address(RVA = "0x22A4A70", Offset = "0x22A3A70", VA = "0x1822A4A70")]
public Stream GetStream()
{
/*
An exception occurred when decompiling this method (0600CFAF)
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 1663
*/;
}
// Token: 0x0600CFB0 RID: 53168 RVA: 0x002F3F80 File Offset: 0x002F2180
[Token(Token = "0x600CFB0")]
[Address(RVA = "0x22A4000", Offset = "0x22A3000", VA = "0x1822A4000")]
private void CheckDisposed()
{
}
// Token: 0x040083B0 RID: 33712
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40083B0")]
private NetworkStream stream;
// Token: 0x040083B1 RID: 33713
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40083B1")]
private bool active;
// Token: 0x040083B2 RID: 33714
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40083B2")]
private Socket client;
// Token: 0x040083B3 RID: 33715
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40083B3")]
private bool disposed;
// Token: 0x040083B4 RID: 33716
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40083B4")]
private TcpClient.Properties values;
// Token: 0x040083B5 RID: 33717
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40083B5")]
private int recv_timeout;
// Token: 0x040083B6 RID: 33718
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40083B6")]
private int send_timeout;
// Token: 0x040083B7 RID: 33719
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40083B7")]
private int recv_buffer_size;
// Token: 0x040083B8 RID: 33720
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40083B8")]
private int send_buffer_size;
// Token: 0x040083B9 RID: 33721
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40083B9")]
private LingerOption linger_state;
// Token: 0x040083BA RID: 33722
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40083BA")]
private bool no_delay;
// Token: 0x02002055 RID: 8277
[Token(Token = "0x2002055")]
private enum Properties : uint
{
// Token: 0x040083BD RID: 33725
[Token(Token = "0x40083BD")]
LingerState = 1U,
// Token: 0x040083BE RID: 33726
[Token(Token = "0x40083BE")]
NoDelay,
// Token: 0x040083BF RID: 33727
[Token(Token = "0x40083BF")]
ReceiveBufferSize = 4U,
// Token: 0x040083C0 RID: 33728
[Token(Token = "0x40083C0")]
ReceiveTimeout = 8U,
// Token: 0x040083C1 RID: 33729
[Token(Token = "0x40083C1")]
SendBufferSize = 16U,
// Token: 0x040083C2 RID: 33730
[Token(Token = "0x40083C2")]
SendTimeout = 32U
}
}
}
+59
View File
@@ -0,0 +1,59 @@
using System;
using System.IO;
using BestHTTP.Authentication;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001978 RID: 6520
[Token(Token = "0x2001978")]
public abstract class Proxy
{
// Token: 0x170017F3 RID: 6131
// (get) Token: 0x0600973F RID: 38719 RVA: 0x001ED610 File Offset: 0x001EB810
// (set) Token: 0x06009740 RID: 38720 RVA: 0x001ED624 File Offset: 0x001EB824
[Token(Token = "0x170017F3")]
public Uri Address
{
[Token(Token = "0x600973F")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x6009740")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
set;
}
// Token: 0x170017F4 RID: 6132
// (get) Token: 0x06009741 RID: 38721 RVA: 0x001ED638 File Offset: 0x001EB838
// (set) Token: 0x06009742 RID: 38722 RVA: 0x001ED64C File Offset: 0x001EB84C
[Token(Token = "0x170017F4")]
public Credentials Credentials
{
[Token(Token = "0x6009741")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x6009742")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set;
}
// Token: 0x06009743 RID: 38723 RVA: 0x001ED660 File Offset: 0x001EB860
[Token(Token = "0x6009743")]
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
internal Proxy(Uri address, Credentials credentials)
{
this.Address = address;
this.Credentials = credentials;
}
// Token: 0x06009744 RID: 38724
[Token(Token = "0x6009744")]
[Address(Slot = "4")]
internal abstract void Connect(Stream stream, HTTPRequest request);
// Token: 0x06009745 RID: 38725
[Token(Token = "0x6009745")]
[Address(Slot = "5")]
internal abstract string GetRequestPath(Uri uri);
}
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200196F RID: 6511
[Token(Token = "0x200196F")]
internal enum RetryCauses
{
// Token: 0x04006636 RID: 26166
[Token(Token = "0x4006636")]
None,
// Token: 0x04006637 RID: 26167
[Token(Token = "0x4006637")]
Reconnect,
// Token: 0x04006638 RID: 26168
[Token(Token = "0x4006638")]
Authenticate,
// Token: 0x04006639 RID: 26169
[Token(Token = "0x4006639")]
ProxyAuthenticate
}
}
@@ -0,0 +1,20 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200198B RID: 6539
[Token(Token = "0x200198B")]
internal enum SOCKSAddressTypes
{
// Token: 0x04006702 RID: 26370
[Token(Token = "0x4006702")]
IPV4,
// Token: 0x04006703 RID: 26371
[Token(Token = "0x4006703")]
DomainName = 3,
// Token: 0x04006704 RID: 26372
[Token(Token = "0x4006704")]
IPv6
}
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001989 RID: 6537
[Token(Token = "0x2001989")]
internal enum SOCKSMethods : byte
{
// Token: 0x040066F3 RID: 26355
[Token(Token = "0x40066F3")]
NoAuthenticationRequired,
// Token: 0x040066F4 RID: 26356
[Token(Token = "0x40066F4")]
GSSAPI,
// Token: 0x040066F5 RID: 26357
[Token(Token = "0x40066F5")]
UsernameAndPassword,
// Token: 0x040066F6 RID: 26358
[Token(Token = "0x40066F6")]
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: 0x0200198C RID: 6540
[Token(Token = "0x200198C")]
public sealed class SOCKSProxy : Proxy
{
// Token: 0x06009865 RID: 39013 RVA: 0x001F152C File Offset: 0x001EF72C
[Token(Token = "0x6009865")]
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
public SOCKSProxy(Uri address, Credentials credentials)
{
this.<Address>k__BackingField = address;
this.<Credentials>k__BackingField = credentials;
}
// Token: 0x06009866 RID: 39014 RVA: 0x001F1550 File Offset: 0x001EF750
[Token(Token = "0x6009866")]
[Address(RVA = "0x22A3D80", Offset = "0x22A2D80", VA = "0x1822A3D80", Slot = "5")]
internal override string GetRequestPath(Uri uri)
{
return uri.GetRequestPathAndQueryURL();
}
// Token: 0x06009867 RID: 39015 RVA: 0x001F1564 File Offset: 0x001EF764
[Token(Token = "0x6009867")]
[Address(RVA = "0x22A2C60", Offset = "0x22A1C60", VA = "0x1822A2C60", 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: 0x06009868 RID: 39016 RVA: 0x001F1804 File Offset: 0x001EFA04
[Token(Token = "0x6009868")]
[Address(RVA = "0x22A3E30", Offset = "0x22A2E30", VA = "0x1822A3E30")]
private void WriteString(byte[] buffer, ref int count, string str)
{
Encoding utf = Encoding.UTF8;
count.m_value = utf;
}
// Token: 0x06009869 RID: 39017 RVA: 0x001F1828 File Offset: 0x001EFA28
[Token(Token = "0x6009869")]
[Address(RVA = "0x22A3DE0", Offset = "0x22A2DE0", VA = "0x1822A3DE0")]
private void WriteBytes(byte[] buffer, ref int count, byte[] bytes)
{
int length = bytes.Length;
int length2 = bytes.Length;
}
// Token: 0x0600986A RID: 39018 RVA: 0x001F184C File Offset: 0x001EFA4C
[Token(Token = "0x600986A")]
[Address(RVA = "0x22A2B70", Offset = "0x22A1B70", VA = "0x1822A2B70")]
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: 0x0200198A RID: 6538
[Token(Token = "0x200198A")]
internal enum SOCKSReplies : byte
{
// Token: 0x040066F8 RID: 26360
[Token(Token = "0x40066F8")]
Succeeded,
// Token: 0x040066F9 RID: 26361
[Token(Token = "0x40066F9")]
GeneralSOCKSServerFailure,
// Token: 0x040066FA RID: 26362
[Token(Token = "0x40066FA")]
ConnectionNotAllowedByRuleset,
// Token: 0x040066FB RID: 26363
[Token(Token = "0x40066FB")]
NetworkUnreachable,
// Token: 0x040066FC RID: 26364
[Token(Token = "0x40066FC")]
HostUnreachable,
// Token: 0x040066FD RID: 26365
[Token(Token = "0x40066FD")]
ConnectionRefused,
// Token: 0x040066FE RID: 26366
[Token(Token = "0x40066FE")]
TTLExpired,
// Token: 0x040066FF RID: 26367
[Token(Token = "0x40066FF")]
CommandNotSupported,
// Token: 0x04006700 RID: 26368
[Token(Token = "0x4006700")]
AddressTypeNotSupported
}
}

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