This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,22 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020019EB RID: 6635
[Token(Token = "0x20019EB")]
[StructLayout(3, Size = 4)]
public enum AuthenticationTypes
{
// Token: 0x040075CF RID: 30159
[Token(Token = "0x40075CF")]
Unknown,
// Token: 0x040075D0 RID: 30160
[Token(Token = "0x40075D0")]
Basic,
// Token: 0x040075D1 RID: 30161
[Token(Token = "0x40075D1")]
Digest
}
}
@@ -0,0 +1,76 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020019EC RID: 6636
[Token(Token = "0x20019EC")]
[StructLayout(3)]
public sealed class Credentials
{
// Token: 0x17001CE4 RID: 7396
// (get) Token: 0x0600B2BE RID: 45758 RVA: 0x002A0B24 File Offset: 0x0029ED24
// (set) Token: 0x0600B2BF RID: 45759 RVA: 0x002A0B38 File Offset: 0x0029ED38
[Token(Token = "0x17001CE4")]
public AuthenticationTypes Type
{
[Token(Token = "0x600B2BE")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
get;
[Token(Token = "0x600B2BF")]
[Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")]
private set;
}
// Token: 0x17001CE5 RID: 7397
// (get) Token: 0x0600B2C0 RID: 45760 RVA: 0x002A0B4C File Offset: 0x0029ED4C
// (set) Token: 0x0600B2C1 RID: 45761 RVA: 0x002A0B60 File Offset: 0x0029ED60
[Token(Token = "0x17001CE5")]
public string UserName
{
[Token(Token = "0x600B2C0")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B2C1")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
private set;
}
// Token: 0x17001CE6 RID: 7398
// (get) Token: 0x0600B2C2 RID: 45762 RVA: 0x002A0B74 File Offset: 0x0029ED74
// (set) Token: 0x0600B2C3 RID: 45763 RVA: 0x002A0B88 File Offset: 0x0029ED88
[Token(Token = "0x17001CE6")]
public string Password
{
[Token(Token = "0x600B2C2")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B2C3")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
private set;
}
// Token: 0x0600B2C4 RID: 45764 RVA: 0x002A0B9C File Offset: 0x0029ED9C
[Token(Token = "0x600B2C4")]
[Address(RVA = "0x1A2AFB0", Offset = "0x1A299B0", VA = "0x181A2AFB0")]
public Credentials(string userName, string password)
{
this.UserName = userName;
this.Password = password;
this.Type = (AuthenticationTypes)((ulong)0L);
}
// Token: 0x0600B2C5 RID: 45765 RVA: 0x002A0BC8 File Offset: 0x0029EDC8
[Token(Token = "0x600B2C5")]
[Address(RVA = "0xAB39B0", Offset = "0xAB23B0", VA = "0x180AB39B0")]
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,484 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020019ED RID: 6637
[Token(Token = "0x20019ED")]
[StructLayout(3)]
public sealed class Digest
{
// Token: 0x17001CE7 RID: 7399
// (get) Token: 0x0600B2C6 RID: 45766 RVA: 0x002A0BF8 File Offset: 0x0029EDF8
// (set) Token: 0x0600B2C7 RID: 45767 RVA: 0x002A0C0C File Offset: 0x0029EE0C
[Token(Token = "0x17001CE7")]
public Uri Uri
{
[Token(Token = "0x600B2C6")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B2C7")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
private set;
}
// Token: 0x17001CE8 RID: 7400
// (get) Token: 0x0600B2C8 RID: 45768 RVA: 0x002A0C20 File Offset: 0x0029EE20
// (set) Token: 0x0600B2C9 RID: 45769 RVA: 0x002A0C34 File Offset: 0x0029EE34
[Token(Token = "0x17001CE8")]
public AuthenticationTypes Type
{
[Token(Token = "0x600B2C8")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
get;
[Token(Token = "0x600B2C9")]
[Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")]
private set;
}
// Token: 0x17001CE9 RID: 7401
// (get) Token: 0x0600B2CA RID: 45770 RVA: 0x002A0C48 File Offset: 0x0029EE48
// (set) Token: 0x0600B2CB RID: 45771 RVA: 0x002A0C5C File Offset: 0x0029EE5C
[Token(Token = "0x17001CE9")]
public string Realm
{
[Token(Token = "0x600B2CA")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B2CB")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
private set;
}
// Token: 0x17001CEA RID: 7402
// (get) Token: 0x0600B2CC RID: 45772 RVA: 0x002A0C70 File Offset: 0x0029EE70
// (set) Token: 0x0600B2CD RID: 45773 RVA: 0x002A0C84 File Offset: 0x0029EE84
[Token(Token = "0x17001CEA")]
public bool Stale
{
[Token(Token = "0x600B2CC")]
[Address(RVA = "0x651230", Offset = "0x64FC30", VA = "0x180651230")]
get;
[Token(Token = "0x600B2CD")]
[Address(RVA = "0x6C60C0", Offset = "0x6C4AC0", VA = "0x1806C60C0")]
private set;
}
// Token: 0x17001CEB RID: 7403
// (get) Token: 0x0600B2CE RID: 45774 RVA: 0x002A0C98 File Offset: 0x0029EE98
// (set) Token: 0x0600B2CF RID: 45775 RVA: 0x002A0CAC File Offset: 0x0029EEAC
[Token(Token = "0x17001CEB")]
private string Nonce
{
[Token(Token = "0x600B2CE")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x600B2CF")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
set;
}
// Token: 0x17001CEC RID: 7404
// (get) Token: 0x0600B2D0 RID: 45776 RVA: 0x002A0CC0 File Offset: 0x0029EEC0
// (set) Token: 0x0600B2D1 RID: 45777 RVA: 0x002A0CD4 File Offset: 0x0029EED4
[Token(Token = "0x17001CEC")]
private string Opaque
{
[Token(Token = "0x600B2D0")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x600B2D1")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
set;
}
// Token: 0x17001CED RID: 7405
// (get) Token: 0x0600B2D2 RID: 45778 RVA: 0x002A0CE8 File Offset: 0x0029EEE8
// (set) Token: 0x0600B2D3 RID: 45779 RVA: 0x002A0CFC File Offset: 0x0029EEFC
[Token(Token = "0x17001CED")]
private string Algorithm
{
[Token(Token = "0x600B2D2")]
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")]
get;
[Token(Token = "0x600B2D3")]
[Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460")]
set;
}
// Token: 0x17001CEE RID: 7406
// (get) Token: 0x0600B2D4 RID: 45780 RVA: 0x002A0D10 File Offset: 0x0029EF10
// (set) Token: 0x0600B2D5 RID: 45781 RVA: 0x002A0D24 File Offset: 0x0029EF24
[Token(Token = "0x17001CEE")]
public List<string> ProtectedUris
{
[Token(Token = "0x600B2D4")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get;
[Token(Token = "0x600B2D5")]
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")]
private set;
}
// Token: 0x17001CEF RID: 7407
// (get) Token: 0x0600B2D6 RID: 45782 RVA: 0x002A0D38 File Offset: 0x0029EF38
// (set) Token: 0x0600B2D7 RID: 45783 RVA: 0x002A0D4C File Offset: 0x0029EF4C
[Token(Token = "0x17001CEF")]
private string QualityOfProtections
{
[Token(Token = "0x600B2D6")]
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")]
get;
[Token(Token = "0x600B2D7")]
[Address(RVA = "0x462750", Offset = "0x461150", VA = "0x180462750")]
set;
}
// Token: 0x17001CF0 RID: 7408
// (get) Token: 0x0600B2D8 RID: 45784 RVA: 0x002A0D60 File Offset: 0x0029EF60
// (set) Token: 0x0600B2D9 RID: 45785 RVA: 0x002A0D74 File Offset: 0x0029EF74
[Token(Token = "0x17001CF0")]
private int NonceCount
{
[Token(Token = "0x600B2D8")]
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170")]
get;
[Token(Token = "0x600B2D9")]
[Address(RVA = "0x4F8620", Offset = "0x4F7020", VA = "0x1804F8620")]
set;
}
// Token: 0x17001CF1 RID: 7409
// (get) Token: 0x0600B2DA RID: 45786 RVA: 0x002A0D88 File Offset: 0x0029EF88
// (set) Token: 0x0600B2DB RID: 45787 RVA: 0x002A0D9C File Offset: 0x0029EF9C
[Token(Token = "0x17001CF1")]
private string HA1Sess
{
[Token(Token = "0x600B2DA")]
[Address(RVA = "0x3EDE90", Offset = "0x3EC890", VA = "0x1803EDE90")]
get;
[Token(Token = "0x600B2DB")]
[Address(RVA = "0x3EDEC0", Offset = "0x3EC8C0", VA = "0x1803EDEC0")]
set;
}
// Token: 0x0600B2DC RID: 45788 RVA: 0x002A0DB0 File Offset: 0x0029EFB0
[Token(Token = "0x600B2DC")]
[Address(RVA = "0x1A2CD80", Offset = "0x1A2B780", VA = "0x181A2CD80")]
internal Digest(Uri uri)
{
this.Uri = uri;
this.Algorithm = "md5";
}
// Token: 0x0600B2DD RID: 45789 RVA: 0x002A0DD8 File Offset: 0x0029EFD8
[Token(Token = "0x600B2DD")]
[Address(RVA = "0x1A2C8D0", Offset = "0x1A2B2D0", VA = "0x181A2C8D0")]
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;
List.Enumerator enumerator;
if (enumerator != 0)
{
int stringLength = header.m_stringLength;
int stringLength2;
if (enumerator > (ulong)1863671838L)
{
if (enumerator > (ulong)3885209585L)
{
if (enumerator == (ulong)4143537083L)
{
while (enumerator == 0)
{
}
this.<QualityOfProtections>k__BackingField = enumerator;
}
if (enumerator == (ulong)4178082296L)
{
while (enumerator == 0)
{
}
this.<Nonce>k__BackingField = enumerator;
}
while (enumerator != (ulong)4179908061L)
{
}
while (enumerator == 0)
{
}
this.<Type>k__BackingField = (AuthenticationTypes)((ulong)2L);
}
if (enumerator == (ulong)1914854288L)
{
while (enumerator == 0)
{
}
this.<Realm>k__BackingField = enumerator;
}
while (enumerator != (ulong)3885209585L)
{
}
while (enumerator == 0)
{
}
while (enumerator != 0)
{
}
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 flag;
if (stringLength2 > 474311018)
{
if (stringLength2 == 1749328254)
{
while (stringLength2 == 0)
{
}
this.<Stale>k__BackingField = flag;
}
while (!flag)
{
}
while (!flag)
{
}
this.<Opaque>k__BackingField = flag;
}
if (flag)
{
while (!flag)
{
}
this.<Type>k__BackingField = (AuthenticationTypes)((ulong)1L);
}
while (!flag)
{
}
while (!flag)
{
}
this.<Algorithm>k__BackingField = flag;
}
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B2DE RID: 45790 RVA: 0x002A0F74 File Offset: 0x0029F174
[Token(Token = "0x600B2DE")]
[Address(RVA = "0x1A2B9B0", Offset = "0x1A2A3B0", VA = "0x181A2B9B0")]
public string GenerateResponseHeader(HTTPRequest request, Credentials credentials, bool isProxy = false)
{
string text7;
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_480;
}
int num = this.<NonceCount>k__BackingField;
num++;
this.<NonceCount>k__BackingField = num;
request.Finalize();
string text4 = this.<Algorithm>k__BackingField.TrimAndLower();
if (string.Equals(text4, "md5"))
{
string <Password>k__BackingField2 = credentials.<Password>k__BackingField;
string text5 = this.<Realm>k__BackingField;
string <UserName>k__BackingField2 = credentials.<UserName>k__BackingField;
string text6 = string.Format("{0}:{1}:{2}", <UserName>k__BackingField2, text5, <Password>k__BackingField2).CalculateMD5Hash();
}
if (!string.Equals(text4, "md5-sess"))
{
goto IL_47A;
}
if (string.IsNullOrEmpty(this.<HA1Sess>k__BackingField))
{
break;
}
text7 = this.<HA1Sess>k__BackingField;
string text8 = this.<QualityOfProtections>k__BackingField;
if (text8 != 0)
{
string text9 = text8.TrimAndLower();
}
int num2 = 0;
if (isProxy)
{
string host = request.CurrentUri.Host;
int port = request.CurrentUri.Port;
int num3;
string text10 = host + ":" + num3;
}
int hashCode = request.<MethodType>k__BackingField.GetHashCode();
requestPathAndQueryURL = request.CurrentUri.GetRequestPathAndQueryURL();
if (num2 == 0)
{
goto IL_316;
}
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 text11 = (string.Empty + ":" + requestPathAndQueryURL).CalculateMD5Hash();
object[] array3 = new object[6];
throw new ArrayTypeMismatchException();
Block_10:
string text12 = VariableSizedBufferPool.NoData.CalculateMD5Hash();
string text14;
string text13 = string.Format("{0}:{1}:{2}", text14, requestPathAndQueryURL, text12).CalculateMD5Hash();
object[] array4 = new object[6];
throw new ArrayTypeMismatchException();
IL_316:
HTTPMethods httpmethods;
int hashCode2 = httpmethods.GetHashCode();
Uri uri;
string requestPathAndQueryURL2 = uri.GetRequestPathAndQueryURL();
string text16;
string text15 = (text16 + ":" + requestPathAndQueryURL2).CalculateMD5Hash();
string text17 = this.<Nonce>k__BackingField;
string text18 = string.Format("{0}:{1}:{2}", text7, text17, text15).CalculateMD5Hash();
object[] array5 = new object[6];
if (text16 != 0)
{
}
array5[0] = text16;
string text19 = this.<Realm>k__BackingField;
if (text19 != 0)
{
}
array5[1] = text19;
string text20 = this.<Nonce>k__BackingField;
if (text20 != 0)
{
}
array5[2] = text20;
if (requestPathAndQueryURL != 0)
{
}
array5[3] = requestPathAndQueryURL;
if (text7 != 0)
{
}
array5[4] = text7;
if (text18 != 0)
{
}
array5[5] = text18;
string text21 = string.Format("Digest username=\"{0}\", realm=\"{1}\", nonce=\"{2}\", uri=\"{3}\", cnonce=\"{4}\", response=\"{5}\"", array5);
string text22;
if ("auth-int" != 0)
{
string[] array6 = new string[5];
if (text21 != 0)
{
}
array6[0] = text21;
if (", qop=\"" != 0)
{
}
array6[1] = ", qop=\"";
array6[2] = "auth-int";
if ("\", nc=" != 0)
{
}
array6[3] = "\", nc=";
if ("\", nc=" != 0)
{
}
array6[4] = "\", nc=";
text22 = string.Concat(array6);
}
string text23 = this.<Opaque>k__BackingField;
if (text22 == 0)
{
string text24 = this.<Opaque>k__BackingField;
string text25 = text22 + ", opaque=\"" + text24 + "\"";
}
IL_47A:
return string.Empty;
IL_480:
throw new NullReferenceException();
}
// Token: 0x0600B2DF RID: 45791 RVA: 0x002A1558 File Offset: 0x0029F758
[Token(Token = "0x600B2DF")]
[Address(RVA = "0x1A2C7C0", Offset = "0x1A2B1C0", VA = "0x181A2C7C0")]
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,136 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020019EE RID: 6638
[Token(Token = "0x20019EE")]
[StructLayout(3)]
public static class DigestStore
{
// Token: 0x0600B2E0 RID: 45792 RVA: 0x002A15B0 File Offset: 0x0029F7B0
[Token(Token = "0x600B2E0")]
[Address(RVA = "0x1A2B440", Offset = "0x1A29E40", VA = "0x181A2B440")]
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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2E1 RID: 45793 RVA: 0x002A1650 File Offset: 0x0029F850
[Token(Token = "0x600B2E1")]
[Address(RVA = "0x1A2B1E0", Offset = "0x1A29BE0", VA = "0x181A2B1E0")]
public static Digest GetOrCreate(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
if (!digests.TryGetValue(host, num2))
{
Dictionary<string, Digest> digests2 = DigestStore.Digests;
string host2 = uri.Host;
Digest digest;
digest.<Uri>k__BackingField = uri;
digest.<Algorithm>k__BackingField = "md5";
digests2.Add(host2, digest);
}
Monitor.Exit(locker);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2E2 RID: 45794 RVA: 0x002A16D0 File Offset: 0x0029F8D0
[Token(Token = "0x600B2E2")]
[Address(RVA = "0x1A2B6F0", Offset = "0x1A2A0F0", VA = "0x181A2B6F0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B2E3 RID: 45795 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B2E3")]
[Address(RVA = "0x1A2B000", Offset = "0x1A29A00", VA = "0x181A2B000")]
public static string FindBest(List<string> authHeaders)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B2E4 RID: 45796 RVA: 0x002A1718 File Offset: 0x0029F918
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B2E4")]
[Address(RVA = "0x1A2B850", Offset = "0x1A2A250", VA = "0x181A2B850")]
static DigestStore()
{
string[] array = new string[2];
if ("digest" != 0)
{
}
array[0] = "digest";
if ("basic" != 0)
{
}
array[1] = "basic";
DigestStore.SupportedAlgorithms = array;
}
// Token: 0x040075E0 RID: 30176
[Token(Token = "0x40075E0")]
private static Dictionary<string, Digest> Digests = new Dictionary();
// Token: 0x040075E1 RID: 30177
[Token(Token = "0x40075E1")]
private static object Locker = new object();
// Token: 0x040075E2 RID: 30178
[Token(Token = "0x40075E2")]
private static string[] SupportedAlgorithms;
}
}
@@ -0,0 +1,656 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.Extensions;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E4 RID: 6628
[Token(Token = "0x20019E4")]
[StructLayout(3)]
public class HTTPCacheFileInfo : IComparable<HTTPCacheFileInfo>
{
// Token: 0x17001CD1 RID: 7377
// (get) Token: 0x0600B264 RID: 45668 RVA: 0x0029EF64 File Offset: 0x0029D164
// (set) Token: 0x0600B265 RID: 45669 RVA: 0x0029EF78 File Offset: 0x0029D178
[Token(Token = "0x17001CD1")]
internal Uri Uri
{
[Token(Token = "0x600B264")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B265")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x17001CD2 RID: 7378
// (get) Token: 0x0600B266 RID: 45670 RVA: 0x0029EF8C File Offset: 0x0029D18C
// (set) Token: 0x0600B267 RID: 45671 RVA: 0x0029EFA0 File Offset: 0x0029D1A0
[Token(Token = "0x17001CD2")]
internal DateTime LastAccess
{
[Token(Token = "0x600B266")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B267")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set;
}
// Token: 0x17001CD3 RID: 7379
// (get) Token: 0x0600B268 RID: 45672 RVA: 0x0029EFB4 File Offset: 0x0029D1B4
// (set) Token: 0x0600B269 RID: 45673 RVA: 0x0029EFC8 File Offset: 0x0029D1C8
[Token(Token = "0x17001CD3")]
public int BodyLength
{
[Token(Token = "0x600B268")]
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")]
get;
[Token(Token = "0x600B269")]
[Address(RVA = "0x4E90F0", Offset = "0x4E7AF0", VA = "0x1804E90F0")]
set;
}
// Token: 0x17001CD4 RID: 7380
// (get) Token: 0x0600B26A RID: 45674 RVA: 0x0029EFDC File Offset: 0x0029D1DC
// (set) Token: 0x0600B26B RID: 45675 RVA: 0x0029EFF0 File Offset: 0x0029D1F0
[Token(Token = "0x17001CD4")]
private string ETag
{
[Token(Token = "0x600B26A")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x600B26B")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
set;
}
// Token: 0x17001CD5 RID: 7381
// (get) Token: 0x0600B26C RID: 45676 RVA: 0x0029F004 File Offset: 0x0029D204
// (set) Token: 0x0600B26D RID: 45677 RVA: 0x0029F018 File Offset: 0x0029D218
[Token(Token = "0x17001CD5")]
private string LastModified
{
[Token(Token = "0x600B26C")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x600B26D")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
set;
}
// Token: 0x17001CD6 RID: 7382
// (get) Token: 0x0600B26E RID: 45678 RVA: 0x0029F02C File Offset: 0x0029D22C
// (set) Token: 0x0600B26F RID: 45679 RVA: 0x0029F040 File Offset: 0x0029D240
[Token(Token = "0x17001CD6")]
private DateTime Expires
{
[Token(Token = "0x600B26E")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x600B26F")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
set;
}
// Token: 0x17001CD7 RID: 7383
// (get) Token: 0x0600B270 RID: 45680 RVA: 0x0029F054 File Offset: 0x0029D254
// (set) Token: 0x0600B271 RID: 45681 RVA: 0x0029F068 File Offset: 0x0029D268
[Token(Token = "0x17001CD7")]
private long Age
{
[Token(Token = "0x600B270")]
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")]
get;
[Token(Token = "0x600B271")]
[Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460")]
set;
}
// Token: 0x17001CD8 RID: 7384
// (get) Token: 0x0600B272 RID: 45682 RVA: 0x0029F07C File Offset: 0x0029D27C
// (set) Token: 0x0600B273 RID: 45683 RVA: 0x0029F090 File Offset: 0x0029D290
[Token(Token = "0x17001CD8")]
private long MaxAge
{
[Token(Token = "0x600B272")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get;
[Token(Token = "0x600B273")]
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")]
set;
}
// Token: 0x17001CD9 RID: 7385
// (get) Token: 0x0600B274 RID: 45684 RVA: 0x0029F0A4 File Offset: 0x0029D2A4
// (set) Token: 0x0600B275 RID: 45685 RVA: 0x0029F0B8 File Offset: 0x0029D2B8
[Token(Token = "0x17001CD9")]
private DateTime Date
{
[Token(Token = "0x600B274")]
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")]
get;
[Token(Token = "0x600B275")]
[Address(RVA = "0x462750", Offset = "0x461150", VA = "0x180462750")]
set;
}
// Token: 0x17001CDA RID: 7386
// (get) Token: 0x0600B276 RID: 45686 RVA: 0x0029F0CC File Offset: 0x0029D2CC
// (set) Token: 0x0600B277 RID: 45687 RVA: 0x0029F0E0 File Offset: 0x0029D2E0
[Token(Token = "0x17001CDA")]
private bool MustRevalidate
{
[Token(Token = "0x600B276")]
[Address(RVA = "0x566D70", Offset = "0x565770", VA = "0x180566D70")]
get;
[Token(Token = "0x600B277")]
[Address(RVA = "0x566E50", Offset = "0x565850", VA = "0x180566E50")]
set;
}
// Token: 0x17001CDB RID: 7387
// (get) Token: 0x0600B278 RID: 45688 RVA: 0x0029F0F4 File Offset: 0x0029D2F4
// (set) Token: 0x0600B279 RID: 45689 RVA: 0x0029F108 File Offset: 0x0029D308
[Token(Token = "0x17001CDB")]
private DateTime Received
{
[Token(Token = "0x600B278")]
[Address(RVA = "0x3EDE90", Offset = "0x3EC890", VA = "0x1803EDE90")]
get;
[Token(Token = "0x600B279")]
[Address(RVA = "0x3EDEC0", Offset = "0x3EC8C0", VA = "0x1803EDEC0")]
set;
}
// Token: 0x17001CDC RID: 7388
// (get) Token: 0x0600B27A RID: 45690 RVA: 0x0029F11C File Offset: 0x0029D31C
// (set) Token: 0x0600B27B RID: 45691 RVA: 0x0029F130 File Offset: 0x0029D330
[Token(Token = "0x17001CDC")]
private string ConstructedPath
{
[Token(Token = "0x600B27A")]
[Address(RVA = "0x48F050", Offset = "0x48DA50", VA = "0x18048F050")]
get;
[Token(Token = "0x600B27B")]
[Address(RVA = "0x52F860", Offset = "0x52E260", VA = "0x18052F860")]
set;
}
// Token: 0x17001CDD RID: 7389
// (get) Token: 0x0600B27C RID: 45692 RVA: 0x0029F144 File Offset: 0x0029D344
// (set) Token: 0x0600B27D RID: 45693 RVA: 0x0029F158 File Offset: 0x0029D358
[Token(Token = "0x17001CDD")]
internal ulong MappedNameIDX
{
[Token(Token = "0x600B27C")]
[Address(RVA = "0x4D2570", Offset = "0x4D0F70", VA = "0x1804D2570")]
get;
[Token(Token = "0x600B27D")]
[Address(RVA = "0x7D4760", Offset = "0x7D3160", VA = "0x1807D4760")]
set;
}
// Token: 0x0600B27E RID: 45694 RVA: 0x0029F16C File Offset: 0x0029D36C
[Token(Token = "0x600B27E")]
[Address(RVA = "0x1A2FAD0", Offset = "0x1A2E4D0", VA = "0x181A2FAD0")]
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: 0x0600B27F RID: 45695 RVA: 0x0029F1C0 File Offset: 0x0029D3C0
[Token(Token = "0x600B27F")]
[Address(RVA = "0x1A2FBA0", Offset = "0x1A2E5A0", VA = "0x181A2FBA0")]
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: 0x0600B280 RID: 45696 RVA: 0x0029F200 File Offset: 0x0029D400
[Token(Token = "0x600B280")]
[Address(RVA = "0x1A2F8F0", Offset = "0x1A2E2F0", VA = "0x181A2F8F0")]
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: 0x0600B281 RID: 45697 RVA: 0x0029F2E8 File Offset: 0x0029D4E8
[Token(Token = "0x600B281")]
[Address(RVA = "0x1A2EC80", Offset = "0x1A2D680", VA = "0x181A2EC80")]
internal void SaveTo(BinaryWriter writer)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
int num = this.<BodyLength>k__BackingField;
writer.Write((ushort)num);
ulong num2 = this.<MappedNameIDX>k__BackingField;
writer.Write((long)num2);
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 num3 = this.<Age>k__BackingField;
writer.Write((uint)num3);
long num4 = this.<MaxAge>k__BackingField;
writer.Write((uint)num4);
DateTime dateTime3 = this.<Date>k__BackingField;
writer.Flush();
DateTime dateTime4 = this.<Received>k__BackingField;
}
// Token: 0x0600B282 RID: 45698 RVA: 0x0029F37C File Offset: 0x0029D57C
[Token(Token = "0x600B282")]
[Address(RVA = "0x1A2E0C0", Offset = "0x1A2CAC0", VA = "0x181A2E0C0")]
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 text2;
this.<ConstructedPath>k__BackingField = text2;
}
return text;
}
// Token: 0x0600B283 RID: 45699 RVA: 0x0029F3AC File Offset: 0x0029D5AC
[Token(Token = "0x600B283")]
[Address(RVA = "0x1A2E8F0", Offset = "0x1A2D2F0", VA = "0x181A2E8F0")]
public bool IsExists()
{
if (HTTPCacheService.IsSupported)
{
IIOService ioservice = HTTPManager.IOService;
string path = this.GetPath();
}
throw new NullReferenceException();
}
// Token: 0x0600B284 RID: 45700 RVA: 0x0029F3D8 File Offset: 0x0029D5D8
[Token(Token = "0x600B284")]
[Address(RVA = "0x1A2DD90", Offset = "0x1A2C790", VA = "0x181A2DD90")]
internal void Delete()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
string path = this.GetPath();
IIOService ioservice = HTTPManager.IOService;
int num2 = 0;
num2++;
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;
if (num2 != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B285 RID: 45701 RVA: 0x0029F494 File Offset: 0x0029D694
[Token(Token = "0x600B285")]
[Address(RVA = "0x1A2EBC0", Offset = "0x1A2D5C0", VA = "0x181A2EBC0")]
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: 0x0600B286 RID: 45702 RVA: 0x0029F518 File Offset: 0x0029D718
[Token(Token = "0x600B286")]
[Address(RVA = "0x1A2EE00", Offset = "0x1A2D800", VA = "0x181A2EE00")]
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: 0x0600B287 RID: 45703 RVA: 0x0029F640 File Offset: 0x0029D840
[Token(Token = "0x600B287")]
[Address(RVA = "0x1A2F770", Offset = "0x1A2E170", VA = "0x181A2F770")]
internal bool WillExpireInTheFuture()
{
if (this.IsExists() && !this.<MustRevalidate>k__BackingField)
{
DateTime dateTime = this.<Expires>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
return dateTime > utcNow;
}
}
// Token: 0x0600B288 RID: 45704 RVA: 0x0029F6E8 File Offset: 0x0029D8E8
[Token(Token = "0x600B288")]
[Address(RVA = "0x1A2F070", Offset = "0x1A2DA70", VA = "0x181A2F070")]
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: 0x0600B289 RID: 45705 RVA: 0x0029F744 File Offset: 0x0029D944
[Token(Token = "0x600B289")]
[Address(RVA = "0x1A2DF90", Offset = "0x1A2C990", VA = "0x181A2DF90")]
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: 0x0600B28A RID: 45706 RVA: 0x0029F790 File Offset: 0x0029D990
[Token(Token = "0x600B28A")]
[Address(RVA = "0x1A2E9C0", Offset = "0x1A2D3C0", VA = "0x181A2E9C0")]
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)
{
}
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B28B RID: 45707 RVA: 0x0029F7F0 File Offset: 0x0029D9F0
[Token(Token = "0x600B28B")]
[Address(RVA = "0x1A2F110", Offset = "0x1A2DB10", VA = "0x181A2F110")]
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;
Dictionary.Enumerator enumerator;
int num3;
if (enumerator != 0)
{
if (num < this.<LastAccess>k__BackingField)
{
break;
}
num3 = 0;
}
if (num3 != -1)
{
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
num3++;
}
if (num3 != 0)
{
goto IL_127;
}
if (path != 0)
{
}
if (num3 != -1)
{
}
if (num3 == 0)
{
goto Block_5;
}
}
object[] array2 = new object[2];
throw new ArrayTypeMismatchException();
Block_5:
int length = response.<Data>k__BackingField.Length;
DateTime utcNow = DateTime.UtcNow;
return;
IL_127:
throw new NullReferenceException();
}
// Token: 0x0600B28C RID: 45708 RVA: 0x0029F944 File Offset: 0x0029DB44
[Token(Token = "0x600B28C")]
[Address(RVA = "0x1A2E1E0", Offset = "0x1A2CBE0", VA = "0x181A2E1E0")]
internal Stream GetSaveStream(HTTPResponse response)
{
for (;;)
{
int num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_E7;
}
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;
Dictionary.Enumerator enumerator;
if (enumerator != 0)
{
break;
}
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_120;
}
if (path2 != 0)
{
}
if (num != -1)
{
}
if (num == 0)
{
goto Block_5;
}
}
object[] array2 = new object[2];
throw new ArrayTypeMismatchException();
Block_5:
bool flag;
if (!flag)
{
List<string> list = new List();
}
IIOService ioservice3 = HTTPManager.IOService;
IL_E7:
throw new ArrayTypeMismatchException();
IL_120:
throw new NullReferenceException();
}
// Token: 0x0600B28D RID: 45709 RVA: 0x0029FA7C File Offset: 0x0029DC7C
[Token(Token = "0x600B28D")]
[Address(RVA = "0x1A2DD60", Offset = "0x1A2C760", VA = "0x181A2DD60", Slot = "4")]
public int CompareTo(HTTPCacheFileInfo other)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E5 RID: 6629
[Token(Token = "0x20019E5")]
[StructLayout(3)]
internal sealed class HTTPCacheFileLock
{
// Token: 0x0600B28E RID: 45710 RVA: 0x0029FA98 File Offset: 0x0029DC98
[Token(Token = "0x600B28E")]
[Address(RVA = "0x1F0DC30", Offset = "0x1F0C630", VA = "0x181F0DC30")]
internal static object Acquire(Uri uri)
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
int num2 = 0;
if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2))
{
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
object obj = new object();
fileLocks.Add(uri, obj);
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B28F RID: 45711 RVA: 0x0029FAF0 File Offset: 0x0029DCF0
[Token(Token = "0x600B28F")]
[Address(RVA = "0x1F0DF70", Offset = "0x1F0C970", VA = "0x181F0DF70")]
internal static void Remove(Uri uri)
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
if (HTTPCacheFileLock.FileLocks.ContainsKey(uri))
{
bool flag = HTTPCacheFileLock.FileLocks.Remove(uri);
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B290 RID: 45712 RVA: 0x0029FB3C File Offset: 0x0029DD3C
[Token(Token = "0x600B290")]
[Address(RVA = "0x1F0DE30", Offset = "0x1F0C830", VA = "0x181F0DE30")]
internal static void Clear()
{
int num;
do
{
num = 0;
object syncRoot = HTTPCacheFileLock.SyncRoot;
HTTPCacheFileLock.FileLocks.Clear();
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B291 RID: 45713 RVA: 0x0029FB70 File Offset: 0x0029DD70
[Token(Token = "0x600B291")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HTTPCacheFileLock()
{
}
// Token: 0x040075BB RID: 30139
[Token(Token = "0x40075BB")]
private static Dictionary<Uri, object> FileLocks = new Dictionary();
// Token: 0x040075BC RID: 30140
[Token(Token = "0x40075BC")]
private static object SyncRoot = new object();
}
}
@@ -0,0 +1,49 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E6 RID: 6630
[Token(Token = "0x20019E6")]
[StructLayout(3)]
public sealed class HTTPCacheMaintananceParams
{
// Token: 0x17001CDE RID: 7390
// (get) Token: 0x0600B293 RID: 45715 RVA: 0x0029FBA8 File Offset: 0x0029DDA8
// (set) Token: 0x0600B294 RID: 45716 RVA: 0x0029FBBC File Offset: 0x0029DDBC
[Token(Token = "0x17001CDE")]
public TimeSpan DeleteOlder
{
[Token(Token = "0x600B293")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B294")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
private set;
}
// Token: 0x17001CDF RID: 7391
// (get) Token: 0x0600B295 RID: 45717 RVA: 0x0029FBD0 File Offset: 0x0029DDD0
// (set) Token: 0x0600B296 RID: 45718 RVA: 0x0029FBE4 File Offset: 0x0029DDE4
[Token(Token = "0x17001CDF")]
public ulong MaxCacheSize
{
[Token(Token = "0x600B295")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B296")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
private set;
}
// Token: 0x0600B297 RID: 45719 RVA: 0x0029FBF8 File Offset: 0x0029DDF8
[Token(Token = "0x600B297")]
[Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")]
public HTTPCacheMaintananceParams(TimeSpan deleteOlder, ulong maxCacheSize)
{
this.DeleteOlder = deleteOlder;
this.MaxCacheSize = maxCacheSize;
}
}
}
@@ -0,0 +1,891 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E8 RID: 6632
[Token(Token = "0x20019E8")]
[StructLayout(3)]
public static class HTTPCacheService
{
// Token: 0x17001CE0 RID: 7392
// (get) Token: 0x0600B29B RID: 45723 RVA: 0x0029FC44 File Offset: 0x0029DE44
[Token(Token = "0x17001CE0")]
public static bool IsSupported
{
[Token(Token = "0x600B29B")]
[Address(RVA = "0x1F121B0", Offset = "0x1F10BB0", VA = "0x181F121B0")]
get
{
int num;
do
{
num = 0;
IIOService ioservice = HTTPManager.IOService;
string rootCacheFolder = HTTPManager.GetRootCacheFolder();
ILogger logger = HTTPManager.Logger;
num++;
if (num != -1)
{
}
}
while (num != 0);
return HTTPCacheService.isSupported;
}
}
// Token: 0x17001CE1 RID: 7393
// (get) Token: 0x0600B29C RID: 45724 RVA: 0x0029FC90 File Offset: 0x0029DE90
[Token(Token = "0x17001CE1")]
private static Dictionary<Uri, HTTPCacheFileInfo> Library
{
[Token(Token = "0x600B29C")]
[Address(RVA = "0x1F12520", Offset = "0x1F10F20", VA = "0x181F12520")]
get
{
HTTPCacheService.LoadLibrary();
return HTTPCacheService.library;
}
}
// Token: 0x17001CE2 RID: 7394
// (get) Token: 0x0600B29D RID: 45725 RVA: 0x0029FCAC File Offset: 0x0029DEAC
// (set) Token: 0x0600B29E RID: 45726 RVA: 0x0029FCC0 File Offset: 0x0029DEC0
[Token(Token = "0x17001CE2")]
internal static string CacheFolder
{
[Token(Token = "0x600B29D")]
[Address(RVA = "0x1F12150", Offset = "0x1F10B50", VA = "0x181F12150")]
get;
[Token(Token = "0x600B29E")]
[Address(RVA = "0x1F12580", Offset = "0x1F10F80", VA = "0x181F12580")]
private set;
}
// Token: 0x17001CE3 RID: 7395
// (get) Token: 0x0600B29F RID: 45727 RVA: 0x0029FCD4 File Offset: 0x0029DED4
// (set) Token: 0x0600B2A0 RID: 45728 RVA: 0x0029FCE8 File Offset: 0x0029DEE8
[Token(Token = "0x17001CE3")]
private static string LibraryPath
{
[Token(Token = "0x600B29F")]
[Address(RVA = "0x1F12460", Offset = "0x1F10E60", VA = "0x181F12460")]
get;
[Token(Token = "0x600B2A0")]
[Address(RVA = "0x1F125E0", Offset = "0x1F10FE0", VA = "0x181F125E0")]
set;
}
// Token: 0x0600B2A2 RID: 45730 RVA: 0x0029FD14 File Offset: 0x0029DF14
[Token(Token = "0x600B2A2")]
[Address(RVA = "0x1F0E470", Offset = "0x1F0CE70", VA = "0x181F0E470")]
internal static void CheckSetup()
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
HTTPCacheService.LoadLibrary();
}
}
// Token: 0x0600B2A3 RID: 45731 RVA: 0x0029FD3C File Offset: 0x0029DF3C
[Token(Token = "0x600B2A3")]
[Address(RVA = "0x1F11860", Offset = "0x1F10260", VA = "0x181F11860")]
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: 0x0600B2A4 RID: 45732 RVA: 0x0029FDBC File Offset: 0x0029DFBC
[Token(Token = "0x600B2A4")]
[Address(RVA = "0x1F0F970", Offset = "0x1F0E370", VA = "0x181F0F970")]
internal static ulong GetNameIdx()
{
int num;
ulong nextNameIDX;
do
{
num = 0;
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
nextNameIDX = HTTPCacheService.NextNameIDX;
ulong num2 = HTTPCacheService.NextNameIDX;
num2 += (ulong)1L;
HTTPCacheService.NextNameIDX = num2;
HTTPCacheService.NextNameIDX = 0UL;
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong nextNameIDX2 = HTTPCacheService.NextNameIDX;
if (usedIndexes.ContainsKey(nextNameIDX2))
{
}
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
return nextNameIDX;
}
// Token: 0x0600B2A5 RID: 45733 RVA: 0x0029FE2C File Offset: 0x0029E02C
[Token(Token = "0x600B2A5")]
[Address(RVA = "0x1F0FB80", Offset = "0x1F0E580", VA = "0x181F0FB80")]
internal static bool HasEntity(Uri uri)
{
int num;
bool flag;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
goto IL_3F;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
HTTPCacheService.LoadLibrary();
flag = HTTPCacheService.library.ContainsKey(uri);
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
return flag;
IL_3F:
throw new NullReferenceException();
}
// Token: 0x0600B2A6 RID: 45734 RVA: 0x0029FE80 File Offset: 0x0029E080
[Token(Token = "0x600B2A6")]
[Address(RVA = "0x1F0E800", Offset = "0x1F0D200", VA = "0x181F0E800")]
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 != -1)
{
}
if (num == 0)
{
Monitor.Exit(obj);
if (num != -1)
{
}
if (num == 0)
{
break;
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600B2A7 RID: 45735 RVA: 0x0029FF44 File Offset: 0x0029E144
[Token(Token = "0x600B2A7")]
[Address(RVA = "0x1F10000", Offset = "0x1F0EA00", VA = "0x181F10000")]
internal static bool IsCachedEntityExpiresInTheFuture(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
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))
{
}
int num3 = 0;
Monitor.Exit(dictionary);
if (num != -1)
{
if (num3 == 68)
{
}
if (num3 == 66)
{
break;
}
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2A8 RID: 45736 RVA: 0x0029FFC4 File Offset: 0x0029E1C4
[Token(Token = "0x600B2A8")]
[Address(RVA = "0x1F115F0", Offset = "0x1F0FFF0", VA = "0x181F115F0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B2A9 RID: 45737 RVA: 0x002A0048 File Offset: 0x0029E248
[Token(Token = "0x600B2A9")]
[Address(RVA = "0x1F0F4C0", Offset = "0x1F0DEC0", VA = "0x181F0F4C0")]
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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2AA RID: 45738 RVA: 0x002A00A0 File Offset: 0x0029E2A0
[Token(Token = "0x600B2AA")]
[Address(RVA = "0x1F0F6E0", Offset = "0x1F0E0E0", VA = "0x181F0F6E0")]
internal static HTTPResponse GetFullResponse(HTTPRequest request)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
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))
{
}
int num3 = 0;
Monitor.Exit(dictionary);
if (num != -1)
{
if (num3 == 69)
{
}
if (num3 == 67)
{
break;
}
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2AB RID: 45739 RVA: 0x002A0120 File Offset: 0x0029E320
[Token(Token = "0x600B2AB")]
[Address(RVA = "0x1F0FDB0", Offset = "0x1F0E7B0", VA = "0x181F0FDB0")]
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: 0x0600B2AC RID: 45740 RVA: 0x002A01D8 File Offset: 0x0029E3D8
[Token(Token = "0x600B2AC")]
[Address(RVA = "0x1F11CD0", Offset = "0x1F106D0", VA = "0x181F11CD0")]
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response)
{
int num;
do
{
num = 0;
if (response == 0)
{
break;
}
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
if (<Data>k__BackingField == 0 || <Data>k__BackingField.Length == num || !HTTPCacheService.IsSupported)
{
break;
}
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
int num2 = 0;
if (!HTTPCacheService.Library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
int num3 = 0;
ILogger logger = HTTPManager.Logger;
if (num < num3)
{
num += num;
num++;
}
if (num == 0)
{
ILogger logger2 = HTTPManager.Logger;
int hashCode = uri.GetHashCode();
string text = string.Format("{0} - Saved to cache", hashCode);
}
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2AD RID: 45741 RVA: 0x002A02F0 File Offset: 0x0029E4F0
[Token(Token = "0x600B2AD")]
[Address(RVA = "0x1F10A30", Offset = "0x1F0F430", VA = "0x181F10A30")]
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2AE RID: 45742 RVA: 0x002A0398 File Offset: 0x0029E598
[Token(Token = "0x600B2AE")]
[Address(RVA = "0x1F0E1A0", Offset = "0x1F0CBA0", VA = "0x181F0E1A0")]
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: 0x0600B2AF RID: 45743 RVA: 0x002A03E0 File Offset: 0x0029E5E0
[Token(Token = "0x600B2AF")]
[Address(RVA = "0x1F0E510", Offset = "0x1F0CF10", VA = "0x181F0E510")]
private static void ClearImpl(object param)
{
int num = 0;
if (HTTPCacheService.IsSupported)
{
IIOService ioservice = HTTPManager.IOService;
IIOService ioservice2 = HTTPManager.IOService;
num++;
int num2 = 0;
num++;
HTTPCacheService.UsedIndexes.Clear();
HTTPCacheService.library.Clear();
HTTPCacheService.SaveLibrary();
if (num2 != -1)
{
}
}
}
// Token: 0x0600B2B0 RID: 45744 RVA: 0x002A044C File Offset: 0x0029E64C
[Token(Token = "0x600B2B0")]
[Address(RVA = "0x1F0E310", Offset = "0x1F0CD10", VA = "0x181F0E310")]
public static void BeginMaintainence(HTTPCacheMaintananceParams maintananceParam)
{
/*
An exception occurred when decompiling this method (0600B2B0)
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: 0x0600B2B1 RID: 45745 RVA: 0x002A04A0 File Offset: 0x0029E6A0
[Token(Token = "0x600B2B1")]
[Address(RVA = "0x1F0EFA0", Offset = "0x1F0D9A0", VA = "0x181F0EFA0")]
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);
if (num != -1)
{
}
}
while (num != 0);
return count;
}
// Token: 0x0600B2B2 RID: 45746 RVA: 0x002A04FC File Offset: 0x0029E6FC
[Token(Token = "0x600B2B2")]
[Address(RVA = "0x1F0F1C0", Offset = "0x1F0DBC0", VA = "0x181F0F1C0")]
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;
Dictionary.Enumerator enumerator;
if (enumerator != 0)
{
int i = enumerator.getEnumeratorRetType;
while (i <= 0)
{
}
num += i;
}
if (num != -1)
{
}
if (num != 0)
{
goto IL_68;
}
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
IL_68:
throw new NullReferenceException();
}
// Token: 0x0600B2B3 RID: 45747 RVA: 0x002A0578 File Offset: 0x0029E778
[Token(Token = "0x600B2B3")]
[Address(RVA = "0x1F10290", Offset = "0x1F0EC90", VA = "0x181F10290")]
private static void LoadLibrary()
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
return;
}
HTTPCacheService.library = new Dictionary(new UriComparer());
IIOService ioservice = HTTPManager.IOService;
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
IIOService ioservice2 = HTTPManager.IOService;
BinaryReader binaryReader;
ushort num2 = binaryReader.ReadUInt16();
HTTPCacheService.NextNameIDX = (ulong)binaryReader.ReadInt64();
ushort num3 = binaryReader.ReadUInt16();
if (num < (int)num3)
{
decimal num4 = binaryReader.ReadDecimal();
Uri uri;
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri, binaryReader, (int)num2);
if (httpcacheFileInfo.IsExists())
{
HTTPCacheService.library.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
num++;
}
if (binaryReader != 0)
{
}
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_149;
}
int num5;
if (num != 0)
{
num5 = 0;
}
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_149;
}
Monitor.Exit(num5);
if (num != -1)
{
}
}
while (num != 0);
HTTPCacheService.DeleteUnusedFiles();
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.SetupCacheFolder();
WaitCallback waitCallback;
if (HTTPCacheService.<>c.<>9__33_0 == 0)
{
waitCallback = delegate(object param)
{
HTTPCacheService.ClearImpl(param);
};
HTTPCacheService.<>c.<>9__33_0 = waitCallback;
}
bool flag = ThreadPool.QueueUserWorkItem(waitCallback);
}
return;
IL_149:
throw new NullReferenceException();
}
// Token: 0x0600B2B4 RID: 45748 RVA: 0x002A06D4 File Offset: 0x0029E8D4
[Token(Token = "0x600B2B4")]
[Address(RVA = "0x1F10D80", Offset = "0x1F0F780", VA = "0x181F10D80")]
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;
Dictionary.Enumerator enumerator;
if (enumerator != 0)
{
int hashCode = num2.GetHashCode();
}
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_B6;
}
if (binaryWriter != 0)
{
}
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_C8;
}
int num3 = 0;
if (num != -1)
{
num++;
}
if (num != 0)
{
goto IL_C8;
}
Monitor.Exit(num3);
if (num != -1)
{
}
}
while (num != 0);
return;
IL_B6:
throw new NullReferenceException();
IL_C8:
throw new NullReferenceException();
}
// Token: 0x0600B2B5 RID: 45749 RVA: 0x002A07B0 File Offset: 0x0029E9B0
[Token(Token = "0x600B2B5")]
[Address(RVA = "0x1F112C0", Offset = "0x1F0FCC0", VA = "0x181F112C0")]
internal static void SetBodyLength(Uri uri, int bodyLength)
{
int num;
do
{
num = 0;
if (!HTTPCacheService.IsSupported)
{
break;
}
HTTPCacheService.LoadLibrary();
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
int num2 = 0;
HTTPCacheService.LoadLibrary();
if (!HTTPCacheService.library.TryGetValue(uri, num2))
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
DateTime utcNow = DateTime.UtcNow;
HTTPCacheFileInfo httpcacheFileInfo;
dictionary2.Add(uri, httpcacheFileInfo);
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
}
Monitor.Exit(dictionary);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B2B6 RID: 45750 RVA: 0x002A0858 File Offset: 0x0029EA58
[Token(Token = "0x600B2B6")]
[Address(RVA = "0x1F0EB80", Offset = "0x1F0D580", VA = "0x181F0EB80")]
private static void DeleteUnusedFiles()
{
if (HTTPCacheService.IsSupported)
{
HTTPCacheService.CheckSetup();
IIOService ioservice = HTTPManager.IOService;
int num = 0;
bool flag;
if (flag)
{
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
bool flag2 = !HTTPCacheService.UsedIndexes.ContainsKey((ulong)2199023255552L);
Monitor.Exit(dictionary);
if ((ulong)((uint)(-1)) == (ulong)(-1L) || !flag2)
{
goto IL_5B;
}
}
IIOService ioservice2 = HTTPManager.IOService;
IL_5B:
num++;
}
}
// Token: 0x040075BF RID: 30143
[Token(Token = "0x40075BF")]
private const int LibraryVersion = 2;
// Token: 0x040075C0 RID: 30144
[Token(Token = "0x40075C0")]
private static bool isSupported;
// Token: 0x040075C1 RID: 30145
[Token(Token = "0x40075C1")]
private static bool IsSupportCheckDone;
// Token: 0x040075C2 RID: 30146
[Token(Token = "0x40075C2")]
private static Dictionary<Uri, HTTPCacheFileInfo> library;
// Token: 0x040075C3 RID: 30147
[Token(Token = "0x40075C3")]
private static Dictionary<ulong, HTTPCacheFileInfo> UsedIndexes = new Dictionary();
// Token: 0x040075C6 RID: 30150
[Token(Token = "0x40075C6")]
private static bool InClearThread;
// Token: 0x040075C7 RID: 30151
[Token(Token = "0x40075C7")]
private static bool InMaintainenceThread;
// Token: 0x040075C8 RID: 30152
[Token(Token = "0x40075C8")]
private static ulong NextNameIDX;
}
}
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Caching
{
// Token: 0x020019E7 RID: 6631
[Token(Token = "0x20019E7")]
[StructLayout(3)]
public sealed class UriComparer : IEqualityComparer<Uri>
{
// Token: 0x0600B298 RID: 45720 RVA: 0x0029FC1C File Offset: 0x0029DE1C
[Token(Token = "0x600B298")]
[Address(RVA = "0x1F17A40", Offset = "0x1F16440", VA = "0x181F17A40", Slot = "4")]
public bool Equals(Uri x, Uri y)
{
int num;
return num == 0;
}
// Token: 0x0600B299 RID: 45721 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B299")]
[Address(RVA = "0x1F17AC0", Offset = "0x1F164C0", VA = "0x181F17AC0", Slot = "5")]
public int GetHashCode(Uri uri)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B29A RID: 45722 RVA: 0x0029FC30 File Offset: 0x0029DE30
[Token(Token = "0x600B29A")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public UriComparer()
{
}
}
}
+395
View File
@@ -0,0 +1,395 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200129A RID: 4762
[Token(Token = "0x200129A")]
[StructLayout(3)]
internal abstract class ConnectionBase : IDisposable
{
// Token: 0x17001316 RID: 4886
// (get) Token: 0x06007669 RID: 30313 RVA: 0x001873B4 File Offset: 0x001855B4
// (set) Token: 0x0600766A RID: 30314 RVA: 0x001873C8 File Offset: 0x001855C8
[Token(Token = "0x17001316")]
public string ServerAddress
{
[Token(Token = "0x6007669")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600766A")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
protected set;
}
// Token: 0x17001317 RID: 4887
// (get) Token: 0x0600766B RID: 30315 RVA: 0x001873DC File Offset: 0x001855DC
// (set) Token: 0x0600766C RID: 30316 RVA: 0x001873F0 File Offset: 0x001855F0
[Token(Token = "0x17001317")]
public HTTPConnectionStates State
{
[Token(Token = "0x600766B")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
get;
[Token(Token = "0x600766C")]
[Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")]
protected set;
}
// Token: 0x17001318 RID: 4888
// (get) Token: 0x0600766D RID: 30317 RVA: 0x00187404 File Offset: 0x00185604
[Token(Token = "0x17001318")]
public bool IsFree
{
[Token(Token = "0x600766D")]
[Address(RVA = "0x1F01820", Offset = "0x1F00220", VA = "0x181F01820")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates == HTTPConnectionStates.Free;
}
}
// Token: 0x17001319 RID: 4889
// (get) Token: 0x0600766E RID: 30318 RVA: 0x00187424 File Offset: 0x00185624
[Token(Token = "0x17001319")]
public bool IsActive
{
[Token(Token = "0x600766E")]
[Address(RVA = "0x1F01800", Offset = "0x1F00200", VA = "0x181F01800")]
get
{
HTTPConnectionStates httpconnectionStates = this.<State>k__BackingField;
return 0 < 6;
}
}
// Token: 0x1700131A RID: 4890
// (get) Token: 0x0600766F RID: 30319 RVA: 0x0018743C File Offset: 0x0018563C
// (set) Token: 0x06007670 RID: 30320 RVA: 0x00187450 File Offset: 0x00185650
[Token(Token = "0x1700131A")]
public HTTPRequest CurrentRequest
{
[Token(Token = "0x600766F")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x6007670")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
protected set;
}
// Token: 0x1700131B RID: 4891
// (get) Token: 0x06007671 RID: 30321 RVA: 0x00187464 File Offset: 0x00185664
[Token(Token = "0x1700131B")]
public virtual bool IsRemovable
{
[Token(Token = "0x6007671")]
[Address(RVA = "0x1F01840", Offset = "0x1F00240", VA = "0x181F01840", 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: 0x1700131C RID: 4892
// (get) Token: 0x06007672 RID: 30322 RVA: 0x001874AC File Offset: 0x001856AC
// (set) Token: 0x06007673 RID: 30323 RVA: 0x001874C0 File Offset: 0x001856C0
[Token(Token = "0x1700131C")]
public DateTime StartTime
{
[Token(Token = "0x6007672")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x6007673")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
protected set;
}
// Token: 0x1700131D RID: 4893
// (get) Token: 0x06007674 RID: 30324 RVA: 0x001874D4 File Offset: 0x001856D4
// (set) Token: 0x06007675 RID: 30325 RVA: 0x001874E8 File Offset: 0x001856E8
[Token(Token = "0x1700131D")]
public DateTime TimedOutStart
{
[Token(Token = "0x6007674")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x6007675")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
protected set;
}
// Token: 0x1700131E RID: 4894
// (get) Token: 0x06007676 RID: 30326 RVA: 0x001874FC File Offset: 0x001856FC
[Token(Token = "0x1700131E")]
public bool HasProxy
{
[Token(Token = "0x6007676")]
[Address(RVA = "0x1F017E0", Offset = "0x1F001E0", VA = "0x181F017E0")]
get
{
/*
An exception occurred when decompiling this method (06007676)
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: 0x1700131F RID: 4895
// (get) Token: 0x06007677 RID: 30327 RVA: 0x00187514 File Offset: 0x00185714
// (set) Token: 0x06007678 RID: 30328 RVA: 0x00187528 File Offset: 0x00185728
[Token(Token = "0x1700131F")]
public Uri LastProcessedUri
{
[Token(Token = "0x6007677")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x6007678")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
protected set;
}
// Token: 0x06007679 RID: 30329 RVA: 0x0018753C File Offset: 0x0018573C
[Token(Token = "0x6007679")]
[Address(RVA = "0x1F016D0", Offset = "0x1F000D0", VA = "0x181F016D0")]
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: 0x0600767A RID: 30330 RVA: 0x00187578 File Offset: 0x00185778
[Token(Token = "0x600767A")]
[Address(RVA = "0x1F01750", Offset = "0x1F00150", VA = "0x181F01750")]
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: 0x0600767B RID: 30331
[Token(Token = "0x600767B")]
[Address(Slot = "6")]
internal abstract void Abort(HTTPConnectionStates hTTPConnectionStates);
// Token: 0x0600767C RID: 30332 RVA: 0x001875B4 File Offset: 0x001857B4
[Token(Token = "0x600767C")]
[Address(RVA = "0x1F01450", Offset = "0x1EFFE50", VA = "0x181F01450")]
internal void Process(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (0600767C)
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: 0x0600767D RID: 30333 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600767D")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "7")]
protected virtual void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600767E RID: 30334 RVA: 0x00187610 File Offset: 0x00185810
[Token(Token = "0x600767E")]
[Address(RVA = "0x1F01210", Offset = "0x1EFFC10", VA = "0x181F01210")]
internal void HandleProgressCallback()
{
ILogger logger = HTTPManager.Logger;
ILogger logger2 = HTTPManager.Logger;
this.<CurrentRequest>k__BackingField.<UploadProgressChanged>k__BackingField = false;
}
// Token: 0x0600767F RID: 30335 RVA: 0x0018765C File Offset: 0x0018585C
[Token(Token = "0x600767F")]
[Address(RVA = "0x1F01110", Offset = "0x1EFFB10", VA = "0x181F01110")]
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: 0x06007680 RID: 30336 RVA: 0x001876C0 File Offset: 0x001858C0
[Token(Token = "0x6007680")]
[Address(RVA = "0x1F01610", Offset = "0x1F00010", VA = "0x181F01610")]
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: 0x06007681 RID: 30337 RVA: 0x00187720 File Offset: 0x00185920
[Token(Token = "0x6007681")]
[Address(RVA = "0x1F01560", Offset = "0x1EFFF60", VA = "0x181F01560")]
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: 0x17001320 RID: 4896
// (get) Token: 0x06007682 RID: 30338 RVA: 0x00187784 File Offset: 0x00185984
// (set) Token: 0x06007683 RID: 30339 RVA: 0x00187798 File Offset: 0x00185998
[Token(Token = "0x17001320")]
private protected bool IsDisposed
{
[Token(Token = "0x6007682")]
[Address(RVA = "0x5DE430", Offset = "0x5DCE30", VA = "0x1805DE430")]
protected get;
[Token(Token = "0x6007683")]
[Address(RVA = "0x5DE460", Offset = "0x5DCE60", VA = "0x1805DE460")]
private set;
}
// Token: 0x06007684 RID: 30340 RVA: 0x001877AC File Offset: 0x001859AC
[Token(Token = "0x6007684")]
[Address(RVA = "0x1F01000", Offset = "0x1EFFA00", VA = "0x181F01000", Slot = "4")]
public void Dispose()
{
GC.SuppressFinalize(this);
}
// Token: 0x06007685 RID: 30341 RVA: 0x001877C0 File Offset: 0x001859C0
[Token(Token = "0x6007685")]
[Address(RVA = "0x1F00FF0", Offset = "0x1EFF9F0", VA = "0x181F00FF0", Slot = "8")]
protected virtual void Dispose(bool disposing)
{
this.<IsDisposed>k__BackingField = true;
}
// Token: 0x06007686 RID: 30342 RVA: 0x001877D4 File Offset: 0x001859D4
[Token(Token = "0x6007686")]
[Address(RVA = "0x1F01070", Offset = "0x1EFFA70", VA = "0x181F01070", Slot = "1")]
protected override void Finalize()
{
int num;
do
{
num = 0;
int num2 = 0;
this.ThreadFunc(num2);
int num3 = 0;
this.ThreadFunc(num3);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x040055DA RID: 21978
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40055DA")]
protected DateTime LastProcessTime;
// Token: 0x040055DB RID: 21979
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40055DB")]
protected HTTPConnectionRecycledDelegate OnConnectionRecycled;
// Token: 0x040055DC RID: 21980
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40055DC")]
private bool IsThreaded;
}
}
+574
View File
@@ -0,0 +1,574 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Cookies
{
// Token: 0x020019E1 RID: 6625
[Token(Token = "0x20019E1")]
[StructLayout(3)]
public sealed class Cookie : IComparable<Cookie>, IEquatable<Cookie>
{
// Token: 0x17001CC3 RID: 7363
// (get) Token: 0x0600B225 RID: 45605 RVA: 0x0029DDF4 File Offset: 0x0029BFF4
// (set) Token: 0x0600B226 RID: 45606 RVA: 0x0029DE08 File Offset: 0x0029C008
[Token(Token = "0x17001CC3")]
public string Name
{
[Token(Token = "0x600B225")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B226")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
private set;
}
// Token: 0x17001CC4 RID: 7364
// (get) Token: 0x0600B227 RID: 45607 RVA: 0x0029DE1C File Offset: 0x0029C01C
// (set) Token: 0x0600B228 RID: 45608 RVA: 0x0029DE30 File Offset: 0x0029C030
[Token(Token = "0x17001CC4")]
public string Value
{
[Token(Token = "0x600B227")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B228")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
private set;
}
// Token: 0x17001CC5 RID: 7365
// (get) Token: 0x0600B229 RID: 45609 RVA: 0x0029DE44 File Offset: 0x0029C044
// (set) Token: 0x0600B22A RID: 45610 RVA: 0x0029DE58 File Offset: 0x0029C058
[Token(Token = "0x17001CC5")]
public DateTime Date
{
[Token(Token = "0x600B229")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B22A")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
internal set;
}
// Token: 0x17001CC6 RID: 7366
// (get) Token: 0x0600B22B RID: 45611 RVA: 0x0029DE6C File Offset: 0x0029C06C
// (set) Token: 0x0600B22C RID: 45612 RVA: 0x0029DE80 File Offset: 0x0029C080
[Token(Token = "0x17001CC6")]
public DateTime LastAccess
{
[Token(Token = "0x600B22B")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x600B22C")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
set;
}
// Token: 0x17001CC7 RID: 7367
// (get) Token: 0x0600B22D RID: 45613 RVA: 0x0029DE94 File Offset: 0x0029C094
// (set) Token: 0x0600B22E RID: 45614 RVA: 0x0029DEA8 File Offset: 0x0029C0A8
[Token(Token = "0x17001CC7")]
public DateTime Expires
{
[Token(Token = "0x600B22D")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x600B22E")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
private set;
}
// Token: 0x17001CC8 RID: 7368
// (get) Token: 0x0600B22F RID: 45615 RVA: 0x0029DEBC File Offset: 0x0029C0BC
// (set) Token: 0x0600B230 RID: 45616 RVA: 0x0029DED0 File Offset: 0x0029C0D0
[Token(Token = "0x17001CC8")]
public long MaxAge
{
[Token(Token = "0x600B22F")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x600B230")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
private set;
}
// Token: 0x17001CC9 RID: 7369
// (get) Token: 0x0600B231 RID: 45617 RVA: 0x0029DEE4 File Offset: 0x0029C0E4
// (set) Token: 0x0600B232 RID: 45618 RVA: 0x0029DEF8 File Offset: 0x0029C0F8
[Token(Token = "0x17001CC9")]
public bool IsSession
{
[Token(Token = "0x600B231")]
[Address(RVA = "0x421DE0", Offset = "0x4207E0", VA = "0x180421DE0")]
get;
[Token(Token = "0x600B232")]
[Address(RVA = "0x421DF0", Offset = "0x4207F0", VA = "0x180421DF0")]
private set;
}
// Token: 0x17001CCA RID: 7370
// (get) Token: 0x0600B233 RID: 45619 RVA: 0x0029DF0C File Offset: 0x0029C10C
// (set) Token: 0x0600B234 RID: 45620 RVA: 0x0029DF20 File Offset: 0x0029C120
[Token(Token = "0x17001CCA")]
public string Domain
{
[Token(Token = "0x600B233")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get;
[Token(Token = "0x600B234")]
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")]
private set;
}
// Token: 0x17001CCB RID: 7371
// (get) Token: 0x0600B235 RID: 45621 RVA: 0x0029DF34 File Offset: 0x0029C134
// (set) Token: 0x0600B236 RID: 45622 RVA: 0x0029DF48 File Offset: 0x0029C148
[Token(Token = "0x17001CCB")]
public string Path
{
[Token(Token = "0x600B235")]
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")]
get;
[Token(Token = "0x600B236")]
[Address(RVA = "0x462750", Offset = "0x461150", VA = "0x180462750")]
private set;
}
// Token: 0x17001CCC RID: 7372
// (get) Token: 0x0600B237 RID: 45623 RVA: 0x0029DF5C File Offset: 0x0029C15C
// (set) Token: 0x0600B238 RID: 45624 RVA: 0x0029DF70 File Offset: 0x0029C170
[Token(Token = "0x17001CCC")]
public bool IsSecure
{
[Token(Token = "0x600B237")]
[Address(RVA = "0x566D70", Offset = "0x565770", VA = "0x180566D70")]
get;
[Token(Token = "0x600B238")]
[Address(RVA = "0x566E50", Offset = "0x565850", VA = "0x180566E50")]
private set;
}
// Token: 0x17001CCD RID: 7373
// (get) Token: 0x0600B239 RID: 45625 RVA: 0x0029DF84 File Offset: 0x0029C184
// (set) Token: 0x0600B23A RID: 45626 RVA: 0x0029DF98 File Offset: 0x0029C198
[Token(Token = "0x17001CCD")]
public bool IsHttpOnly
{
[Token(Token = "0x600B239")]
[Address(RVA = "0x566D80", Offset = "0x565780", VA = "0x180566D80")]
get;
[Token(Token = "0x600B23A")]
[Address(RVA = "0x566E70", Offset = "0x565870", VA = "0x180566E70")]
private set;
}
// Token: 0x0600B23B RID: 45627 RVA: 0x0029DFAC File Offset: 0x0029C1AC
[Token(Token = "0x600B23B")]
[Address(RVA = "0x1F059F0", Offset = "0x1F043F0", VA = "0x181F059F0")]
public Cookie(string name, string value)
{
string empty = string.Empty;
}
// Token: 0x0600B23C RID: 45628 RVA: 0x0029DFC0 File Offset: 0x0029C1C0
[Token(Token = "0x600B23C")]
[Address(RVA = "0x1F05CE0", Offset = "0x1F046E0", VA = "0x181F05CE0")]
public Cookie(string name, string value, string path)
{
string empty = string.Empty;
}
// Token: 0x0600B23D RID: 45629 RVA: 0x0029DFD4 File Offset: 0x0029C1D4
[Token(Token = "0x600B23D")]
[Address(RVA = "0x1F05C30", Offset = "0x1F04630", VA = "0x181F05C30")]
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: 0x0600B23E RID: 45630 RVA: 0x0029E028 File Offset: 0x0029C228
[Token(Token = "0x600B23E")]
[Address(RVA = "0x1F05A70", Offset = "0x1F04470", VA = "0x181F05A70")]
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: 0x0600B23F RID: 45631 RVA: 0x0029E068 File Offset: 0x0029C268
[Token(Token = "0x600B23F")]
[Address(RVA = "0x1F05B50", Offset = "0x1F04550", VA = "0x181F05B50")]
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: 0x0600B240 RID: 45632 RVA: 0x0029E0A8 File Offset: 0x0029C2A8
[Token(Token = "0x600B240")]
[Address(RVA = "0x1F05D60", Offset = "0x1F04760", VA = "0x181F05D60")]
internal Cookie()
{
this.IsSession = true;
this.MaxAge = (long)((ulong)(-1L));
DateTime utcNow = DateTime.UtcNow;
this.LastAccess = utcNow;
}
// Token: 0x0600B241 RID: 45633 RVA: 0x0029E0DC File Offset: 0x0029C2DC
[Token(Token = "0x600B241")]
[Address(RVA = "0x1F058E0", Offset = "0x1F042E0", VA = "0x181F058E0")]
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: 0x0600B242 RID: 45634 RVA: 0x0029E13C File Offset: 0x0029C33C
[Token(Token = "0x600B242")]
[Address(RVA = "0x1F04AA0", Offset = "0x1F034A0", VA = "0x181F04AA0")]
public uint GuessSize()
{
/*
An exception occurred when decompiling this method (0600B242)
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: 0x0600B243 RID: 45635 RVA: 0x0029E1D0 File Offset: 0x0029C3D0
[Token(Token = "0x600B243")]
[Address(RVA = "0x1F04E90", Offset = "0x1F03890", VA = "0x181F04E90")]
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);
List.Enumerator enumerator;
if (enumerator != 0)
{
int stringLength = header.m_stringLength;
string text;
if (string.Equals(text, "path"))
{
if (!string.IsNullOrEmpty(text))
{
bool flag = text.StartsWith("/");
if (flag)
{
cookie.<Path>k__BackingField = flag;
}
}
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 flag2 = string.Equals(text, "httponly");
if (flag2)
{
cookie.<IsHttpOnly>k__BackingField = true;
}
cookie.<Name>k__BackingField = flag2;
cookie.<Value>k__BackingField = flag2;
}
if (num != -1)
{
if (header == (ulong)571L)
{
}
if (header == (ulong)403L)
{
goto IL_169;
}
}
if (num != 0)
{
throw new NullReferenceException();
}
IL_169:
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();
}
// Token: 0x0600B244 RID: 45636 RVA: 0x0029E494 File Offset: 0x0029C694
[Token(Token = "0x600B244")]
[Address(RVA = "0x1F056A0", Offset = "0x1F040A0", VA = "0x181F056A0")]
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;
DateTime dateTime2 = this.<LastAccess>k__BackingField;
DateTime dateTime3 = this.<Expires>k__BackingField;
long num = this.<MaxAge>k__BackingField;
stream.Write((uint)num);
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: 0x0600B245 RID: 45637 RVA: 0x0029E540 File Offset: 0x0029C740
[Token(Token = "0x600B245")]
[Address(RVA = "0x1F04B00", Offset = "0x1F03500", VA = "0x181F04B00")]
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: 0x0600B246 RID: 45638 RVA: 0x0029E614 File Offset: 0x0029C814
[Token(Token = "0x600B246")]
[Address(RVA = "0x1F058A0", Offset = "0x1F042A0", VA = "0x181F058A0", Slot = "3")]
public override string ToString()
{
string text = this.<Value>k__BackingField;
return this.<Name>k__BackingField + "=" + text;
}
// Token: 0x0600B247 RID: 45639 RVA: 0x0029E63C File Offset: 0x0029C83C
[Token(Token = "0x600B247")]
[Address(RVA = "0x1F04A30", Offset = "0x1F03430", VA = "0x181F04A30", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != 0)
{
bool flag;
return flag;
}
}
// Token: 0x0600B248 RID: 45640 RVA: 0x0029E650 File Offset: 0x0029C850
[Token(Token = "0x600B248")]
[Address(RVA = "0x1F04970", Offset = "0x1F03370", VA = "0x181F04970", 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: 0x0600B249 RID: 45641 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B249")]
[Address(RVA = "0x6878E0", Offset = "0x6862E0", VA = "0x1806878E0", Slot = "2")]
public override int GetHashCode()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B24A RID: 45642 RVA: 0x0029E6DC File Offset: 0x0029C8DC
[Token(Token = "0x600B24A")]
[Address(RVA = "0x1F05610", Offset = "0x1F04010", VA = "0x181F05610")]
private static string ReadValue(string str, ref int pos)
{
string empty = string.Empty;
if (str != 0)
{
}
return empty;
}
// Token: 0x0600B24B RID: 45643 RVA: 0x0029E6F4 File Offset: 0x0029C8F4
[Token(Token = "0x600B24B")]
[Address(RVA = "0x1F04CA0", Offset = "0x1F036A0", VA = "0x181F04CA0")]
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: 0x0600B24C RID: 45644 RVA: 0x0029E77C File Offset: 0x0029C97C
[Token(Token = "0x600B24C")]
[Address(RVA = "0x1F04940", Offset = "0x1F03340", VA = "0x181F04940", Slot = "4")]
public int CompareTo(Cookie other)
{
DateTime dateTime = this.<LastAccess>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x04007597 RID: 30103
[Token(Token = "0x4007597")]
private const int Version = 1;
}
}
@@ -0,0 +1,601 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using BestHTTP.Logger;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP.Cookies
{
// Token: 0x020019E3 RID: 6627
[Token(Token = "0x20019E3")]
[StructLayout(3)]
public static class CookieJar
{
// Token: 0x17001CCE RID: 7374
// (get) Token: 0x0600B250 RID: 45648 RVA: 0x0029E7D4 File Offset: 0x0029C9D4
[Token(Token = "0x17001CCE")]
public static bool IsSavingSupported
{
[Token(Token = "0x600B250")]
[Address(RVA = "0x1F04510", Offset = "0x1F02F10", VA = "0x181F04510")]
get
{
int num;
do
{
num = 0;
IIOService ioservice = HTTPManager.IOService;
string rootCacheFolder = HTTPManager.GetRootCacheFolder();
ILogger logger = HTTPManager.Logger;
num++;
if (num != -1)
{
}
}
while (num != 0);
return CookieJar._isSavingSupported;
}
}
// Token: 0x17001CCF RID: 7375
// (get) Token: 0x0600B251 RID: 45649 RVA: 0x0029E820 File Offset: 0x0029CA20
// (set) Token: 0x0600B252 RID: 45650 RVA: 0x0029E834 File Offset: 0x0029CA34
[Token(Token = "0x17001CCF")]
private static string CookieFolder
{
[Token(Token = "0x600B251")]
[Address(RVA = "0x1F04450", Offset = "0x1F02E50", VA = "0x181F04450")]
get;
[Token(Token = "0x600B252")]
[Address(RVA = "0x1F04880", Offset = "0x1F03280", VA = "0x181F04880")]
set;
}
// Token: 0x17001CD0 RID: 7376
// (get) Token: 0x0600B253 RID: 45651 RVA: 0x0029E848 File Offset: 0x0029CA48
// (set) Token: 0x0600B254 RID: 45652 RVA: 0x0029E85C File Offset: 0x0029CA5C
[Token(Token = "0x17001CD0")]
private static string LibraryPath
{
[Token(Token = "0x600B253")]
[Address(RVA = "0x1F047C0", Offset = "0x1F031C0", VA = "0x181F047C0")]
get;
[Token(Token = "0x600B254")]
[Address(RVA = "0x1F048E0", Offset = "0x1F032E0", VA = "0x181F048E0")]
set;
}
// Token: 0x0600B255 RID: 45653 RVA: 0x0029E870 File Offset: 0x0029CA70
[Token(Token = "0x600B255")]
[Address(RVA = "0x1F040E0", Offset = "0x1F02AE0", VA = "0x181F040E0")]
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: 0x0600B256 RID: 45654 RVA: 0x0029E8C4 File Offset: 0x0029CAC4
[Token(Token = "0x600B256")]
[Address(RVA = "0x1F03C50", Offset = "0x1F02650", VA = "0x181F03C50")]
internal static void Set(HTTPResponse response)
{
while (response != 0)
{
object locker = CookieJar.Locker;
CookieJar.Maintain();
List<Cookie> list = new List();
if (response.GetHeaderValues("set-cookie") != 0)
{
List.Enumerator enumerator;
if (enumerator != 0)
{
Uri currentUri = response.baseRequest.CurrentUri;
Cookie cookie;
if (cookie == 0)
{
goto IL_8D;
}
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_8D;
}
goto IL_8D;
}
}
IL_99:
while (cookie == (ulong)(-1L))
{
}
List<Cookie> cookies = CookieJar.Cookies;
goto IL_A7;
IL_8D:
CookieJar.Cookies.Add(cookie);
goto IL_99;
}
IL_A7:
int num2 = 0;
if (num2 != -1)
{
response.<Cookies>k__BackingField = list;
num2++;
}
if (response != 0)
{
continue;
}
}
int num3 = 0;
num3++;
Monitor.Exit(response);
if (num3 != -1)
{
}
if (response == 0)
{
break;
}
}
}
// Token: 0x0600B257 RID: 45655 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B257")]
[Address(RVA = "0x1F02B90", Offset = "0x1F01590", VA = "0x181F02B90")]
internal static void Maintain()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B258 RID: 45656 RVA: 0x0029E9E0 File Offset: 0x0029CBE0
[Token(Token = "0x600B258")]
[Address(RVA = "0x1F03080", Offset = "0x1F01A80", VA = "0x181F03080")]
internal static void Persist()
{
for (;;)
{
int 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;
List.Enumerator enumerator;
if (enumerator != 0)
{
num2++;
}
int num3 = 0;
if (num3 == -1)
{
goto IL_6B;
}
binaryWriter.Write((ushort)num2);
List<Cookie> cookies2 = CookieJar.Cookies;
List.Enumerator enumerator2;
if (enumerator2 != 0)
{
goto IL_6B;
}
IL_72:
num3++;
if (num3 != -1)
{
num3++;
}
if (num != 0)
{
goto IL_E1;
}
if (binaryWriter != 0)
{
}
if (num3 != -1)
{
num3++;
}
if (num != 0)
{
goto IL_F9;
}
int num4;
if (num3 != 0)
{
num4 = 0;
}
if (num3 != -1)
{
num3++;
}
if (num != 0)
{
goto IL_FF;
}
num3++;
int num5 = 0;
Monitor.Exit(num4);
if (num5 != -1)
{
}
if (num == 0)
{
break;
}
continue;
IL_6B:
if (num == 0)
{
goto IL_72;
}
goto IL_DB;
}
return;
IL_DB:
throw new NullReferenceException();
IL_E1:
throw new NullReferenceException();
IL_F9:
throw new NullReferenceException();
IL_FF:
throw new NullReferenceException();
}
// Token: 0x0600B259 RID: 45657 RVA: 0x0029EAF4 File Offset: 0x0029CCF4
[Token(Token = "0x600B259")]
[Address(RVA = "0x1F024A0", Offset = "0x1F00EA0", VA = "0x181F024A0")]
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 (num5 != -1)
{
num5++;
}
if (num != 0)
{
goto IL_F2;
}
if (num5 != -1)
{
num5++;
}
if (num != 0)
{
goto IL_F8;
}
int num6 = 0;
CookieJar.Cookies.Clear();
num6++;
if (num6 != -1)
{
}
if (num == 0)
{
if (0 != -1)
{
}
if (num == 0)
{
break;
}
}
}
return;
IL_F2:
throw new NullReferenceException();
IL_F8:
throw new NullReferenceException();
}
// Token: 0x0600B25A RID: 45658 RVA: 0x0029EC10 File Offset: 0x0029CE10
[Token(Token = "0x600B25A")]
[Address(RVA = "0x1F021E0", Offset = "0x1F00BE0", VA = "0x181F021E0")]
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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B25B RID: 45659 RVA: 0x0029ECAC File Offset: 0x0029CEAC
[Token(Token = "0x600B25B")]
[Address(RVA = "0x1F03A10", Offset = "0x1F02410", VA = "0x181F03A10")]
public static void Set(Uri uri, Cookie cookie)
{
CookieJar.Set(cookie);
}
// Token: 0x0600B25C RID: 45660 RVA: 0x0029ECC0 File Offset: 0x0029CEC0
[Token(Token = "0x600B25C")]
[Address(RVA = "0x1F03A70", Offset = "0x1F02470", VA = "0x181F03A70")]
public static void Set(Cookie cookie)
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
CookieJar.Cookies.Add(cookie);
CookieJar.Cookies[num] = cookie;
Monitor.Exit(locker);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B25D RID: 45661 RVA: 0x0029ED10 File Offset: 0x0029CF10
[Token(Token = "0x600B25D")]
[Address(RVA = "0x1F020A0", Offset = "0x1F00AA0", VA = "0x181F020A0")]
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);
if (num != -1)
{
}
}
while (num != 0);
return cookies;
}
// Token: 0x0600B25E RID: 45662 RVA: 0x0029ED44 File Offset: 0x0029CF44
[Token(Token = "0x600B25E")]
[Address(RVA = "0x1F01960", Offset = "0x1F00360", VA = "0x181F01960")]
public static void Clear()
{
int num;
do
{
num = 0;
object locker = CookieJar.Locker;
CookieJar.Load();
CookieJar.Cookies.Clear();
Monitor.Exit(locker);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B25F RID: 45663 RVA: 0x0029ED80 File Offset: 0x0029CF80
[Token(Token = "0x600B25F")]
[Address(RVA = "0x1F01AA0", Offset = "0x1F004A0", VA = "0x181F01AA0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B260 RID: 45664 RVA: 0x0029EE00 File Offset: 0x0029D000
[Token(Token = "0x600B260")]
[Address(RVA = "0x1F01D30", Offset = "0x1F00730", VA = "0x181F01D30")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B261 RID: 45665 RVA: 0x0029EE70 File Offset: 0x0029D070
[Token(Token = "0x600B261")]
[Address(RVA = "0x1F03770", Offset = "0x1F02170", VA = "0x181F03770")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B262 RID: 45666 RVA: 0x0029EF04 File Offset: 0x0029D104
[Token(Token = "0x600B262")]
[Address(RVA = "0x1F01F90", Offset = "0x1F00990", VA = "0x181F01F90")]
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: 0x0600B263 RID: 45667 RVA: 0x0029EF3C File Offset: 0x0029D13C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B263")]
[Address(RVA = "0x1F04390", Offset = "0x1F02D90", VA = "0x181F04390")]
static CookieJar()
{
TimeSpan timeSpan;
CookieJar.AccessThreshold = timeSpan;
CookieJar.Cookies = new List();
CookieJar.Locker = new object();
}
// Token: 0x040075A5 RID: 30117
[Token(Token = "0x40075A5")]
private const int Version = 1;
// Token: 0x040075A6 RID: 30118
[Token(Token = "0x40075A6")]
public static TimeSpan AccessThreshold;
// Token: 0x040075A7 RID: 30119
[Token(Token = "0x40075A7")]
private static List<Cookie> Cookies;
// Token: 0x040075AA RID: 30122
[Token(Token = "0x40075AA")]
private static object Locker;
// Token: 0x040075AB RID: 30123
[Token(Token = "0x40075AB")]
private static bool _isSavingSupported;
// Token: 0x040075AC RID: 30124
[Token(Token = "0x40075AC")]
private static bool IsSupportCheckDone;
// Token: 0x040075AD RID: 30125
[Token(Token = "0x40075AD")]
private static bool Loaded;
}
}
@@ -0,0 +1,484 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Crc
{
// Token: 0x020019E0 RID: 6624
[Token(Token = "0x20019E0")]
[StructLayout(3)]
internal class CRC32
{
// Token: 0x17001CC1 RID: 7361
// (get) Token: 0x0600B212 RID: 45586 RVA: 0x0029D8B4 File Offset: 0x0029BAB4
[Token(Token = "0x17001CC1")]
public long TotalBytesRead
{
[Token(Token = "0x600B212")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get
{
return this._TotalBytesRead;
}
}
// Token: 0x17001CC2 RID: 7362
// (get) Token: 0x0600B213 RID: 45587 RVA: 0x0029D8C8 File Offset: 0x0029BAC8
[Token(Token = "0x17001CC2")]
public int Crc32Result
{
[Token(Token = "0x600B213")]
[Address(RVA = "0xC7EDB0", Offset = "0xC7D7B0", VA = "0x180C7EDB0")]
get
{
/*
An exception occurred when decompiling this method (0600B213)
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: 0x0600B214 RID: 45588 RVA: 0x0029D8DC File Offset: 0x0029BADC
[Token(Token = "0x600B214")]
[Address(RVA = "0x1F004E0", Offset = "0x1EFEEE0", VA = "0x181F004E0")]
public int GetCrc32(Stream input)
{
int num = 0;
return this.GetCrc32AndCopy(input, num);
}
// Token: 0x0600B215 RID: 45589 RVA: 0x0029D8F4 File Offset: 0x0029BAF4
[Token(Token = "0x600B215")]
[Address(RVA = "0x1F00250", Offset = "0x1EFEC50", VA = "0x181F00250")]
public int GetCrc32AndCopy(Stream input, Stream output)
{
/*
An exception occurred when decompiling this method (0600B215)
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: 0x0600B216 RID: 45590 RVA: 0x0029D98C File Offset: 0x0029BB8C
[Token(Token = "0x600B216")]
[Address(RVA = "0xC7E5D0", Offset = "0xC7CFD0", VA = "0x180C7E5D0")]
public int ComputeCrc32(int W, byte B)
{
uint num = this.crc32Table[W];
throw new NullReferenceException();
}
// Token: 0x0600B217 RID: 45591 RVA: 0x0029D9AC File Offset: 0x0029BBAC
[Token(Token = "0x600B217")]
[Address(RVA = "0xC7E5D0", Offset = "0xC7CFD0", VA = "0x180C7E5D0")]
internal int _InternalComputeCrc32(uint W, byte B)
{
uint num = this.crc32Table[(int)W];
throw new NullReferenceException();
}
// Token: 0x0600B218 RID: 45592 RVA: 0x0029D9CC File Offset: 0x0029BBCC
[Token(Token = "0x600B218")]
[Address(RVA = "0x1F00500", Offset = "0x1EFEF00", VA = "0x181F00500")]
public void SlurpBlock(byte[] block, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B218)
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: 0x0600B219 RID: 45593 RVA: 0x0029DA1C File Offset: 0x0029BC1C
[Token(Token = "0x600B219")]
[Address(RVA = "0x1F00730", Offset = "0x1EFF130", VA = "0x181F00730")]
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: 0x0600B21A RID: 45594 RVA: 0x0029DA68 File Offset: 0x0029BC68
[Token(Token = "0x600B21A")]
[Address(RVA = "0x1F00660", Offset = "0x1EFF060", VA = "0x181F00660")]
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: 0x0600B21B RID: 45595 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B21B")]
[Address(RVA = "0xC7EA20", Offset = "0xC7D420", VA = "0x180C7EA20")]
private static uint ReverseBits(uint data)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B21C RID: 45596 RVA: 0x0029DAAC File Offset: 0x0029BCAC
[Token(Token = "0x600B21C")]
[Address(RVA = "0xC7EA80", Offset = "0xC7D480", VA = "0x180C7EA80")]
private static byte ReverseBits(byte data)
{
/*
An exception occurred when decompiling this method (0600B21C)
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: 0x0600B21D RID: 45597 RVA: 0x0029DAC8 File Offset: 0x0029BCC8
[Token(Token = "0x600B21D")]
[Address(RVA = "0x1F00100", Offset = "0x1EFEB00", VA = "0x181F00100")]
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: 0x0600B21E RID: 45598 RVA: 0x0029DB50 File Offset: 0x0029BD50
[Token(Token = "0x600B21E")]
[Address(RVA = "0xC7EE80", Offset = "0xC7D880", VA = "0x180C7EE80")]
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: 0x0600B21F RID: 45599 RVA: 0x0029DB78 File Offset: 0x0029BD78
[Token(Token = "0x600B21F")]
[Address(RVA = "0xC7EDC0", Offset = "0xC7D7C0", VA = "0x180C7EDC0")]
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: 0x0600B220 RID: 45600 RVA: 0x0029DBB0 File Offset: 0x0029BDB0
[Token(Token = "0x600B220")]
[Address(RVA = "0x1EFFCE0", Offset = "0x1EFE6E0", VA = "0x181EFFCE0")]
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: 0x0600B221 RID: 45601 RVA: 0x0029DD14 File Offset: 0x0029BF14
[Token(Token = "0x600B221")]
[Address(RVA = "0x1F00940", Offset = "0x1EFF340", VA = "0x181F00940")]
public CRC32()
{
}
// Token: 0x0600B222 RID: 45602 RVA: 0x0029DD24 File Offset: 0x0029BF24
[Token(Token = "0x600B222")]
[Address(RVA = "0x1F00950", Offset = "0x1EFF350", VA = "0x181F00950")]
public CRC32(bool reverseBits)
{
}
// Token: 0x0600B223 RID: 45603 RVA: 0x0029DD34 File Offset: 0x0029BF34
[Token(Token = "0x600B223")]
[Address(RVA = "0x1F007D0", Offset = "0x1EFF1D0", VA = "0x181F007D0")]
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: 0x0600B224 RID: 45604 RVA: 0x0029DDD4 File Offset: 0x0029BFD4
[Token(Token = "0x600B224")]
[Address(RVA = "0x1F004F0", Offset = "0x1EFEEF0", VA = "0x181F004F0")]
public void Reset()
{
this._register = (uint)((ulong)4294967295L);
}
// Token: 0x04007591 RID: 30097
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007591")]
private uint dwPolynomial;
// Token: 0x04007592 RID: 30098
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007592")]
private long _TotalBytesRead;
// Token: 0x04007593 RID: 30099
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007593")]
private bool reverseBits;
// Token: 0x04007594 RID: 30100
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007594")]
private uint[] crc32Table;
// Token: 0x04007595 RID: 30101
[Token(Token = "0x4007595")]
private const int BUFFER_SIZE = 8192;
// Token: 0x04007596 RID: 30102
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007596")]
private uint _register;
}
}
@@ -0,0 +1,61 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019DA RID: 6618
[Token(Token = "0x20019DA")]
[StructLayout(3)]
public sealed class Adler
{
// Token: 0x0600B1E2 RID: 45538 RVA: 0x0029C5D4 File Offset: 0x0029A7D4
[Token(Token = "0x600B1E2")]
[Address(RVA = "0x1EFF820", Offset = "0x1EFE220", VA = "0x181EFF820")]
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: 0x0600B1E3 RID: 45539 RVA: 0x0029C650 File Offset: 0x0029A850
[Token(Token = "0x600B1E3")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Adler()
{
}
// Token: 0x0400755B RID: 30043
[Token(Token = "0x400755B")]
private static readonly uint BASE;
// Token: 0x0400755C RID: 30044
[Token(Token = "0x400755C")]
private static readonly int NMAX;
}
}
@@ -0,0 +1,25 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019C3 RID: 6595
[Token(Token = "0x20019C3")]
[StructLayout(3, Size = 4)]
internal enum BlockState
{
// Token: 0x0400744B RID: 29771
[Token(Token = "0x400744B")]
NeedMore,
// Token: 0x0400744C RID: 29772
[Token(Token = "0x400744C")]
BlockDone,
// Token: 0x0400744D RID: 29773
[Token(Token = "0x400744D")]
FinishStarted,
// Token: 0x0400744E RID: 29774
[Token(Token = "0x400744E")]
FinishDone
}
}
@@ -0,0 +1,55 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D3 RID: 6611
[Token(Token = "0x20019D3")]
[StructLayout(3, Size = 4)]
public enum CompressionLevel
{
// Token: 0x04007532 RID: 30002
[Token(Token = "0x4007532")]
None,
// Token: 0x04007533 RID: 30003
[Token(Token = "0x4007533")]
Level0 = 0,
// Token: 0x04007534 RID: 30004
[Token(Token = "0x4007534")]
BestSpeed,
// Token: 0x04007535 RID: 30005
[Token(Token = "0x4007535")]
Level1 = 1,
// Token: 0x04007536 RID: 30006
[Token(Token = "0x4007536")]
Level2,
// Token: 0x04007537 RID: 30007
[Token(Token = "0x4007537")]
Level3,
// Token: 0x04007538 RID: 30008
[Token(Token = "0x4007538")]
Level4,
// Token: 0x04007539 RID: 30009
[Token(Token = "0x4007539")]
Level5,
// Token: 0x0400753A RID: 30010
[Token(Token = "0x400753A")]
Default,
// Token: 0x0400753B RID: 30011
[Token(Token = "0x400753B")]
Level6 = 6,
// Token: 0x0400753C RID: 30012
[Token(Token = "0x400753C")]
Level7,
// Token: 0x0400753D RID: 30013
[Token(Token = "0x400753D")]
Level8,
// Token: 0x0400753E RID: 30014
[Token(Token = "0x400753E")]
BestCompression,
// Token: 0x0400753F RID: 30015
[Token(Token = "0x400753F")]
Level9 = 9
}
}
@@ -0,0 +1,19 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D5 RID: 6613
[Token(Token = "0x20019D5")]
[StructLayout(3, Size = 4)]
public enum CompressionMode
{
// Token: 0x04007545 RID: 30021
[Token(Token = "0x4007545")]
Compress,
// Token: 0x04007546 RID: 30022
[Token(Token = "0x4007546")]
Decompress
}
}
@@ -0,0 +1,22 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D4 RID: 6612
[Token(Token = "0x20019D4")]
[StructLayout(3, Size = 4)]
public enum CompressionStrategy
{
// Token: 0x04007541 RID: 30017
[Token(Token = "0x4007541")]
Default,
// Token: 0x04007542 RID: 30018
[Token(Token = "0x4007542")]
Filtered,
// Token: 0x04007543 RID: 30019
[Token(Token = "0x4007543")]
HuffmanOnly
}
}
@@ -0,0 +1,22 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019C4 RID: 6596
[Token(Token = "0x20019C4")]
[StructLayout(3, Size = 4)]
internal enum DeflateFlavor
{
// Token: 0x04007450 RID: 29776
[Token(Token = "0x4007450")]
Store,
// Token: 0x04007451 RID: 29777
[Token(Token = "0x4007451")]
Fast,
// Token: 0x04007452 RID: 29778
[Token(Token = "0x4007452")]
Slow
}
}
@@ -0,0 +1,2183 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019C5 RID: 6597
[Token(Token = "0x20019C5")]
[StructLayout(3)]
internal sealed class DeflateManager
{
// Token: 0x0600B14B RID: 45387 RVA: 0x00296954 File Offset: 0x00294B54
[Token(Token = "0x600B14B")]
[Address(RVA = "0x1F09170", Offset = "0x1F07B70", VA = "0x181F09170")]
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: 0x0600B14C RID: 45388 RVA: 0x00296A20 File Offset: 0x00294C20
[Token(Token = "0x600B14C")]
[Address(RVA = "0x1F088E0", Offset = "0x1F072E0", VA = "0x181F088E0")]
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: 0x0600B14D RID: 45389 RVA: 0x00296AB0 File Offset: 0x00294CB0
[Token(Token = "0x600B14D")]
[Address(RVA = "0x1F089D0", Offset = "0x1F073D0", VA = "0x181F089D0")]
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: 0x0600B14E RID: 45390 RVA: 0x00296B70 File Offset: 0x00294D70
[Token(Token = "0x600B14E")]
[Address(RVA = "0x1F086C0", Offset = "0x1F070C0", VA = "0x181F086C0")]
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: 0x0600B14F RID: 45391 RVA: 0x00296C14 File Offset: 0x00294E14
[Token(Token = "0x600B14F")]
[Address(RVA = "0x1F0AC90", Offset = "0x1F09690", VA = "0x181F0AC90")]
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: 0x0600B150 RID: 45392 RVA: 0x00296CB8 File Offset: 0x00294EB8
[Token(Token = "0x600B150")]
[Address(RVA = "0x1F08B10", Offset = "0x1F07510", VA = "0x181F08B10")]
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: 0x0600B151 RID: 45393 RVA: 0x00296CE8 File Offset: 0x00294EE8
[Token(Token = "0x600B151")]
[Address(RVA = "0x1F0AEF0", Offset = "0x1F098F0", VA = "0x181F0AEF0")]
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: 0x0600B152 RID: 45394 RVA: 0x00296D7C File Offset: 0x00294F7C
[Token(Token = "0x600B152")]
[Address(RVA = "0x1F0A340", Offset = "0x1F08D40", VA = "0x181F0A340")]
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: 0x0600B153 RID: 45395 RVA: 0x00296E08 File Offset: 0x00295008
[Token(Token = "0x600B153")]
[Address(RVA = "0x1F0B230", Offset = "0x1F09C30", VA = "0x181F0B230")]
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: 0x0600B154 RID: 45396 RVA: 0x00296E78 File Offset: 0x00295078
[Token(Token = "0x600B154")]
[Address(RVA = "0x1F0BAF0", Offset = "0x1F0A4F0", VA = "0x181F0BAF0")]
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: 0x0600B155 RID: 45397 RVA: 0x00296F38 File Offset: 0x00295138
[Token(Token = "0x600B155")]
[Address(RVA = "0xE29F30", Offset = "0xE28930", VA = "0x180E29F30")]
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: 0x0600B156 RID: 45398 RVA: 0x00296F60 File Offset: 0x00295160
[Token(Token = "0x600B156")]
[Address(RVA = "0x1F0B550", Offset = "0x1F09F50", VA = "0x181F0B550")]
internal void send_code(int c, short[] tree)
{
int length = tree.Length;
short num;
short num2;
this.send_bits((int)num, (int)num2);
}
// Token: 0x0600B157 RID: 45399 RVA: 0x00296F84 File Offset: 0x00295184
[Token(Token = "0x600B157")]
[Address(RVA = "0x1F0B3B0", Offset = "0x1F09DB0", VA = "0x181F0B3B0")]
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: 0x0600B158 RID: 45400 RVA: 0x00296FCC File Offset: 0x002951CC
[Token(Token = "0x600B158")]
[Address(RVA = "0x1F09670", Offset = "0x1F08070", VA = "0x181F09670")]
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: 0x0600B159 RID: 45401 RVA: 0x0029705C File Offset: 0x0029525C
[Token(Token = "0x600B159")]
[Address(RVA = "0x1F09F70", Offset = "0x1F08970", VA = "0x181F09F70")]
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: 0x0600B15A RID: 45402 RVA: 0x00297178 File Offset: 0x00295378
[Token(Token = "0x600B15A")]
[Address(RVA = "0x1F0B5C0", Offset = "0x1F09FC0", VA = "0x181F0B5C0")]
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: 0x0600B15B RID: 45403 RVA: 0x002972E0 File Offset: 0x002954E0
[Token(Token = "0x600B15B")]
[Address(RVA = "0x1F0BDB0", Offset = "0x1F0A7B0", VA = "0x181F0BDB0")]
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: 0x0600B15C RID: 45404 RVA: 0x0029733C File Offset: 0x0029553C
[Token(Token = "0x600B15C")]
[Address(RVA = "0xE29000", Offset = "0xE27A00", VA = "0x180E29000")]
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: 0x0600B15D RID: 45405 RVA: 0x002973E0 File Offset: 0x002955E0
[Token(Token = "0x600B15D")]
[Address(RVA = "0xE29100", Offset = "0xE27B00", VA = "0x180E29100")]
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: 0x0600B15E RID: 45406 RVA: 0x00297494 File Offset: 0x00295694
[Token(Token = "0x600B15E")]
[Address(RVA = "0xE29390", Offset = "0xE27D90", VA = "0x180E29390")]
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: 0x0600B15F RID: 45407 RVA: 0x0029754C File Offset: 0x0029574C
[Token(Token = "0x600B15F")]
[Address(RVA = "0x1F0A4D0", Offset = "0x1F08ED0", VA = "0x181F0A4D0")]
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: 0x0600B160 RID: 45408 RVA: 0x00297598 File Offset: 0x00295798
[Token(Token = "0x600B160")]
[Address(RVA = "0x1F064A0", Offset = "0x1F04EA0", VA = "0x181F064A0")]
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: 0x0600B161 RID: 45409 RVA: 0x002976EC File Offset: 0x002958EC
[Token(Token = "0x600B161")]
[Address(RVA = "0x1F09DB0", Offset = "0x1F087B0", VA = "0x181F09DB0")]
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: 0x0600B162 RID: 45410 RVA: 0x002977A8 File Offset: 0x002959A8
[Token(Token = "0x600B162")]
[Address(RVA = "0x1F098A0", Offset = "0x1F082A0", VA = "0x181F098A0")]
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: 0x0600B163 RID: 45411 RVA: 0x00297948 File Offset: 0x00295B48
[Token(Token = "0x600B163")]
[Address(RVA = "0x1F09350", Offset = "0x1F07D50", VA = "0x181F09350")]
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: 0x0600B164 RID: 45412 RVA: 0x00297AC4 File Offset: 0x00295CC4
[Token(Token = "0x600B164")]
[Address(RVA = "0x1F05DD0", Offset = "0x1F047D0", VA = "0x181F05DD0")]
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: 0x0600B165 RID: 45413 RVA: 0x00297DB4 File Offset: 0x00295FB4
[Token(Token = "0x600B165")]
[Address(RVA = "0x1F066E0", Offset = "0x1F050E0", VA = "0x181F066E0")]
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: 0x0600B166 RID: 45414 RVA: 0x0029815C File Offset: 0x0029635C
[Token(Token = "0x600B166")]
[Address(RVA = "0x1F0A530", Offset = "0x1F08F30", VA = "0x181F0A530")]
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: 0x17001C9F RID: 7327
// (get) Token: 0x0600B167 RID: 45415 RVA: 0x00298324 File Offset: 0x00296524
// (set) Token: 0x0600B168 RID: 45416 RVA: 0x00298338 File Offset: 0x00296538
[Token(Token = "0x17001C9F")]
internal bool WantRfc1950HeaderBytes
{
[Token(Token = "0x600B167")]
[Address(RVA = "0xE29560", Offset = "0xE27F60", VA = "0x180E29560")]
get
{
return this._WantRfc1950HeaderBytes;
}
[Token(Token = "0x600B168")]
[Address(RVA = "0xE2AE40", Offset = "0xE29840", VA = "0x180E2AE40")]
set
{
this._WantRfc1950HeaderBytes = value;
}
}
// Token: 0x0600B169 RID: 45417 RVA: 0x0029834C File Offset: 0x0029654C
[Token(Token = "0x600B169")]
[Address(RVA = "0x1F07A60", Offset = "0x1F06460", VA = "0x181F07A60")]
internal int Initialize(ZlibCodec codec, CompressionLevel level)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600B16A RID: 45418 RVA: 0x00298364 File Offset: 0x00296564
[Token(Token = "0x600B16A")]
[Address(RVA = "0x1F079B0", Offset = "0x1F063B0", VA = "0x181F079B0")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600B16B RID: 45419 RVA: 0x0029837C File Offset: 0x0029657C
[Token(Token = "0x600B16B")]
[Address(RVA = "0x1F07DB0", Offset = "0x1F067B0", VA = "0x181F07DB0")]
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits, CompressionStrategy compressionStrategy)
{
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
int num;
return num;
}
// Token: 0x0600B16C RID: 45420 RVA: 0x00298390 File Offset: 0x00296590
[Token(Token = "0x600B16C")]
[Address(RVA = "0x1F07B00", Offset = "0x1F06500", VA = "0x181F07B00")]
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: 0x0600B16D RID: 45421 RVA: 0x00298494 File Offset: 0x00296694
[Token(Token = "0x600B16D")]
[Address(RVA = "0x1F07E60", Offset = "0x1F06860", VA = "0x181F07E60")]
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: 0x0600B16E RID: 45422 RVA: 0x00298638 File Offset: 0x00296838
[Token(Token = "0x600B16E")]
[Address(RVA = "0x1F07850", Offset = "0x1F06250", VA = "0x181F07850")]
internal int End()
{
int num = this.status;
int num2 = this.status;
int num3 = this.status;
return -2;
}
// Token: 0x0600B16F RID: 45423 RVA: 0x00298664 File Offset: 0x00296864
[Token(Token = "0x600B16F")]
[Address(RVA = "0x1F08180", Offset = "0x1F06B80", VA = "0x181F08180")]
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: 0x0600B170 RID: 45424 RVA: 0x002986B8 File Offset: 0x002968B8
[Token(Token = "0x600B170")]
[Address(RVA = "0x1F085D0", Offset = "0x1F06FD0", VA = "0x181F085D0")]
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: 0x0600B171 RID: 45425 RVA: 0x0029872C File Offset: 0x0029692C
[Token(Token = "0x600B171")]
[Address(RVA = "0x1F08220", Offset = "0x1F06C20", VA = "0x181F08220")]
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: 0x0600B172 RID: 45426 RVA: 0x0029885C File Offset: 0x00296A5C
[Token(Token = "0x600B172")]
[Address(RVA = "0x1F06F00", Offset = "0x1F05900", VA = "0x181F06F00")]
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: 0x0600B173 RID: 45427 RVA: 0x00298BFC File Offset: 0x00296DFC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B173")]
[Address(RVA = "0x1F08BD0", Offset = "0x1F075D0", VA = "0x181F08BD0")]
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: 0x04007453 RID: 29779
[Token(Token = "0x4007453")]
private static readonly int MEM_LEVEL_MAX;
// Token: 0x04007454 RID: 29780
[Token(Token = "0x4007454")]
private static readonly int MEM_LEVEL_DEFAULT;
// Token: 0x04007455 RID: 29781
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007455")]
private DeflateManager.CompressFunc DeflateFunction;
// Token: 0x04007456 RID: 29782
[Token(Token = "0x4007456")]
private static readonly string[] _ErrorMessage;
// Token: 0x04007457 RID: 29783
[Token(Token = "0x4007457")]
private static readonly int PRESET_DICT;
// Token: 0x04007458 RID: 29784
[Token(Token = "0x4007458")]
private static readonly int INIT_STATE;
// Token: 0x04007459 RID: 29785
[Token(Token = "0x4007459")]
private static readonly int BUSY_STATE;
// Token: 0x0400745A RID: 29786
[Token(Token = "0x400745A")]
private static readonly int FINISH_STATE;
// Token: 0x0400745B RID: 29787
[Token(Token = "0x400745B")]
private static readonly int Z_DEFLATED;
// Token: 0x0400745C RID: 29788
[Token(Token = "0x400745C")]
private static readonly int STORED_BLOCK;
// Token: 0x0400745D RID: 29789
[Token(Token = "0x400745D")]
private static readonly int STATIC_TREES;
// Token: 0x0400745E RID: 29790
[Token(Token = "0x400745E")]
private static readonly int DYN_TREES;
// Token: 0x0400745F RID: 29791
[Token(Token = "0x400745F")]
private static readonly int Z_BINARY;
// Token: 0x04007460 RID: 29792
[Token(Token = "0x4007460")]
private static readonly int Z_ASCII;
// Token: 0x04007461 RID: 29793
[Token(Token = "0x4007461")]
private static readonly int Z_UNKNOWN;
// Token: 0x04007462 RID: 29794
[Token(Token = "0x4007462")]
private static readonly int Buf_size;
// Token: 0x04007463 RID: 29795
[Token(Token = "0x4007463")]
private static readonly int MIN_MATCH;
// Token: 0x04007464 RID: 29796
[Token(Token = "0x4007464")]
private static readonly int MAX_MATCH;
// Token: 0x04007465 RID: 29797
[Token(Token = "0x4007465")]
private static readonly int MIN_LOOKAHEAD;
// Token: 0x04007466 RID: 29798
[Token(Token = "0x4007466")]
private static readonly int HEAP_SIZE;
// Token: 0x04007467 RID: 29799
[Token(Token = "0x4007467")]
private static readonly int END_BLOCK;
// Token: 0x04007468 RID: 29800
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007468")]
internal ZlibCodec _codec;
// Token: 0x04007469 RID: 29801
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007469")]
internal int status;
// Token: 0x0400746A RID: 29802
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400746A")]
internal byte[] pending;
// Token: 0x0400746B RID: 29803
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400746B")]
internal int nextPending;
// Token: 0x0400746C RID: 29804
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400746C")]
internal int pendingCount;
// Token: 0x0400746D RID: 29805
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400746D")]
internal sbyte data_type;
// Token: 0x0400746E RID: 29806
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400746E")]
internal int last_flush;
// Token: 0x0400746F RID: 29807
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400746F")]
internal int w_size;
// Token: 0x04007470 RID: 29808
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
[Token(Token = "0x4007470")]
internal int w_bits;
// Token: 0x04007471 RID: 29809
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007471")]
internal int w_mask;
// Token: 0x04007472 RID: 29810
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4007472")]
internal byte[] window;
// Token: 0x04007473 RID: 29811
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4007473")]
internal int window_size;
// Token: 0x04007474 RID: 29812
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4007474")]
internal short[] prev;
// Token: 0x04007475 RID: 29813
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4007475")]
internal short[] head;
// Token: 0x04007476 RID: 29814
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x4007476")]
internal int ins_h;
// Token: 0x04007477 RID: 29815
[global::Cpp2IlInjected.FieldOffset(Offset = "0x74")]
[Token(Token = "0x4007477")]
internal int hash_size;
// Token: 0x04007478 RID: 29816
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x4007478")]
internal int hash_bits;
// Token: 0x04007479 RID: 29817
[global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4007479")]
internal int hash_mask;
// Token: 0x0400747A RID: 29818
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x400747A")]
internal int hash_shift;
// Token: 0x0400747B RID: 29819
[global::Cpp2IlInjected.FieldOffset(Offset = "0x84")]
[Token(Token = "0x400747B")]
internal int block_start;
// Token: 0x0400747C RID: 29820
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x400747C")]
private DeflateManager.Config config;
// Token: 0x0400747D RID: 29821
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x400747D")]
internal int match_length;
// Token: 0x0400747E RID: 29822
[global::Cpp2IlInjected.FieldOffset(Offset = "0x94")]
[Token(Token = "0x400747E")]
internal int prev_match;
// Token: 0x0400747F RID: 29823
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x400747F")]
internal int match_available;
// Token: 0x04007480 RID: 29824
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")]
[Token(Token = "0x4007480")]
internal int strstart;
// Token: 0x04007481 RID: 29825
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4007481")]
internal int match_start;
// Token: 0x04007482 RID: 29826
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4007482")]
internal int lookahead;
// Token: 0x04007483 RID: 29827
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4007483")]
internal int prev_length;
// Token: 0x04007484 RID: 29828
[global::Cpp2IlInjected.FieldOffset(Offset = "0xAC")]
[Token(Token = "0x4007484")]
internal CompressionLevel compressionLevel;
// Token: 0x04007485 RID: 29829
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4007485")]
internal CompressionStrategy compressionStrategy;
// Token: 0x04007486 RID: 29830
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4007486")]
internal short[] dyn_ltree;
// Token: 0x04007487 RID: 29831
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4007487")]
internal short[] dyn_dtree;
// Token: 0x04007488 RID: 29832
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4007488")]
internal short[] bl_tree;
// Token: 0x04007489 RID: 29833
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4007489")]
internal ZTree treeLiterals;
// Token: 0x0400748A RID: 29834
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
[Token(Token = "0x400748A")]
internal ZTree treeDistances;
// Token: 0x0400748B RID: 29835
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400748B")]
internal ZTree treeBitLengths;
// Token: 0x0400748C RID: 29836
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
[Token(Token = "0x400748C")]
internal short[] bl_count;
// Token: 0x0400748D RID: 29837
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
[Token(Token = "0x400748D")]
internal int[] heap;
// Token: 0x0400748E RID: 29838
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")]
[Token(Token = "0x400748E")]
internal int heap_len;
// Token: 0x0400748F RID: 29839
[global::Cpp2IlInjected.FieldOffset(Offset = "0xFC")]
[Token(Token = "0x400748F")]
internal int heap_max;
// Token: 0x04007490 RID: 29840
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
[Token(Token = "0x4007490")]
internal sbyte[] depth;
// Token: 0x04007491 RID: 29841
[global::Cpp2IlInjected.FieldOffset(Offset = "0x108")]
[Token(Token = "0x4007491")]
internal int _lengthOffset;
// Token: 0x04007492 RID: 29842
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10C")]
[Token(Token = "0x4007492")]
internal int lit_bufsize;
// Token: 0x04007493 RID: 29843
[global::Cpp2IlInjected.FieldOffset(Offset = "0x110")]
[Token(Token = "0x4007493")]
internal int last_lit;
// Token: 0x04007494 RID: 29844
[global::Cpp2IlInjected.FieldOffset(Offset = "0x114")]
[Token(Token = "0x4007494")]
internal int _distanceOffset;
// Token: 0x04007495 RID: 29845
[global::Cpp2IlInjected.FieldOffset(Offset = "0x118")]
[Token(Token = "0x4007495")]
internal int opt_len;
// Token: 0x04007496 RID: 29846
[global::Cpp2IlInjected.FieldOffset(Offset = "0x11C")]
[Token(Token = "0x4007496")]
internal int static_len;
// Token: 0x04007497 RID: 29847
[global::Cpp2IlInjected.FieldOffset(Offset = "0x120")]
[Token(Token = "0x4007497")]
internal int matches;
// Token: 0x04007498 RID: 29848
[global::Cpp2IlInjected.FieldOffset(Offset = "0x124")]
[Token(Token = "0x4007498")]
internal int last_eob_len;
// Token: 0x04007499 RID: 29849
[global::Cpp2IlInjected.FieldOffset(Offset = "0x128")]
[Token(Token = "0x4007499")]
internal short bi_buf;
// Token: 0x0400749A RID: 29850
[global::Cpp2IlInjected.FieldOffset(Offset = "0x12C")]
[Token(Token = "0x400749A")]
internal int bi_valid;
// Token: 0x0400749B RID: 29851
[global::Cpp2IlInjected.FieldOffset(Offset = "0x130")]
[Token(Token = "0x400749B")]
private bool Rfc1950BytesEmitted;
// Token: 0x0400749C RID: 29852
[global::Cpp2IlInjected.FieldOffset(Offset = "0x131")]
[Token(Token = "0x400749C")]
private bool _WantRfc1950HeaderBytes;
// Token: 0x020019C6 RID: 6598
[Token(Token = "0x20019C6")]
internal sealed class CompressFunc : MulticastDelegate
{
// Token: 0x0600B174 RID: 45428 RVA: 0x00298D14 File Offset: 0x00296F14
[Token(Token = "0x600B174")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public CompressFunc(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600B175 RID: 45429 RVA: 0x00298D30 File Offset: 0x00296F30
[Token(Token = "0x600B175")]
[Address(RVA = "0x46F230", Offset = "0x46DC30", VA = "0x18046F230", Slot = "13")]
public BlockState Invoke(FlushType flush)
{
uint num;
do
{
if (this.delegates != 0)
{
}
}
while (num == (uint)0);
throw new ExecutionEngineException();
}
// Token: 0x0600B176 RID: 45430 RVA: 0x00298DA4 File Offset: 0x00296FA4
[Token(Token = "0x600B176")]
[Address(RVA = "0x1F00970", Offset = "0x1EFF370", VA = "0x181F00970", Slot = "14")]
public IAsyncResult BeginInvoke(FlushType flush, AsyncCallback callback, object @object)
{
}
// Token: 0x0600B177 RID: 45431 RVA: 0x00298DB4 File Offset: 0x00296FB4
[Token(Token = "0x600B177")]
[Address(RVA = "0x4338C0", Offset = "0x4322C0", VA = "0x1804338C0", Slot = "15")]
public BlockState EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
// Token: 0x020019C7 RID: 6599
[Token(Token = "0x20019C7")]
internal class Config
{
// Token: 0x0600B178 RID: 45432 RVA: 0x00298DC8 File Offset: 0x00296FC8
[Token(Token = "0x600B178")]
[Address(RVA = "0xE250B0", Offset = "0xE23AB0", VA = "0x180E250B0")]
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: 0x0600B179 RID: 45433 RVA: 0x00298E00 File Offset: 0x00297000
[Token(Token = "0x600B179")]
[Address(RVA = "0x1F009F0", Offset = "0x1EFF3F0", VA = "0x181F009F0")]
public static DeflateManager.Config Lookup(CompressionLevel level)
{
return DeflateManager.Config.Table[(int)level];
}
// Token: 0x0600B17A RID: 45434 RVA: 0x00298E20 File Offset: 0x00297020
[Token(Token = "0x600B17A")]
[Address(RVA = "0x1F00A80", Offset = "0x1EFF480", VA = "0x181F00A80")]
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: 0x0400749D RID: 29853
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400749D")]
internal int GoodLength;
// Token: 0x0400749E RID: 29854
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x400749E")]
internal int MaxLazy;
// Token: 0x0400749F RID: 29855
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400749F")]
internal int NiceLength;
// Token: 0x040074A0 RID: 29856
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40074A0")]
internal int MaxChainLength;
// Token: 0x040074A1 RID: 29857
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074A1")]
internal DeflateFlavor Flavor;
// Token: 0x040074A2 RID: 29858
[Token(Token = "0x40074A2")]
private static readonly DeflateManager.Config[] Table;
}
}
}
@@ -0,0 +1,523 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019C8 RID: 6600
[Token(Token = "0x20019C8")]
[StructLayout(3)]
public class DeflateStream : Stream
{
// Token: 0x0600B17B RID: 45435 RVA: 0x002990A4 File Offset: 0x002972A4
[Token(Token = "0x600B17B")]
[Address(RVA = "0x1F0C2B0", Offset = "0x1F0ACB0", VA = "0x181F0C2B0")]
public DeflateStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600B17C RID: 45436 RVA: 0x002990B4 File Offset: 0x002972B4
[Token(Token = "0x600B17C")]
[Address(RVA = "0x1F0C2E0", Offset = "0x1F0ACE0", VA = "0x181F0C2E0")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600B17D RID: 45437 RVA: 0x002990C4 File Offset: 0x002972C4
[Token(Token = "0x600B17D")]
[Address(RVA = "0x1F0C300", Offset = "0x1F0AD00", VA = "0x181F0C300")]
public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600B17E RID: 45438 RVA: 0x002990D4 File Offset: 0x002972D4
[Token(Token = "0x600B17E")]
[Address(RVA = "0x1F0C400", Offset = "0x1F0AE00", VA = "0x181F0C400")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x0600B17F RID: 45439 RVA: 0x002990F8 File Offset: 0x002972F8
[Token(Token = "0x600B17F")]
[Address(RVA = "0x1F0C330", Offset = "0x1F0AD30", VA = "0x181F0C330")]
public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen, int windowBits)
{
this._innerStream = stream;
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x17001CA0 RID: 7328
// (get) Token: 0x0600B180 RID: 45440 RVA: 0x0029911C File Offset: 0x0029731C
// (set) Token: 0x0600B181 RID: 45441 RVA: 0x0029913C File Offset: 0x0029733C
[Token(Token = "0x17001CA0")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600B180")]
[Address(RVA = "0x1F0C610", Offset = "0x1F0B010", VA = "0x181F0C610", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600B181")]
[Address(RVA = "0x1F0C850", Offset = "0x1F0B250", VA = "0x181F0C850", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600B181)
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: 0x17001CA1 RID: 7329
// (get) Token: 0x0600B182 RID: 45442 RVA: 0x0029916C File Offset: 0x0029736C
// (set) Token: 0x0600B183 RID: 45443 RVA: 0x0029918C File Offset: 0x0029738C
[Token(Token = "0x17001CA1")]
public int BufferSize
{
[Token(Token = "0x600B182")]
[Address(RVA = "0x1F0C4D0", Offset = "0x1F0AED0", VA = "0x181F0C4D0")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600B183")]
[Address(RVA = "0x1F0C700", Offset = "0x1F0B100", VA = "0x181F0C700")]
set
{
/*
An exception occurred when decompiling this method (0600B183)
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: 0x17001CA2 RID: 7330
// (get) Token: 0x0600B184 RID: 45444 RVA: 0x002991C8 File Offset: 0x002973C8
// (set) Token: 0x0600B185 RID: 45445 RVA: 0x002991E8 File Offset: 0x002973E8
[Token(Token = "0x17001CA2")]
public CompressionStrategy Strategy
{
[Token(Token = "0x600B184")]
[Address(RVA = "0x1F0C680", Offset = "0x1F0B080", VA = "0x181F0C680")]
get
{
return this._baseStream.Strategy;
}
[Token(Token = "0x600B185")]
[Address(RVA = "0x1F0C920", Offset = "0x1F0B320", VA = "0x181F0C920")]
set
{
/*
An exception occurred when decompiling this method (0600B185)
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: 0x17001CA3 RID: 7331
// (get) Token: 0x0600B186 RID: 45446 RVA: 0x00299218 File Offset: 0x00297418
[Token(Token = "0x17001CA3")]
public virtual long TotalIn
{
[Token(Token = "0x600B186")]
[Address(RVA = "0x1F0C6A0", Offset = "0x1F0B0A0", VA = "0x181F0C6A0", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x17001CA4 RID: 7332
// (get) Token: 0x0600B187 RID: 45447 RVA: 0x0029923C File Offset: 0x0029743C
[Token(Token = "0x17001CA4")]
public virtual long TotalOut
{
[Token(Token = "0x600B187")]
[Address(RVA = "0x1F0C6D0", Offset = "0x1F0B0D0", VA = "0x181F0C6D0", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600B188 RID: 45448 RVA: 0x00299260 File Offset: 0x00297460
[Token(Token = "0x600B188")]
[Address(RVA = "0x1F0BF90", Offset = "0x1F0A990", VA = "0x181F0BF90", 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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x17001CA5 RID: 7333
// (get) Token: 0x0600B189 RID: 45449 RVA: 0x002992A4 File Offset: 0x002974A4
[Token(Token = "0x17001CA5")]
public override bool CanRead
{
[Token(Token = "0x600B189")]
[Address(RVA = "0x1F0C4F0", Offset = "0x1F0AEF0", VA = "0x181F0C4F0", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600B189)
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: 0x17001CA6 RID: 7334
// (get) Token: 0x0600B18A RID: 45450 RVA: 0x002992D8 File Offset: 0x002974D8
[Token(Token = "0x17001CA6")]
public override bool CanSeek
{
[Token(Token = "0x600B18A")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "8")]
get
{
}
}
// Token: 0x17001CA7 RID: 7335
// (get) Token: 0x0600B18B RID: 45451 RVA: 0x002992E8 File Offset: 0x002974E8
[Token(Token = "0x17001CA7")]
public override bool CanWrite
{
[Token(Token = "0x600B18B")]
[Address(RVA = "0x1F0C580", Offset = "0x1F0AF80", VA = "0x181F0C580", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600B18B)
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: 0x0600B18C RID: 45452 RVA: 0x0029931C File Offset: 0x0029751C
[Token(Token = "0x600B18C")]
[Address(RVA = "0x1F0C060", Offset = "0x1F0AA60", VA = "0x181F0C060", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600B18C)
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: 0x17001CA8 RID: 7336
// (get) Token: 0x0600B18D RID: 45453 RVA: 0x00299348 File Offset: 0x00297548
[Token(Token = "0x17001CA8")]
public override long Length
{
[Token(Token = "0x600B18D")]
[Address(RVA = "0x1F0C630", Offset = "0x1F0B030", VA = "0x181F0C630", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600B18D)
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: 0x17001CA9 RID: 7337
// (get) Token: 0x0600B18E RID: 45454 RVA: 0x0029935C File Offset: 0x0029755C
// (set) Token: 0x0600B18F RID: 45455 RVA: 0x002993A0 File Offset: 0x002975A0
[Token(Token = "0x17001CA9")]
public override long Position
{
[Token(Token = "0x600B18E")]
[Address(RVA = "0xE2B770", Offset = "0xE2A170", VA = "0x180E2B770", 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 = "0x600B18F")]
[Address(RVA = "0x1F0C8D0", Offset = "0x1F0B2D0", VA = "0x181F0C8D0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B18F)
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: 0x0600B190 RID: 45456 RVA: 0x002993B4 File Offset: 0x002975B4
[Token(Token = "0x600B190")]
[Address(RVA = "0x1F0C0E0", Offset = "0x1F0AAE0", VA = "0x181F0C0E0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B190)
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: 0x0600B191 RID: 45457 RVA: 0x002993E4 File Offset: 0x002975E4
[Token(Token = "0x600B191")]
[Address(RVA = "0x1F0C1A0", Offset = "0x1F0ABA0", VA = "0x181F0C1A0", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600B191)
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: 0x0600B192 RID: 45458 RVA: 0x002993F8 File Offset: 0x002975F8
[Token(Token = "0x600B192")]
[Address(RVA = "0x775940", Offset = "0x774340", VA = "0x180775940", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600B193 RID: 45459 RVA: 0x00299418 File Offset: 0x00297618
[Token(Token = "0x600B193")]
[Address(RVA = "0x1F0C1F0", Offset = "0x1F0ABF0", VA = "0x181F0C1F0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B193)
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: 0x040074A3 RID: 29859
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074A3")]
internal ZlibBaseStream _baseStream;
// Token: 0x040074A4 RID: 29860
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074A4")]
internal Stream _innerStream;
// Token: 0x040074A5 RID: 29861
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074A5")]
private bool _disposed;
}
}
@@ -0,0 +1,28 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D2 RID: 6610
[Token(Token = "0x20019D2")]
[StructLayout(3, Size = 4)]
public enum FlushType
{
// Token: 0x0400752C RID: 29996
[Token(Token = "0x400752C")]
None,
// Token: 0x0400752D RID: 29997
[Token(Token = "0x400752D")]
Partial,
// Token: 0x0400752E RID: 29998
[Token(Token = "0x400752E")]
Sync,
// Token: 0x0400752F RID: 29999
[Token(Token = "0x400752F")]
Full,
// Token: 0x04007530 RID: 30000
[Token(Token = "0x4007530")]
Finish
}
}
@@ -0,0 +1,659 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019C9 RID: 6601
[Token(Token = "0x20019C9")]
[StructLayout(3)]
public class GZipStream : Stream
{
// Token: 0x17001CAA RID: 7338
// (get) Token: 0x0600B194 RID: 45460 RVA: 0x00299448 File Offset: 0x00297648
// (set) Token: 0x0600B195 RID: 45461 RVA: 0x0029945C File Offset: 0x0029765C
[Token(Token = "0x17001CAA")]
public string Comment
{
[Token(Token = "0x600B194")]
[Address(RVA = "0x4B81A0", Offset = "0x4B6BA0", VA = "0x1804B81A0")]
get
{
return this._Comment;
}
[Token(Token = "0x600B195")]
[Address(RVA = "0x1F0D970", Offset = "0x1F0C370", VA = "0x181F0D970")]
set
{
/*
An exception occurred when decompiling this method (0600B195)
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: 0x17001CAB RID: 7339
// (get) Token: 0x0600B196 RID: 45462 RVA: 0x00299484 File Offset: 0x00297684
// (set) Token: 0x0600B197 RID: 45463 RVA: 0x00299498 File Offset: 0x00297698
[Token(Token = "0x17001CAB")]
public string FileName
{
[Token(Token = "0x600B196")]
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")]
get
{
return this._FileName;
}
[Token(Token = "0x600B197")]
[Address(RVA = "0x1F0D9F0", Offset = "0x1F0C3F0", VA = "0x181F0D9F0")]
set
{
/*
An exception occurred when decompiling this method (0600B197)
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: 0x17001CAC RID: 7340
// (get) Token: 0x0600B198 RID: 45464 RVA: 0x00299534 File Offset: 0x00297734
[Token(Token = "0x17001CAC")]
public int Crc32
{
[Token(Token = "0x600B198")]
[Address(RVA = "0x501240", Offset = "0x4FFC40", VA = "0x180501240")]
get
{
return this._Crc32;
}
}
// Token: 0x0600B199 RID: 45465 RVA: 0x00299548 File Offset: 0x00297748
[Token(Token = "0x600B199")]
[Address(RVA = "0x1F0D4C0", Offset = "0x1F0BEC0", VA = "0x181F0D4C0")]
public GZipStream(Stream stream, CompressionMode mode)
{
}
// Token: 0x0600B19A RID: 45466 RVA: 0x00299558 File Offset: 0x00297758
[Token(Token = "0x600B19A")]
[Address(RVA = "0x1F0D5C0", Offset = "0x1F0BFC0", VA = "0x181F0D5C0")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level)
{
}
// Token: 0x0600B19B RID: 45467 RVA: 0x00299568 File Offset: 0x00297768
[Token(Token = "0x600B19B")]
[Address(RVA = "0x1F0D5E0", Offset = "0x1F0BFE0", VA = "0x181F0D5E0")]
public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen)
{
}
// Token: 0x0600B19C RID: 45468 RVA: 0x00299578 File Offset: 0x00297778
[Token(Token = "0x600B19C")]
[Address(RVA = "0x1F0D4F0", Offset = "0x1F0BEF0", VA = "0x181F0D4F0")]
public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
{
ZlibBaseStream zlibBaseStream;
this._baseStream = zlibBaseStream;
}
// Token: 0x17001CAD RID: 7341
// (get) Token: 0x0600B19D RID: 45469 RVA: 0x00299594 File Offset: 0x00297794
// (set) Token: 0x0600B19E RID: 45470 RVA: 0x002995B4 File Offset: 0x002977B4
[Token(Token = "0x17001CAD")]
public virtual FlushType FlushMode
{
[Token(Token = "0x600B19D")]
[Address(RVA = "0x1F0D750", Offset = "0x1F0C150", VA = "0x181F0D750", Slot = "31")]
get
{
return this._baseStream._flushMode;
}
[Token(Token = "0x600B19E")]
[Address(RVA = "0x1F0DB60", Offset = "0x1F0C560", VA = "0x181F0DB60", Slot = "32")]
set
{
/*
An exception occurred when decompiling this method (0600B19E)
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: 0x17001CAE RID: 7342
// (get) Token: 0x0600B19F RID: 45471 RVA: 0x002995E4 File Offset: 0x002977E4
// (set) Token: 0x0600B1A0 RID: 45472 RVA: 0x00299604 File Offset: 0x00297804
[Token(Token = "0x17001CAE")]
public int BufferSize
{
[Token(Token = "0x600B19F")]
[Address(RVA = "0x1F0D610", Offset = "0x1F0C010", VA = "0x181F0D610")]
get
{
return this._baseStream._bufferSize;
}
[Token(Token = "0x600B1A0")]
[Address(RVA = "0x1F0D820", Offset = "0x1F0C220", VA = "0x181F0D820")]
set
{
/*
An exception occurred when decompiling this method (0600B1A0)
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: 0x17001CAF RID: 7343
// (get) Token: 0x0600B1A1 RID: 45473 RVA: 0x00299640 File Offset: 0x00297840
[Token(Token = "0x17001CAF")]
public virtual long TotalIn
{
[Token(Token = "0x600B1A1")]
[Address(RVA = "0x1F0D7C0", Offset = "0x1F0C1C0", VA = "0x181F0D7C0", Slot = "33")]
get
{
return this._baseStream._z.TotalBytesIn;
}
}
// Token: 0x17001CB0 RID: 7344
// (get) Token: 0x0600B1A2 RID: 45474 RVA: 0x00299664 File Offset: 0x00297864
[Token(Token = "0x17001CB0")]
public virtual long TotalOut
{
[Token(Token = "0x600B1A2")]
[Address(RVA = "0x1F0D7F0", Offset = "0x1F0C1F0", VA = "0x181F0D7F0", Slot = "34")]
get
{
return this._baseStream._z.TotalBytesOut;
}
}
// Token: 0x0600B1A3 RID: 45475 RVA: 0x00299688 File Offset: 0x00297888
[Token(Token = "0x600B1A3")]
[Address(RVA = "0x1F0C9A0", Offset = "0x1F0B3A0", VA = "0x181F0C9A0", 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 != -1)
{
}
if (num == 0)
{
return;
}
throw new NullReferenceException();
}
// Token: 0x17001CB1 RID: 7345
// (get) Token: 0x0600B1A4 RID: 45476 RVA: 0x002996E8 File Offset: 0x002978E8
[Token(Token = "0x17001CB1")]
public override bool CanRead
{
[Token(Token = "0x600B1A4")]
[Address(RVA = "0x1F0D630", Offset = "0x1F0C030", VA = "0x181F0D630", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600B1A4)
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: 0x17001CB2 RID: 7346
// (get) Token: 0x0600B1A5 RID: 45477 RVA: 0x0029971C File Offset: 0x0029791C
[Token(Token = "0x17001CB2")]
public override bool CanSeek
{
[Token(Token = "0x600B1A5")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "8")]
get
{
}
}
// Token: 0x17001CB3 RID: 7347
// (get) Token: 0x0600B1A6 RID: 45478 RVA: 0x0029972C File Offset: 0x0029792C
[Token(Token = "0x17001CB3")]
public override bool CanWrite
{
[Token(Token = "0x600B1A6")]
[Address(RVA = "0x1F0D6C0", Offset = "0x1F0C0C0", VA = "0x181F0D6C0", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600B1A6)
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: 0x0600B1A7 RID: 45479 RVA: 0x00299760 File Offset: 0x00297960
[Token(Token = "0x600B1A7")]
[Address(RVA = "0x1F0CF60", Offset = "0x1F0B960", VA = "0x181F0CF60", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600B1A7)
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: 0x17001CB4 RID: 7348
// (get) Token: 0x0600B1A8 RID: 45480 RVA: 0x0029978C File Offset: 0x0029798C
[Token(Token = "0x17001CB4")]
public override long Length
{
[Token(Token = "0x600B1A8")]
[Address(RVA = "0x1F0D770", Offset = "0x1F0C170", VA = "0x181F0D770", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600B1A8)
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: 0x17001CB5 RID: 7349
// (get) Token: 0x0600B1A9 RID: 45481 RVA: 0x002997A0 File Offset: 0x002979A0
// (set) Token: 0x0600B1AA RID: 45482 RVA: 0x002997EC File Offset: 0x002979EC
[Token(Token = "0x17001CB5")]
public override long Position
{
[Token(Token = "0x600B1A9")]
[Address(RVA = "0xE2C540", Offset = "0xE2AF40", VA = "0x180E2C540", 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 = "0x600B1AA")]
[Address(RVA = "0x1F0DBE0", Offset = "0x1F0C5E0", VA = "0x181F0DBE0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B1AA)
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: 0x0600B1AB RID: 45483 RVA: 0x00299800 File Offset: 0x00297A00
[Token(Token = "0x600B1AB")]
[Address(RVA = "0x1F0CFE0", Offset = "0x1F0B9E0", VA = "0x181F0CFE0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B1AB)
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: 0x0600B1AC RID: 45484 RVA: 0x002998FC File Offset: 0x00297AFC
[Token(Token = "0x600B1AC")]
[Address(RVA = "0x1F0D280", Offset = "0x1F0BC80", VA = "0x181F0D280", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600B1AC)
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: 0x0600B1AD RID: 45485 RVA: 0x00299910 File Offset: 0x00297B10
[Token(Token = "0x600B1AD")]
[Address(RVA = "0x1F0D2D0", Offset = "0x1F0BCD0", VA = "0x181F0D2D0", Slot = "26")]
public override void SetLength(long value)
{
((IDisposable)this._baseStream).Dispose();
}
// Token: 0x0600B1AE RID: 45486 RVA: 0x00299930 File Offset: 0x00297B30
[Token(Token = "0x600B1AE")]
[Address(RVA = "0x1F0D300", Offset = "0x1F0BD00", VA = "0x181F0D300", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B1AE)
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: 0x0600B1AF RID: 45487 RVA: 0x0029998C File Offset: 0x00297B8C
[Token(Token = "0x600B1AF")]
[Address(RVA = "0x1F0CA90", Offset = "0x1F0B490", VA = "0x181F0CA90")]
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;
TimeSpan timeSpan = now - 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: 0x040074A6 RID: 29862
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074A6")]
public DateTime? LastModified;
// Token: 0x040074A7 RID: 29863
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074A7")]
private int _headerByteCount;
// Token: 0x040074A8 RID: 29864
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40074A8")]
internal ZlibBaseStream _baseStream;
// Token: 0x040074A9 RID: 29865
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40074A9")]
private bool _disposed;
// Token: 0x040074AA RID: 29866
[global::Cpp2IlInjected.FieldOffset(Offset = "0x49")]
[Token(Token = "0x40074AA")]
private bool _firstReadDone;
// Token: 0x040074AB RID: 29867
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40074AB")]
private string _FileName;
// Token: 0x040074AC RID: 29868
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40074AC")]
private string _Comment;
// Token: 0x040074AD RID: 29869
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40074AD")]
private int _Crc32;
// Token: 0x040074AE RID: 29870
[Token(Token = "0x40074AE")]
internal static readonly DateTime _unixEpoch = 0;
// Token: 0x040074AF RID: 29871
[Token(Token = "0x40074AF")]
internal static readonly Encoding iso8859dash1 = Encoding.GetEncoding("iso-8859-1");
}
}
@@ -0,0 +1,442 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CA RID: 6602
[Token(Token = "0x20019CA")]
[StructLayout(3)]
internal sealed class InfTree
{
// Token: 0x0600B1B1 RID: 45489 RVA: 0x00299AA0 File Offset: 0x00297CA0
[Token(Token = "0x600B1B1")]
[Address(RVA = "0x1F12820", Offset = "0x1F11220", VA = "0x181F12820")]
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)
{
num13 = num9;
uint num16;
num16 -= (uint)num14;
if (num9 < num15)
{
int num17 = num9 + 1;
num9 = num17;
if (num17 < num15)
{
int[] array9 = this.c;
num16 += num16;
num += (uint)1;
int num18 = array9[(int)num];
if (num16 > (uint)num18)
{
num17++;
num16 -= (uint)num18;
num9 = num17;
}
}
}
this.u[0] = num12;
if (-1 == 0)
{
}
int[] array10 = this.x;
array10[0] = num10;
this.r[0] = array10;
this.r[0] = array10;
num13 -= (int)num;
int[] array11 = this.u;
int[] array12 = this.r;
num12 -= array10;
array12[1] = num12;
int[] array13 = this.u;
int num19;
num19 += array10;
int[] array14 = this.r;
}
int[] array15 = this.r;
num -= (uint)num13;
array15[0] = (int)num;
if (num11 < num9)
{
int[] array16 = this.r;
num11++;
int num20;
num20 += 80;
array16[0] = array15;
int num21;
this.r[1] = num21;
int[] array17 = this.r;
num11++;
uint num22;
array17[0] = (int)num22;
this.r[1] = (int)num22;
}
int[] array18 = this.r;
num -= (uint)num13;
uint num23;
if (array18 < num23)
{
int[] array19 = this.r;
uint num24;
array18 += num24;
}
uint num25;
if (num10 != (int)num25)
{
while (num10 != array18)
{
}
}
int[] array20 = this.x;
uint num26;
if (num26 != "{il2cpp array field local81->}")
{
num13 -= (int)num;
}
while (num14 != 0)
{
}
}
num += (uint)1;
while (num <= num2)
{
}
if (num2 != (uint)1)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600B1B2 RID: 45490 RVA: 0x00299DAC File Offset: 0x00297FAC
[Token(Token = "0x600B1B2")]
[Address(RVA = "0x1F13400", Offset = "0x1F11E00", VA = "0x181F13400")]
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: 0x0600B1B3 RID: 45491 RVA: 0x00299E00 File Offset: 0x00298000
[Token(Token = "0x600B1B3")]
[Address(RVA = "0x1F13550", Offset = "0x1F11F50", VA = "0x181F13550")]
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: 0x0600B1B4 RID: 45492 RVA: 0x00299EA0 File Offset: 0x002980A0
[Token(Token = "0x600B1B4")]
[Address(RVA = "0x1F13860", Offset = "0x1F12260", VA = "0x181F13860")]
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: 0x0600B1B5 RID: 45493 RVA: 0x00299EDC File Offset: 0x002980DC
[Token(Token = "0x600B1B5")]
[Address(RVA = "0x1F139F0", Offset = "0x1F123F0", VA = "0x181F139F0")]
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: 0x0600B1B6 RID: 45494 RVA: 0x00299FFC File Offset: 0x002981FC
[Token(Token = "0x600B1B6")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public InfTree()
{
}
// Token: 0x0600B1B7 RID: 45495 RVA: 0x0029A010 File Offset: 0x00298210
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1B7")]
[Address(RVA = "0x1F126A0", Offset = "0x1F110A0", VA = "0x181F126A0")]
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: 0x040074B0 RID: 29872
[Token(Token = "0x40074B0")]
private const int MANY = 1440;
// Token: 0x040074B1 RID: 29873
[Token(Token = "0x40074B1")]
private const int Z_OK = 0;
// Token: 0x040074B2 RID: 29874
[Token(Token = "0x40074B2")]
private const int Z_STREAM_END = 1;
// Token: 0x040074B3 RID: 29875
[Token(Token = "0x40074B3")]
private const int Z_NEED_DICT = 2;
// Token: 0x040074B4 RID: 29876
[Token(Token = "0x40074B4")]
private const int Z_ERRNO = -1;
// Token: 0x040074B5 RID: 29877
[Token(Token = "0x40074B5")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040074B6 RID: 29878
[Token(Token = "0x40074B6")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040074B7 RID: 29879
[Token(Token = "0x40074B7")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040074B8 RID: 29880
[Token(Token = "0x40074B8")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040074B9 RID: 29881
[Token(Token = "0x40074B9")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040074BA RID: 29882
[Token(Token = "0x40074BA")]
internal const int fixed_bl = 9;
// Token: 0x040074BB RID: 29883
[Token(Token = "0x40074BB")]
internal const int fixed_bd = 5;
// Token: 0x040074BC RID: 29884
[Token(Token = "0x40074BC")]
internal static readonly int[] fixed_tl;
// Token: 0x040074BD RID: 29885
[Token(Token = "0x40074BD")]
internal static readonly int[] fixed_td;
// Token: 0x040074BE RID: 29886
[Token(Token = "0x40074BE")]
internal static readonly int[] cplens;
// Token: 0x040074BF RID: 29887
[Token(Token = "0x40074BF")]
internal static readonly int[] cplext;
// Token: 0x040074C0 RID: 29888
[Token(Token = "0x40074C0")]
internal static readonly int[] cpdist;
// Token: 0x040074C1 RID: 29889
[Token(Token = "0x40074C1")]
internal static readonly int[] cpdext;
// Token: 0x040074C2 RID: 29890
[Token(Token = "0x40074C2")]
internal const int BMAX = 15;
// Token: 0x040074C3 RID: 29891
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074C3")]
internal int[] hn;
// Token: 0x040074C4 RID: 29892
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074C4")]
internal int[] v;
// Token: 0x040074C5 RID: 29893
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074C5")]
internal int[] c;
// Token: 0x040074C6 RID: 29894
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074C6")]
internal int[] r;
// Token: 0x040074C7 RID: 29895
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074C7")]
internal int[] u;
// Token: 0x040074C8 RID: 29896
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074C8")]
internal int[] x;
}
}
@@ -0,0 +1,354 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CB RID: 6603
[Token(Token = "0x20019CB")]
[StructLayout(3)]
internal sealed class InflateBlocks
{
// Token: 0x0600B1B8 RID: 45496 RVA: 0x0029A0BC File Offset: 0x002982BC
[Token(Token = "0x600B1B8")]
[Address(RVA = "0x1F155E0", Offset = "0x1F13FE0", VA = "0x181F155E0")]
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: 0x0600B1B9 RID: 45497 RVA: 0x0029A150 File Offset: 0x00298350
[Token(Token = "0x600B1B9")]
[Address(RVA = "0x1F15460", Offset = "0x1F13E60", VA = "0x181F15460")]
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: 0x0600B1BA RID: 45498 RVA: 0x0029A1A4 File Offset: 0x002983A4
[Token(Token = "0x600B1BA")]
[Address(RVA = "0x1F13DE0", Offset = "0x1F127E0", VA = "0x181F13DE0")]
internal int Process(int r)
{
/*
An exception occurred when decompiling this method (0600B1BA)
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: 0x0600B1BB RID: 45499 RVA: 0x0029AD68 File Offset: 0x00298F68
[Token(Token = "0x600B1BB")]
[Address(RVA = "0x1F13D60", Offset = "0x1F12760", VA = "0x181F13D60")]
internal void Free()
{
uint num = this.Reset();
VariableSizedBufferPool.Release(this.window);
int num2 = 0;
this.window = num2;
this.hufts = num2;
}
// Token: 0x0600B1BC RID: 45500 RVA: 0x0029AD98 File Offset: 0x00298F98
[Token(Token = "0x600B1BC")]
[Address(RVA = "0x1F15520", Offset = "0x1F13F20", VA = "0x181F15520")]
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: 0x0600B1BD RID: 45501 RVA: 0x0029ADC8 File Offset: 0x00298FC8
[Token(Token = "0x600B1BD")]
[Address(RVA = "0x1F15570", Offset = "0x1F13F70", VA = "0x181F15570")]
internal int SyncPoint()
{
/*
An exception occurred when decompiling this method (0600B1BD)
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: 0x0600B1BE RID: 45502 RVA: 0x0029ADE0 File Offset: 0x00298FE0
[Token(Token = "0x600B1BE")]
[Address(RVA = "0x1F13BB0", Offset = "0x1F125B0", VA = "0x181F13BB0")]
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: 0x0600B1BF RID: 45503 RVA: 0x0029AF14 File Offset: 0x00299114
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1BF")]
[Address(RVA = "0x1F15580", Offset = "0x1F13F80", VA = "0x181F15580")]
static InflateBlocks()
{
int[] array = new int[19];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.1FDC8DB567F5AAA7068D0D2A601CD71657CBDF38).FieldHandle);
InflateBlocks.border = array;
}
// Token: 0x040074C9 RID: 29897
[Token(Token = "0x40074C9")]
private const int MANY = 1440;
// Token: 0x040074CA RID: 29898
[Token(Token = "0x40074CA")]
internal static readonly int[] border;
// Token: 0x040074CB RID: 29899
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074CB")]
private InflateBlocks.InflateBlockMode mode;
// Token: 0x040074CC RID: 29900
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x40074CC")]
internal int left;
// Token: 0x040074CD RID: 29901
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074CD")]
internal int table;
// Token: 0x040074CE RID: 29902
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40074CE")]
internal int index;
// Token: 0x040074CF RID: 29903
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074CF")]
internal int[] blens;
// Token: 0x040074D0 RID: 29904
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074D0")]
internal int[] bb;
// Token: 0x040074D1 RID: 29905
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074D1")]
internal int[] tb;
// Token: 0x040074D2 RID: 29906
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074D2")]
internal InflateCodes codes;
// Token: 0x040074D3 RID: 29907
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40074D3")]
internal int last;
// Token: 0x040074D4 RID: 29908
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40074D4")]
internal ZlibCodec _codec;
// Token: 0x040074D5 RID: 29909
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40074D5")]
internal int bitk;
// Token: 0x040074D6 RID: 29910
[global::Cpp2IlInjected.FieldOffset(Offset = "0x54")]
[Token(Token = "0x40074D6")]
internal int bitb;
// Token: 0x040074D7 RID: 29911
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40074D7")]
internal int[] hufts;
// Token: 0x040074D8 RID: 29912
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40074D8")]
internal byte[] window;
// Token: 0x040074D9 RID: 29913
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x40074D9")]
internal int end;
// Token: 0x040074DA RID: 29914
[global::Cpp2IlInjected.FieldOffset(Offset = "0x6C")]
[Token(Token = "0x40074DA")]
internal int readAt;
// Token: 0x040074DB RID: 29915
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x40074DB")]
internal int writeAt;
// Token: 0x040074DC RID: 29916
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x40074DC")]
internal object checkfn;
// Token: 0x040074DD RID: 29917
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x40074DD")]
internal uint check;
// Token: 0x040074DE RID: 29918
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x40074DE")]
internal InfTree inftree;
// Token: 0x020019CC RID: 6604
[Token(Token = "0x20019CC")]
private enum InflateBlockMode
{
// Token: 0x040074E0 RID: 29920
[Token(Token = "0x40074E0")]
TYPE,
// Token: 0x040074E1 RID: 29921
[Token(Token = "0x40074E1")]
LENS,
// Token: 0x040074E2 RID: 29922
[Token(Token = "0x40074E2")]
STORED,
// Token: 0x040074E3 RID: 29923
[Token(Token = "0x40074E3")]
TABLE,
// Token: 0x040074E4 RID: 29924
[Token(Token = "0x40074E4")]
BTREE,
// Token: 0x040074E5 RID: 29925
[Token(Token = "0x40074E5")]
DTREE,
// Token: 0x040074E6 RID: 29926
[Token(Token = "0x40074E6")]
CODES,
// Token: 0x040074E7 RID: 29927
[Token(Token = "0x40074E7")]
DRY,
// Token: 0x040074E8 RID: 29928
[Token(Token = "0x40074E8")]
DONE,
// Token: 0x040074E9 RID: 29929
[Token(Token = "0x40074E9")]
BAD
}
}
}
@@ -0,0 +1,433 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CE RID: 6606
[Token(Token = "0x20019CE")]
[StructLayout(3)]
internal sealed class InflateCodes
{
// Token: 0x0600B1C1 RID: 45505 RVA: 0x0029AF5C File Offset: 0x0029915C
[Token(Token = "0x600B1C1")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
internal InflateCodes()
{
}
// Token: 0x0600B1C2 RID: 45506 RVA: 0x0029AF70 File Offset: 0x00299170
[Token(Token = "0x600B1C2")]
[Address(RVA = "0xE302D0", Offset = "0xE2ECD0", VA = "0x180E302D0")]
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: 0x0600B1C3 RID: 45507 RVA: 0x0029AFB8 File Offset: 0x002991B8
[Token(Token = "0x600B1C3")]
[Address(RVA = "0x1F162E0", Offset = "0x1F14CE0", VA = "0x181F162E0")]
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: 0x0600B1C4 RID: 45508 RVA: 0x0029B394 File Offset: 0x00299594
[Token(Token = "0x600B1C4")]
[Address(RVA = "0x1F15710", Offset = "0x1F14110", VA = "0x181F15710")]
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: 0x040074EB RID: 29931
[Token(Token = "0x40074EB")]
private const int START = 0;
// Token: 0x040074EC RID: 29932
[Token(Token = "0x40074EC")]
private const int LEN = 1;
// Token: 0x040074ED RID: 29933
[Token(Token = "0x40074ED")]
private const int LENEXT = 2;
// Token: 0x040074EE RID: 29934
[Token(Token = "0x40074EE")]
private const int DIST = 3;
// Token: 0x040074EF RID: 29935
[Token(Token = "0x40074EF")]
private const int DISTEXT = 4;
// Token: 0x040074F0 RID: 29936
[Token(Token = "0x40074F0")]
private const int COPY = 5;
// Token: 0x040074F1 RID: 29937
[Token(Token = "0x40074F1")]
private const int LIT = 6;
// Token: 0x040074F2 RID: 29938
[Token(Token = "0x40074F2")]
private const int WASH = 7;
// Token: 0x040074F3 RID: 29939
[Token(Token = "0x40074F3")]
private const int END = 8;
// Token: 0x040074F4 RID: 29940
[Token(Token = "0x40074F4")]
private const int BADCODE = 9;
// Token: 0x040074F5 RID: 29941
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074F5")]
internal int mode;
// Token: 0x040074F6 RID: 29942
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x40074F6")]
internal int len;
// Token: 0x040074F7 RID: 29943
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074F7")]
internal int[] tree;
// Token: 0x040074F8 RID: 29944
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074F8")]
internal int tree_index;
// Token: 0x040074F9 RID: 29945
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x40074F9")]
internal int need;
// Token: 0x040074FA RID: 29946
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074FA")]
internal int lit;
// Token: 0x040074FB RID: 29947
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40074FB")]
internal int bitsToGet;
// Token: 0x040074FC RID: 29948
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074FC")]
internal int dist;
// Token: 0x040074FD RID: 29949
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x40074FD")]
internal byte lbits;
// Token: 0x040074FE RID: 29950
[global::Cpp2IlInjected.FieldOffset(Offset = "0x35")]
[Token(Token = "0x40074FE")]
internal byte dbits;
// Token: 0x040074FF RID: 29951
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074FF")]
internal int[] ltree;
// Token: 0x04007500 RID: 29952
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007500")]
internal int ltree_index;
// Token: 0x04007501 RID: 29953
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007501")]
internal int[] dtree;
// Token: 0x04007502 RID: 29954
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4007502")]
internal int dtree_index;
}
}
@@ -0,0 +1,337 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CF RID: 6607
[Token(Token = "0x20019CF")]
[StructLayout(3)]
internal sealed class InflateManager
{
// Token: 0x17001CB6 RID: 7350
// (get) Token: 0x0600B1C5 RID: 45509 RVA: 0x0029B41C File Offset: 0x0029961C
// (set) Token: 0x0600B1C6 RID: 45510 RVA: 0x0029B430 File Offset: 0x00299630
[Token(Token = "0x17001CB6")]
internal bool HandleRfc1950HeaderBytes
{
[Token(Token = "0x600B1C5")]
[Address(RVA = "0x4CB2D0", Offset = "0x4C9CD0", VA = "0x1804CB2D0")]
get
{
return this._handleRfc1950HeaderBytes;
}
[Token(Token = "0x600B1C6")]
[Address(RVA = "0x4CB340", Offset = "0x4C9D40", VA = "0x1804CB340")]
set
{
this._handleRfc1950HeaderBytes = value;
}
}
// Token: 0x0600B1C7 RID: 45511 RVA: 0x0029B444 File Offset: 0x00299644
[Token(Token = "0x600B1C7")]
[Address(RVA = "0x639FF0", Offset = "0x6389F0", VA = "0x180639FF0")]
public InflateManager()
{
}
// Token: 0x0600B1C8 RID: 45512 RVA: 0x0029B460 File Offset: 0x00299660
[Token(Token = "0x600B1C8")]
[Address(RVA = "0xE31C30", Offset = "0xE30630", VA = "0x180E31C30")]
public InflateManager(bool expectRfc1950HeaderBytes)
{
this._handleRfc1950HeaderBytes = expectRfc1950HeaderBytes;
}
// Token: 0x0600B1C9 RID: 45513 RVA: 0x0029B484 File Offset: 0x00299684
[Token(Token = "0x600B1C9")]
[Address(RVA = "0x1E66060", Offset = "0x1E64A60", VA = "0x181E66060")]
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: 0x0600B1CA RID: 45514 RVA: 0x0029B4D0 File Offset: 0x002996D0
[Token(Token = "0x600B1CA")]
[Address(RVA = "0x1E655C0", Offset = "0x1E63FC0", VA = "0x181E655C0")]
internal int End()
{
InflateBlocks inflateBlocks = this.blocks;
if (inflateBlocks != 0)
{
inflateBlocks.Free();
}
int num = 0;
this.blocks = num;
return num;
}
// Token: 0x0600B1CB RID: 45515 RVA: 0x0029B4F8 File Offset: 0x002996F8
[Token(Token = "0x600B1CB")]
[Address(RVA = "0x1E65F20", Offset = "0x1E64920", VA = "0x181E65F20")]
internal int Initialize(ZlibCodec codec, int w)
{
this._codec = codec;
int num = 0;
codec.Message = num;
this.blocks = num;
bool handleRfc1950HeaderBytes = this._handleRfc1950HeaderBytes;
this.wbits = w;
InflateBlocks inflateBlocks = new InflateBlocks(codec, num, 1);
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 num2 = this.blocks.Reset();
return 0;
}
// Token: 0x0600B1CC RID: 45516 RVA: 0x0029B58C File Offset: 0x0029978C
[Token(Token = "0x600B1CC")]
[Address(RVA = "0x1E655F0", Offset = "0x1E63FF0", VA = "0x181E655F0")]
internal int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600B1CC)
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: 0x0600B1CD RID: 45517 RVA: 0x0029BB64 File Offset: 0x00299D64
[Token(Token = "0x600B1CD")]
[Address(RVA = "0x1E660B0", Offset = "0x1E64AB0", VA = "0x181E660B0")]
internal int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600B1CD)
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_80:
stloc:ZlibException(var_13_8A, 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: 0x0600B1CE RID: 45518 RVA: 0x0029BBFC File Offset: 0x00299DFC
[Token(Token = "0x600B1CE")]
[Address(RVA = "0x1E66250", Offset = "0x1E64C50", VA = "0x181E66250")]
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: 0x0600B1CF RID: 45519 RVA: 0x0029BD38 File Offset: 0x00299F38
[Token(Token = "0x600B1CF")]
[Address(RVA = "0x1E66230", Offset = "0x1E64C30", VA = "0x181E66230")]
internal int SyncPoint(ZlibCodec z)
{
return this.blocks.SyncPoint();
}
// Token: 0x0600B1D0 RID: 45520 RVA: 0x0029BD58 File Offset: 0x00299F58
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1D0")]
[Address(RVA = "0x1E664C0", Offset = "0x1E64EC0", VA = "0x181E664C0")]
static InflateManager()
{
byte[] array = new byte[4];
array[0] = (byte)((ulong)255L);
array[0] = (byte)((ulong)255L);
InflateManager.mark = array;
}
// Token: 0x04007503 RID: 29955
[Token(Token = "0x4007503")]
private const int PRESET_DICT = 32;
// Token: 0x04007504 RID: 29956
[Token(Token = "0x4007504")]
private const int Z_DEFLATED = 8;
// Token: 0x04007505 RID: 29957
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007505")]
private InflateManager.InflateManagerMode mode;
// Token: 0x04007506 RID: 29958
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007506")]
internal ZlibCodec _codec;
// Token: 0x04007507 RID: 29959
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007507")]
internal int method;
// Token: 0x04007508 RID: 29960
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x4007508")]
internal uint computedCheck;
// Token: 0x04007509 RID: 29961
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007509")]
internal uint expectedCheck;
// Token: 0x0400750A RID: 29962
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400750A")]
internal int marker;
// Token: 0x0400750B RID: 29963
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400750B")]
private bool _handleRfc1950HeaderBytes = true;
// Token: 0x0400750C RID: 29964
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400750C")]
internal int wbits;
// Token: 0x0400750D RID: 29965
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400750D")]
internal InflateBlocks blocks;
// Token: 0x0400750E RID: 29966
[Token(Token = "0x400750E")]
private static readonly byte[] mark;
// Token: 0x020019D0 RID: 6608
[Token(Token = "0x20019D0")]
private enum InflateManagerMode
{
// Token: 0x04007510 RID: 29968
[Token(Token = "0x4007510")]
METHOD,
// Token: 0x04007511 RID: 29969
[Token(Token = "0x4007511")]
FLAG,
// Token: 0x04007512 RID: 29970
[Token(Token = "0x4007512")]
DICT4,
// Token: 0x04007513 RID: 29971
[Token(Token = "0x4007513")]
DICT3,
// Token: 0x04007514 RID: 29972
[Token(Token = "0x4007514")]
DICT2,
// Token: 0x04007515 RID: 29973
[Token(Token = "0x4007515")]
DICT1,
// Token: 0x04007516 RID: 29974
[Token(Token = "0x4007516")]
DICT0,
// Token: 0x04007517 RID: 29975
[Token(Token = "0x4007517")]
BLOCKS,
// Token: 0x04007518 RID: 29976
[Token(Token = "0x4007518")]
CHECK4,
// Token: 0x04007519 RID: 29977
[Token(Token = "0x4007519")]
CHECK3,
// Token: 0x0400751A RID: 29978
[Token(Token = "0x400751A")]
CHECK2,
// Token: 0x0400751B RID: 29979
[Token(Token = "0x400751B")]
CHECK1,
// Token: 0x0400751C RID: 29980
[Token(Token = "0x400751C")]
DONE,
// Token: 0x0400751D RID: 29981
[Token(Token = "0x400751D")]
BAD
}
}
}
@@ -0,0 +1,65 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D8 RID: 6616
[Token(Token = "0x20019D8")]
[StructLayout(3)]
internal static class InternalConstants
{
// Token: 0x0600B1DF RID: 45535 RVA: 0x0029C43C File Offset: 0x0029A63C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1DF")]
[Address(RVA = "0x1E66550", Offset = "0x1E64F50", VA = "0x181E66550")]
static InternalConstants()
{
int num = InternalConstants.LITERALS;
int num2 = InternalConstants.LENGTH_CODES;
num++;
num2 += num;
InternalConstants.L_CODES = num2;
}
// Token: 0x04007547 RID: 30023
[Token(Token = "0x4007547")]
internal static readonly int MAX_BITS;
// Token: 0x04007548 RID: 30024
[Token(Token = "0x4007548")]
internal static readonly int BL_CODES;
// Token: 0x04007549 RID: 30025
[Token(Token = "0x4007549")]
internal static readonly int D_CODES;
// Token: 0x0400754A RID: 30026
[Token(Token = "0x400754A")]
internal static readonly int LITERALS;
// Token: 0x0400754B RID: 30027
[Token(Token = "0x400754B")]
internal static readonly int LENGTH_CODES;
// Token: 0x0400754C RID: 30028
[Token(Token = "0x400754C")]
internal static readonly int L_CODES;
// Token: 0x0400754D RID: 30029
[Token(Token = "0x400754D")]
internal static readonly int MAX_BL_BITS;
// Token: 0x0400754E RID: 30030
[Token(Token = "0x400754E")]
internal static readonly int REP_3_6;
// Token: 0x0400754F RID: 30031
[Token(Token = "0x400754F")]
internal static readonly int REPZ_3_10;
// Token: 0x04007550 RID: 30032
[Token(Token = "0x4007550")]
internal static readonly int REPZ_11_138;
}
}
@@ -0,0 +1,26 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CD RID: 6605
[Token(Token = "0x20019CD")]
[StructLayout(3)]
internal static class InternalInflateConstants
{
// Token: 0x0600B1C0 RID: 45504 RVA: 0x0029AF3C File Offset: 0x0029913C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1C0")]
[Address(RVA = "0x1E66650", Offset = "0x1E65050", VA = "0x181E66650")]
static InternalInflateConstants()
{
RuntimeHelpers.InitializeArray(new int[17], fieldof(<PrivateImplementationDetails>.F584B6C7CCA3CD4ECC3B9B1E20D2F2EFB73DBBDF).FieldHandle);
}
// Token: 0x040074EA RID: 29930
[Token(Token = "0x40074EA")]
internal static readonly int[] InflateMask;
}
}
@@ -0,0 +1,68 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D7 RID: 6615
[Token(Token = "0x20019D7")]
[StructLayout(3)]
internal class SharedUtils
{
// Token: 0x0600B1DA RID: 45530 RVA: 0x0029C3A4 File Offset: 0x0029A5A4
[Token(Token = "0x600B1DA")]
[Address(RVA = "0xE33760", Offset = "0xE32160", VA = "0x180E33760")]
public static int URShift(int number, int bits)
{
return number;
}
// Token: 0x0600B1DB RID: 45531 RVA: 0x0029C3B4 File Offset: 0x0029A5B4
[Token(Token = "0x600B1DB")]
[Address(RVA = "0x1E68730", Offset = "0x1E67130", VA = "0x181E68730")]
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: 0x0600B1DC RID: 45532 RVA: 0x0029C3F0 File Offset: 0x0029A5F0
[Token(Token = "0x600B1DC")]
[Address(RVA = "0xE61020", Offset = "0xE5FA20", VA = "0x180E61020")]
internal static byte[] ToByteArray(string sourceString)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600B1DD RID: 45533 RVA: 0x0029C40C File Offset: 0x0029A60C
[Token(Token = "0x600B1DD")]
[Address(RVA = "0x1E68840", Offset = "0x1E67240", VA = "0x181E68840")]
internal static char[] ToCharArray(byte[] byteArray)
{
Encoding utf = Encoding.UTF8;
throw new NullReferenceException();
}
// Token: 0x0600B1DE RID: 45534 RVA: 0x0029C428 File Offset: 0x0029A628
[Token(Token = "0x600B1DE")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public SharedUtils()
{
}
}
}
@@ -0,0 +1,118 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D9 RID: 6617
[Token(Token = "0x20019D9")]
[StructLayout(3)]
internal sealed class StaticTree
{
// Token: 0x0600B1E0 RID: 45536 RVA: 0x0029C464 File Offset: 0x0029A664
[Token(Token = "0x600B1E0")]
[Address(RVA = "0xE339C0", Offset = "0xE323C0", VA = "0x180E339C0")]
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: 0x0600B1E1 RID: 45537 RVA: 0x0029C49C File Offset: 0x0029A69C
[Token(Token = "0x600B1E1")]
[Address(RVA = "0x1E68880", Offset = "0x1E67280", VA = "0x181E68880")]
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: 0x04007551 RID: 30033
[Token(Token = "0x4007551")]
internal static readonly short[] lengthAndLiteralsTreeCodes;
// Token: 0x04007552 RID: 30034
[Token(Token = "0x4007552")]
internal static readonly short[] distTreeCodes;
// Token: 0x04007553 RID: 30035
[Token(Token = "0x4007553")]
internal static readonly StaticTree Literals;
// Token: 0x04007554 RID: 30036
[Token(Token = "0x4007554")]
internal static readonly StaticTree Distances;
// Token: 0x04007555 RID: 30037
[Token(Token = "0x4007555")]
internal static readonly StaticTree BitLengths;
// Token: 0x04007556 RID: 30038
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007556")]
internal short[] treeCodes;
// Token: 0x04007557 RID: 30039
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007557")]
internal int[] extraBits;
// Token: 0x04007558 RID: 30040
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007558")]
internal int extraBase;
// Token: 0x04007559 RID: 30041
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x4007559")]
internal int elems;
// Token: 0x0400755A RID: 30042
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400755A")]
internal int maxLength;
}
}
@@ -0,0 +1,349 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D1 RID: 6609
[Token(Token = "0x20019D1")]
[StructLayout(3)]
internal sealed class ZTree
{
// Token: 0x0600B1D1 RID: 45521 RVA: 0x0029BD94 File Offset: 0x00299F94
[Token(Token = "0x600B1D1")]
[Address(RVA = "0x1E6DC30", Offset = "0x1E6C630", VA = "0x181E6DC30")]
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: 0x0600B1D2 RID: 45522 RVA: 0x0029BDBC File Offset: 0x00299FBC
[Token(Token = "0x600B1D2")]
[Address(RVA = "0x1E6E650", Offset = "0x1E6D050", VA = "0x181E6E650")]
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: 0x0600B1D3 RID: 45523 RVA: 0x0029BF5C File Offset: 0x0029A15C
[Token(Token = "0x600B1D3")]
[Address(RVA = "0x1E6DF50", Offset = "0x1E6C950", VA = "0x181E6DF50")]
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: 0x0600B1D4 RID: 45524 RVA: 0x0029C200 File Offset: 0x0029A400
[Token(Token = "0x600B1D4")]
[Address(RVA = "0x1E6EB70", Offset = "0x1E6D570", VA = "0x181E6EB70")]
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: 0x0600B1D5 RID: 45525 RVA: 0x0029C268 File Offset: 0x0029A468
[Token(Token = "0x600B1D5")]
[Address(RVA = "0xE33D40", Offset = "0xE32740", VA = "0x180E33D40")]
internal static int bi_reverse(int code, int len)
{
int num = 0;
int num2 = len - 1;
return num + num;
}
// Token: 0x0600B1D6 RID: 45526 RVA: 0x0029C280 File Offset: 0x0029A480
[Token(Token = "0x600B1D6")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public ZTree()
{
}
// Token: 0x0600B1D7 RID: 45527 RVA: 0x0029C294 File Offset: 0x0029A494
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1D7")]
[Address(RVA = "0x1E6DD20", Offset = "0x1E6C720", VA = "0x181E6DD20")]
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: 0x0400751E RID: 29982
[Token(Token = "0x400751E")]
private static readonly int HEAP_SIZE;
// Token: 0x0400751F RID: 29983
[Token(Token = "0x400751F")]
internal static readonly int[] ExtraLengthBits;
// Token: 0x04007520 RID: 29984
[Token(Token = "0x4007520")]
internal static readonly int[] ExtraDistanceBits;
// Token: 0x04007521 RID: 29985
[Token(Token = "0x4007521")]
internal static readonly int[] extra_blbits;
// Token: 0x04007522 RID: 29986
[Token(Token = "0x4007522")]
internal static readonly sbyte[] bl_order;
// Token: 0x04007523 RID: 29987
[Token(Token = "0x4007523")]
internal const int Buf_size = 16;
// Token: 0x04007524 RID: 29988
[Token(Token = "0x4007524")]
private static readonly sbyte[] _dist_code;
// Token: 0x04007525 RID: 29989
[Token(Token = "0x4007525")]
internal static readonly sbyte[] LengthCode;
// Token: 0x04007526 RID: 29990
[Token(Token = "0x4007526")]
internal static readonly int[] LengthBase;
// Token: 0x04007527 RID: 29991
[Token(Token = "0x4007527")]
internal static readonly int[] DistanceBase;
// Token: 0x04007528 RID: 29992
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007528")]
internal short[] dyn_tree;
// Token: 0x04007529 RID: 29993
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007529")]
internal int max_code;
// Token: 0x0400752A RID: 29994
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400752A")]
internal StaticTree staticTree;
}
}
@@ -0,0 +1,718 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.Decompression.Crc;
using BestHTTP.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019DC RID: 6620
[Token(Token = "0x20019DC")]
[StructLayout(3)]
internal class ZlibBaseStream : Stream
{
// Token: 0x17001CB7 RID: 7351
// (get) Token: 0x0600B1E5 RID: 45541 RVA: 0x0029C674 File Offset: 0x0029A874
[Token(Token = "0x17001CB7")]
internal int Crc32
{
[Token(Token = "0x600B1E5")]
[Address(RVA = "0x1E70B70", Offset = "0x1E6F570", VA = "0x181E70B70")]
get
{
CRC32 crc = this.crc;
if (crc != 0)
{
return crc.Crc32Result;
}
return 0;
}
}
// Token: 0x0600B1E6 RID: 45542 RVA: 0x0029C694 File Offset: 0x0029A894
[Token(Token = "0x600B1E6")]
[Address(RVA = "0x1E6FFA0", Offset = "0x1E6E9A0", VA = "0x181E6FFA0")]
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: 0x0600B1E7 RID: 45543 RVA: 0x0029C714 File Offset: 0x0029A914
[Token(Token = "0x600B1E7")]
[Address(RVA = "0x1E70090", Offset = "0x1E6EA90", VA = "0x181E70090")]
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: 0x17001CB8 RID: 7352
// (get) Token: 0x0600B1E8 RID: 45544 RVA: 0x0029C790 File Offset: 0x0029A990
[Token(Token = "0x17001CB8")]
protected internal bool _wantCompress
{
[Token(Token = "0x600B1E8")]
[Address(RVA = "0xE380F0", Offset = "0xE36AF0", VA = "0x180E380F0")]
get
{
return this._compressionMode == CompressionMode.Compress;
}
}
// Token: 0x17001CB9 RID: 7353
// (get) Token: 0x0600B1E9 RID: 45545 RVA: 0x0029C7A8 File Offset: 0x0029A9A8
[Token(Token = "0x17001CB9")]
private ZlibCodec z
{
[Token(Token = "0x600B1E9")]
[Address(RVA = "0x1E70C60", Offset = "0x1E6F660", VA = "0x181E70C60")]
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: 0x17001CBA RID: 7354
// (get) Token: 0x0600B1EA RID: 45546 RVA: 0x0029C858 File Offset: 0x0029AA58
[Token(Token = "0x17001CBA")]
private byte[] workingBuffer
{
[Token(Token = "0x600B1EA")]
[Address(RVA = "0x1E70BE0", Offset = "0x1E6F5E0", VA = "0x181E70BE0")]
get
{
if (this._workingBuffer == (ulong)0L)
{
byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, true);
this._workingBuffer = array;
}
return this._workingBuffer;
}
}
// Token: 0x0600B1EB RID: 45547 RVA: 0x0029C88C File Offset: 0x0029AA8C
[Token(Token = "0x600B1EB")]
[Address(RVA = "0x1E6F720", Offset = "0x1E6E120", VA = "0x181E6F720", 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: 0x0600B1EC RID: 45548 RVA: 0x0029CA0C File Offset: 0x0029AC0C
[Token(Token = "0x600B1EC")]
[Address(RVA = "0x1E70300", Offset = "0x1E6ED00", VA = "0x181E70300")]
private void finish()
{
/*
An exception occurred when decompiling this method (0600B1EC)
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: 0x0600B1ED RID: 45549 RVA: 0x0029CCC4 File Offset: 0x0029AEC4
[Token(Token = "0x600B1ED")]
[Address(RVA = "0x1E70180", Offset = "0x1E6EB80", VA = "0x181E70180")]
private void end()
{
/*
An exception occurred when decompiling this method (0600B1ED)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::end()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_8D:
stloc:ZlibException(var_7_97, 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: 0x0600B1EE RID: 45550 RVA: 0x0029CD6C File Offset: 0x0029AF6C
[Token(Token = "0x600B1EE")]
[Address(RVA = "0x1E6EDA0", Offset = "0x1E6D7A0", VA = "0x181E6EDA0", Slot = "15")]
public override void Close()
{
/*
An exception occurred when decompiling this method (0600B1EE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::Close()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_BA:
stloc:ZlibException(var_6_C4, 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: 0x0600B1EF RID: 45551 RVA: 0x0029CE40 File Offset: 0x0029B040
[Token(Token = "0x600B1EF")]
[Address(RVA = "0xE35510", Offset = "0xE33F10", VA = "0x180E35510", Slot = "17")]
public override void Flush()
{
bool canRead = this._stream.CanRead;
}
// Token: 0x0600B1F0 RID: 45552 RVA: 0x0029CE60 File Offset: 0x0029B060
[Token(Token = "0x600B1F0")]
[Address(RVA = "0x1E6F690", Offset = "0x1E6E090", VA = "0x181E6F690", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600B1F0)
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: 0x0600B1F1 RID: 45553 RVA: 0x0029CE74 File Offset: 0x0029B074
[Token(Token = "0x600B1F1")]
[Address(RVA = "0x1E6F6E0", Offset = "0x1E6E0E0", VA = "0x181E6F6E0", Slot = "26")]
public override void SetLength(long value)
{
Stream stream = this._stream;
this.nomoreinput = false;
}
// Token: 0x0600B1F2 RID: 45554 RVA: 0x0029CE98 File Offset: 0x0029B098
[Token(Token = "0x600B1F2")]
[Address(RVA = "0x1E6EFD0", Offset = "0x1E6D9D0", VA = "0x181E6EFD0")]
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: 0x0600B1F3 RID: 45555 RVA: 0x0029CEE0 File Offset: 0x0029B0E0
[Token(Token = "0x600B1F3")]
[Address(RVA = "0x1E6FAC0", Offset = "0x1E6E4C0", VA = "0x181E6FAC0")]
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, 4);
DateTime unixEpoch = GZipStream._unixEpoch;
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: 0x0600B1F4 RID: 45556 RVA: 0x0029CFE4 File Offset: 0x0029B1E4
[Token(Token = "0x600B1F4")]
[Address(RVA = "0x1E6F160", Offset = "0x1E6DB60", VA = "0x181E6F160", 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: 0x17001CBB RID: 7355
// (get) Token: 0x0600B1F5 RID: 45557 RVA: 0x0029D1FC File Offset: 0x0029B3FC
[Token(Token = "0x17001CBB")]
public override bool CanRead
{
[Token(Token = "0x600B1F5")]
[Address(RVA = "0xE38010", Offset = "0xE36A10", VA = "0x180E38010", Slot = "7")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x17001CBC RID: 7356
// (get) Token: 0x0600B1F6 RID: 45558 RVA: 0x0029D21C File Offset: 0x0029B41C
[Token(Token = "0x17001CBC")]
public override bool CanSeek
{
[Token(Token = "0x600B1F6")]
[Address(RVA = "0xE38040", Offset = "0xE36A40", VA = "0x180E38040", Slot = "8")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x17001CBD RID: 7357
// (get) Token: 0x0600B1F7 RID: 45559 RVA: 0x0029D23C File Offset: 0x0029B43C
[Token(Token = "0x17001CBD")]
public override bool CanWrite
{
[Token(Token = "0x600B1F7")]
[Address(RVA = "0xE38070", Offset = "0xE36A70", VA = "0x180E38070", Slot = "9")]
get
{
return this._stream.CanRead;
}
}
// Token: 0x17001CBE RID: 7358
// (get) Token: 0x0600B1F8 RID: 45560 RVA: 0x0029D25C File Offset: 0x0029B45C
[Token(Token = "0x17001CBE")]
public override long Length
{
[Token(Token = "0x600B1F8")]
[Address(RVA = "0xE365E0", Offset = "0xE34FE0", VA = "0x180E365E0", Slot = "10")]
get
{
bool canRead = this._stream.CanRead;
throw new NullReferenceException();
}
}
// Token: 0x17001CBF RID: 7359
// (get) Token: 0x0600B1F9 RID: 45561 RVA: 0x0029D27C File Offset: 0x0029B47C
// (set) Token: 0x0600B1FA RID: 45562 RVA: 0x0029D290 File Offset: 0x0029B490
[Token(Token = "0x17001CBF")]
public override long Position
{
[Token(Token = "0x600B1F9")]
[Address(RVA = "0x1E70B90", Offset = "0x1E6F590", VA = "0x181E70B90", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600B1F9)
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 = "0x600B1FA")]
[Address(RVA = "0x1E70D30", Offset = "0x1E6F730", VA = "0x181E70D30", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B1FA)
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: 0x04007561 RID: 30049
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007561")]
protected internal ZlibCodec _z;
// Token: 0x04007562 RID: 30050
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007562")]
protected internal ZlibBaseStream.StreamMode _streamMode = (ZlibBaseStream.StreamMode)((ulong)2L);
// Token: 0x04007563 RID: 30051
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x4007563")]
protected internal FlushType _flushMode;
// Token: 0x04007564 RID: 30052
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4007564")]
protected internal ZlibStreamFlavor _flavor;
// Token: 0x04007565 RID: 30053
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4007565")]
protected internal CompressionMode _compressionMode;
// Token: 0x04007566 RID: 30054
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007566")]
protected internal CompressionLevel _level;
// Token: 0x04007567 RID: 30055
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
[Token(Token = "0x4007567")]
protected internal bool _leaveOpen;
// Token: 0x04007568 RID: 30056
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007568")]
protected internal byte[] _workingBuffer;
// Token: 0x04007569 RID: 30057
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4007569")]
protected internal int _bufferSize = (int)((ulong)16384L);
// Token: 0x0400756A RID: 30058
[global::Cpp2IlInjected.FieldOffset(Offset = "0x54")]
[Token(Token = "0x400756A")]
protected internal int windowBitsMax;
// Token: 0x0400756B RID: 30059
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400756B")]
protected internal byte[] _buf1;
// Token: 0x0400756C RID: 30060
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400756C")]
protected internal Stream _stream;
// Token: 0x0400756D RID: 30061
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x400756D")]
protected internal CompressionStrategy Strategy;
// Token: 0x0400756E RID: 30062
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x400756E")]
private CRC32 crc;
// Token: 0x0400756F RID: 30063
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x400756F")]
protected internal string _GzipFileName;
// Token: 0x04007570 RID: 30064
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x4007570")]
protected internal string _GzipComment;
// Token: 0x04007571 RID: 30065
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x4007571")]
protected internal DateTime _GzipMtime;
// Token: 0x04007572 RID: 30066
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x4007572")]
protected internal int _gzipHeaderByteCount;
// Token: 0x04007573 RID: 30067
[global::Cpp2IlInjected.FieldOffset(Offset = "0x94")]
[Token(Token = "0x4007573")]
private bool nomoreinput;
// Token: 0x020019DD RID: 6621
[Token(Token = "0x20019DD")]
internal enum StreamMode
{
// Token: 0x04007575 RID: 30069
[Token(Token = "0x4007575")]
Writer,
// Token: 0x04007576 RID: 30070
[Token(Token = "0x4007576")]
Reader,
// Token: 0x04007577 RID: 30071
[Token(Token = "0x4007577")]
Undefined
}
}
}
@@ -0,0 +1,579 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019DE RID: 6622
[Token(Token = "0x20019DE")]
[StructLayout(3)]
internal sealed class ZlibCodec
{
// Token: 0x17001CC0 RID: 7360
// (get) Token: 0x0600B1FB RID: 45563 RVA: 0x0029D2A4 File Offset: 0x0029B4A4
[Token(Token = "0x17001CC0")]
public int Adler32
{
[Token(Token = "0x600B1FB")]
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170")]
get
{
/*
An exception occurred when decompiling this method (0600B1FB)
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: 0x0600B1FC RID: 45564 RVA: 0x0029D2B8 File Offset: 0x0029B4B8
[Token(Token = "0x600B1FC")]
[Address(RVA = "0xE38A30", Offset = "0xE37430", VA = "0x180E38A30")]
public ZlibCodec()
{
this.CompressLevel = (CompressionLevel)((ulong)6L);
this.WindowBits = (int)((ulong)15L);
base..ctor();
}
// Token: 0x0600B1FD RID: 45565 RVA: 0x0029D2E0 File Offset: 0x0029B4E0
[Token(Token = "0x600B1FD")]
[Address(RVA = "0x1E71620", Offset = "0x1E70020", VA = "0x181E71620")]
public ZlibCodec(CompressionMode mode)
{
/*
An exception occurred when decompiling this method (0600B1FD)
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: 0x0600B1FE RID: 45566 RVA: 0x0029D350 File Offset: 0x0029B550
[Token(Token = "0x600B1FE")]
[Address(RVA = "0x1E71000", Offset = "0x1E6FA00", VA = "0x181E71000")]
public int InitializeInflate()
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600B1FF RID: 45567 RVA: 0x0029D36C File Offset: 0x0029B56C
[Token(Token = "0x600B1FF")]
[Address(RVA = "0x1E71010", Offset = "0x1E6FA10", VA = "0x181E71010")]
public int InitializeInflate(bool expectRfc1950Header)
{
int windowBits = this.WindowBits;
return this.InitializeInflate(windowBits, expectRfc1950Header);
}
// Token: 0x0600B200 RID: 45568 RVA: 0x0029D388 File Offset: 0x0029B588
[Token(Token = "0x600B200")]
[Address(RVA = "0x1E711E0", Offset = "0x1E6FBE0", VA = "0x181E711E0")]
public int InitializeInflate(int windowBits)
{
this.WindowBits = windowBits;
return this.InitializeInflate(windowBits, true);
}
// Token: 0x0600B201 RID: 45569 RVA: 0x0029D3A4 File Offset: 0x0029B5A4
[Token(Token = "0x600B201")]
[Address(RVA = "0x1E71020", Offset = "0x1E6FA20", VA = "0x181E71020")]
public int InitializeInflate(int windowBits, bool expectRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600B201)
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_A8:
stloc:ZlibException(var_7_B2, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Bad window size.")))
}
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: 0x0600B202 RID: 45570 RVA: 0x0029D464 File Offset: 0x0029B664
[Token(Token = "0x600B202")]
[Address(RVA = "0x1E70F00", Offset = "0x1E6F900", VA = "0x181E70F00")]
public int Inflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600B202)
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: 0x0600B203 RID: 45571 RVA: 0x0029D488 File Offset: 0x0029B688
[Token(Token = "0x600B203")]
[Address(RVA = "0x1E70E70", Offset = "0x1E6F870", VA = "0x181E70E70")]
public int EndInflate()
{
/*
An exception occurred when decompiling this method (0600B203)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibCodec::EndInflate()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_2E:
stloc:ZlibException(var_3_38, 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: 0x0600B204 RID: 45572 RVA: 0x0029D4D0 File Offset: 0x0029B6D0
[Token(Token = "0x600B204")]
[Address(RVA = "0x1E714E0", Offset = "0x1E6FEE0", VA = "0x181E714E0")]
public int SyncInflate()
{
/*
An exception occurred when decompiling this method (0600B204)
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: 0x0600B205 RID: 45573 RVA: 0x0029D4FC File Offset: 0x0029B6FC
[Token(Token = "0x600B205")]
[Address(RVA = "0x1E70FB0", Offset = "0x1E6F9B0", VA = "0x181E70FB0")]
public int InitializeDeflate()
{
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600B206 RID: 45574 RVA: 0x0029D510 File Offset: 0x0029B710
[Token(Token = "0x600B206")]
[Address(RVA = "0x1E70FA0", Offset = "0x1E6F9A0", VA = "0x181E70FA0")]
public int InitializeDeflate(CompressionLevel level)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600B207 RID: 45575 RVA: 0x0029D52C File Offset: 0x0029B72C
[Token(Token = "0x600B207")]
[Address(RVA = "0x1E70FE0", Offset = "0x1E6F9E0", VA = "0x181E70FE0")]
public int InitializeDeflate(CompressionLevel level, bool wantRfc1950Header)
{
this.CompressLevel = level;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600B208 RID: 45576 RVA: 0x0029D548 File Offset: 0x0029B748
[Token(Token = "0x600B208")]
[Address(RVA = "0x1E70F80", Offset = "0x1E6F980", VA = "0x181E70F80")]
public int InitializeDeflate(CompressionLevel level, int bits)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(true);
}
// Token: 0x0600B209 RID: 45577 RVA: 0x0029D56C File Offset: 0x0029B76C
[Token(Token = "0x600B209")]
[Address(RVA = "0x1E70FC0", Offset = "0x1E6F9C0", VA = "0x181E70FC0")]
public int InitializeDeflate(CompressionLevel level, int bits, bool wantRfc1950Header)
{
this.CompressLevel = level;
this.WindowBits = bits;
return this._InternalInitializeDeflate(wantRfc1950Header);
}
// Token: 0x0600B20A RID: 45578 RVA: 0x0029D590 File Offset: 0x0029B790
[Token(Token = "0x600B20A")]
[Address(RVA = "0x1E71550", Offset = "0x1E6FF50", VA = "0x181E71550")]
private int _InternalInitializeDeflate(bool wantRfc1950Header)
{
/*
An exception occurred when decompiling this method (0600B20A)
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: 0x0600B20B RID: 45579 RVA: 0x0029D5F0 File Offset: 0x0029B7F0
[Token(Token = "0x600B20B")]
[Address(RVA = "0x1E70D80", Offset = "0x1E6F780", VA = "0x181E70D80")]
public int Deflate(FlushType flush)
{
/*
An exception occurred when decompiling this method (0600B20B)
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: 0x0600B20C RID: 45580 RVA: 0x0029D614 File Offset: 0x0029B814
[Token(Token = "0x600B20C")]
[Address(RVA = "0x1E70E00", Offset = "0x1E6F800", VA = "0x181E70E00")]
public int EndDeflate()
{
/*
An exception occurred when decompiling this method (0600B20C)
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: 0x0600B20D RID: 45581 RVA: 0x0029D644 File Offset: 0x0029B844
[Token(Token = "0x600B20D")]
[Address(RVA = "0x1E711F0", Offset = "0x1E6FBF0", VA = "0x181E711F0")]
public void ResetDeflate()
{
/*
An exception occurred when decompiling this method (0600B20D)
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: 0x0600B20E RID: 45582 RVA: 0x0029D670 File Offset: 0x0029B870
[Token(Token = "0x600B20E")]
[Address(RVA = "0x1E71260", Offset = "0x1E6FC60", VA = "0x181E71260")]
public int SetDeflateParams(CompressionLevel level, CompressionStrategy strategy)
{
/*
An exception occurred when decompiling this method (0600B20E)
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: 0x0600B20F RID: 45583 RVA: 0x0029D694 File Offset: 0x0029B894
[Token(Token = "0x600B20F")]
[Address(RVA = "0x1E712F0", Offset = "0x1E6FCF0", VA = "0x181E712F0")]
public int SetDictionary(byte[] dictionary)
{
/*
An exception occurred when decompiling this method (0600B20F)
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_AB:
stloc:ZlibException(var_15_B5, 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: 0x0600B210 RID: 45584 RVA: 0x0029D758 File Offset: 0x0029B958
[Token(Token = "0x600B210")]
[Address(RVA = "0x1E71740", Offset = "0x1E70140", VA = "0x181E71740")]
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: 0x0600B211 RID: 45585 RVA: 0x0029D83C File Offset: 0x0029BA3C
[Token(Token = "0x600B211")]
[Address(RVA = "0x1E71920", Offset = "0x1E70320", VA = "0x181E71920")]
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: 0x04007578 RID: 30072
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007578")]
public byte[] InputBuffer;
// Token: 0x04007579 RID: 30073
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007579")]
public int NextIn;
// Token: 0x0400757A RID: 30074
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x400757A")]
public int AvailableBytesIn;
// Token: 0x0400757B RID: 30075
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400757B")]
public long TotalBytesIn;
// Token: 0x0400757C RID: 30076
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400757C")]
public byte[] OutputBuffer;
// Token: 0x0400757D RID: 30077
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400757D")]
public int NextOut;
// Token: 0x0400757E RID: 30078
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400757E")]
public int AvailableBytesOut;
// Token: 0x0400757F RID: 30079
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400757F")]
public long TotalBytesOut;
// Token: 0x04007580 RID: 30080
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007580")]
public string Message;
// Token: 0x04007581 RID: 30081
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007581")]
internal DeflateManager dstate;
// Token: 0x04007582 RID: 30082
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4007582")]
internal InflateManager istate;
// Token: 0x04007583 RID: 30083
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4007583")]
internal uint _Adler32;
// Token: 0x04007584 RID: 30084
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4007584")]
public CompressionLevel CompressLevel;
// Token: 0x04007585 RID: 30085
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4007585")]
public int WindowBits;
// Token: 0x04007586 RID: 30086
[global::Cpp2IlInjected.FieldOffset(Offset = "0x64")]
[Token(Token = "0x4007586")]
public CompressionStrategy Strategy;
}
}
@@ -0,0 +1,52 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019DF RID: 6623
[Token(Token = "0x20019DF")]
[StructLayout(3)]
public static class ZlibConstants
{
// Token: 0x04007587 RID: 30087
[Token(Token = "0x4007587")]
public const int WindowBitsMax = 15;
// Token: 0x04007588 RID: 30088
[Token(Token = "0x4007588")]
public const int WindowBitsDefault = 15;
// Token: 0x04007589 RID: 30089
[Token(Token = "0x4007589")]
public const int Z_OK = 0;
// Token: 0x0400758A RID: 30090
[Token(Token = "0x400758A")]
public const int Z_STREAM_END = 1;
// Token: 0x0400758B RID: 30091
[Token(Token = "0x400758B")]
public const int Z_NEED_DICT = 2;
// Token: 0x0400758C RID: 30092
[Token(Token = "0x400758C")]
public const int Z_STREAM_ERROR = -2;
// Token: 0x0400758D RID: 30093
[Token(Token = "0x400758D")]
public const int Z_DATA_ERROR = -3;
// Token: 0x0400758E RID: 30094
[Token(Token = "0x400758E")]
public const int Z_BUF_ERROR = -5;
// Token: 0x0400758F RID: 30095
[Token(Token = "0x400758F")]
public const int WorkingBufferSizeDefault = 16384;
// Token: 0x04007590 RID: 30096
[Token(Token = "0x4007590")]
public const int WorkingBufferSizeMin = 1024;
}
}
@@ -0,0 +1,28 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019D6 RID: 6614
[Token(Token = "0x20019D6")]
[Guid("ebc25cf6-9120-4283-b972-0e5520d0000E")]
[StructLayout(3)]
internal class ZlibException : Exception
{
// Token: 0x0600B1D8 RID: 45528 RVA: 0x0029C37C File Offset: 0x0029A57C
[Token(Token = "0x600B1D8")]
[Address(RVA = "0x1E71A30", Offset = "0x1E70430", VA = "0x181E71A30")]
public ZlibException()
{
}
// Token: 0x0600B1D9 RID: 45529 RVA: 0x0029C390 File Offset: 0x0029A590
[Token(Token = "0x600B1D9")]
[Address(RVA = "0x1E71A90", Offset = "0x1E70490", VA = "0x181E71A90")]
public ZlibException(string s)
: base(s)
{
}
}
}
@@ -0,0 +1,22 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019DB RID: 6619
[Token(Token = "0x20019DB")]
[StructLayout(3, Size = 4)]
internal enum ZlibStreamFlavor
{
// Token: 0x0400755E RID: 30046
[Token(Token = "0x400755E")]
ZLIB = 1950,
// Token: 0x0400755F RID: 30047
[Token(Token = "0x400755F")]
DEFLATE,
// Token: 0x04007560 RID: 30048
[Token(Token = "0x4007560")]
GZIP
}
}
@@ -0,0 +1,171 @@
using System;
using System.Collections;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012BC RID: 4796
[Token(Token = "0x20012BC")]
[StructLayout(3)]
public sealed class AssetBundleSample : MonoBehaviour
{
// Token: 0x0600781D RID: 30749 RVA: 0x0018E7CC File Offset: 0x0018C9CC
[Token(Token = "0x600781D")]
[Address(RVA = "0x1E61EB0", Offset = "0x1E608B0", VA = "0x181E61EB0")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
string text = this.status;
string text2 = "Status: " + text;
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label(text2, array);
Texture2D texture2D = this.texture;
int num = 0;
if (texture2D != num)
{
Texture2D texture2D2 = this.texture;
GUILayoutOption[] array2 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption = GUILayout.MaxHeight(256f);
if (guilayoutOption != 0)
{
}
array2[0] = guilayoutOption;
GUILayout.Box(texture2D2, array2);
}
if (!this.downloading)
{
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Start Download", array3))
{
this.UnloadBundle();
AssetBundleSample.<DownloadAssetBundle>d__7 <DownloadAssetBundle>d__;
<DownloadAssetBundle>d__.System.IDisposable.Dispose();
<DownloadAssetBundle>d__.<>1__state = (int)((ulong)0L);
<DownloadAssetBundle>d__.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(<DownloadAssetBundle>d__);
}
}
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x0600781E RID: 30750 RVA: 0x0018E7F4 File Offset: 0x0018C9F4
[Token(Token = "0x600781E")]
[Address(RVA = "0x1E61EA0", Offset = "0x1E608A0", VA = "0x181E61EA0")]
private void OnDestroy()
{
this.UnloadBundle();
}
// Token: 0x0600781F RID: 30751 RVA: 0x0018E808 File Offset: 0x0018CA08
[Token(Token = "0x600781F")]
[Address(RVA = "0x1E61E40", Offset = "0x1E60840", VA = "0x181E61E40")]
private IEnumerator DownloadAssetBundle()
{
/*
An exception occurred when decompiling this method (0600781F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator BestHTTP.Examples.AssetBundleSample::DownloadAssetBundle()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void('<DownloadAssetBundle>d__7'::System.IDisposable.Dispose, ldloc:'<DownloadAssetBundle>d__7'(var_0))
stfld:int32('<DownloadAssetBundle>d__7'::<>1__state, ldloc:'<DownloadAssetBundle>d__7'(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:AssetBundleSample('<DownloadAssetBundle>d__7'::<>4__this, ldloc:'<DownloadAssetBundle>d__7'(var_0), ldloc:AssetBundleSample(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: 0x06007820 RID: 30752 RVA: 0x0018E82C File Offset: 0x0018CA2C
[Token(Token = "0x6007820")]
[Address(RVA = "0x1E61F60", Offset = "0x1E60960", VA = "0x181E61F60")]
private IEnumerator ProcessAssetBundle(AssetBundle bundle)
{
/*
An exception occurred when decompiling this method (06007820)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator BestHTTP.Examples.AssetBundleSample::ProcessAssetBundle(UnityEngine.AssetBundle)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void('<ProcessAssetBundle>d__8'::System.IDisposable.Dispose, ldloc:'<ProcessAssetBundle>d__8'(var_0))
stfld:AssetBundleSample('<ProcessAssetBundle>d__8'::<>4__this, ldloc:'<ProcessAssetBundle>d__8'(var_0), ldloc:AssetBundleSample(this))
stfld:int32('<ProcessAssetBundle>d__8'::<>1__state, ldloc:'<ProcessAssetBundle>d__8'(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:AssetBundle('<ProcessAssetBundle>d__8'::bundle, ldloc:'<ProcessAssetBundle>d__8'(var_0), ldloc:AssetBundle(bundle))
}
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: 0x06007821 RID: 30753 RVA: 0x0018E858 File Offset: 0x0018CA58
[Token(Token = "0x6007821")]
[Address(RVA = "0x1E62190", Offset = "0x1E60B90", VA = "0x181E62190")]
private void UnloadBundle()
{
AssetBundle assetBundle = this.cachedBundle;
int num = 0;
if (assetBundle != num)
{
this.cachedBundle.Unload(true);
this.cachedBundle = (ulong)0L;
}
}
// Token: 0x06007822 RID: 30754 RVA: 0x0018E894 File Offset: 0x0018CA94
[Token(Token = "0x6007822")]
[Address(RVA = "0x1E62220", Offset = "0x1E60C20", VA = "0x181E62220")]
public AssetBundleSample()
{
Uri uri = new Uri(GUIHelper.BaseURL + "/AssetBundles/WebGL/demobundle.assetbundle");
this.URI = uri;
this.status = "Waiting for user interaction";
base..ctor();
}
// Token: 0x040056B2 RID: 22194
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056B2")]
private Uri URI;
// Token: 0x040056B3 RID: 22195
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056B3")]
private string status;
// Token: 0x040056B4 RID: 22196
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056B4")]
private AssetBundle cachedBundle;
// Token: 0x040056B5 RID: 22197
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40056B5")]
private Texture2D texture;
// Token: 0x040056B6 RID: 22198
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40056B6")]
private bool downloading;
}
}
@@ -0,0 +1,154 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.Caching;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C5 RID: 4805
[Token(Token = "0x20012C5")]
[StructLayout(3)]
public sealed class CacheMaintenanceSample : MonoBehaviour
{
// Token: 0x0600785D RID: 30813 RVA: 0x0018FDD0 File Offset: 0x0018DFD0
[Token(Token = "0x600785D")]
[Address(RVA = "0x1E63DF0", Offset = "0x1E627F0", VA = "0x181E63DF0")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label("Delete cached entities older then", array);
GUILayoutOption[] array2 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption = GUILayout.MinWidth(50f);
if (guilayoutOption != 0)
{
}
array2[0] = guilayoutOption;
GUILayoutOption[] array3 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption2 = GUILayout.MinWidth(100f);
if (guilayoutOption2 != 0)
{
}
array3[0] = guilayoutOption2;
float num = GUILayout.HorizontalSlider(100f, 1f, 60f, array3);
this.value = guilayoutOption2;
GUILayout.Space(10f);
CacheMaintenanceSample.DeleteOlderTypes deleteOlderTypes = this.deleteOlderType;
string[] array4 = new string[4];
if ("Days" != 0)
{
}
array4[0] = "Days";
if ("Hours" != 0)
{
}
array4[1] = "Hours";
if ("Mins" != 0)
{
}
array4[2] = "Mins";
if ("Secs" != 0)
{
}
array4[3] = "Secs";
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
uint num3;
int num2 = GUILayout.SelectionGrid((int)deleteOlderTypes, array4, (int)num3, array5);
this.deleteOlderType = (CacheMaintenanceSample.DeleteOlderTypes)num2;
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
GUILayout.Space(10f);
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayoutOption[] array6 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption3 = GUILayout.Width(150f);
if (guilayoutOption3 != 0)
{
}
array6[0] = guilayoutOption3;
GUILayout.Label("Max Cache Size (bytes): ", array6);
GUILayoutOption[] array7 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption4 = GUILayout.Width(70f);
if (guilayoutOption4 != 0)
{
}
array7[0] = guilayoutOption4;
GUILayoutOption[] array8 = Array.Empty<GUILayoutOption>();
float num4 = GUILayout.HorizontalSlider(70f, 1024f, 10485760f, array8);
this.maxCacheSize = array8;
GUILayout.EndHorizontal();
GUILayout.Space((float)524288.0);
GUILayoutOption[] array9 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Maintenance", array9))
{
TimeSpan timeSpan = TimeSpan.FromDays(524288.0);
CacheMaintenanceSample.DeleteOlderTypes deleteOlderTypes2 = this.deleteOlderType;
if (deleteOlderTypes2 != CacheMaintenanceSample.DeleteOlderTypes.Days)
{
if (deleteOlderTypes2 != CacheMaintenanceSample.DeleteOlderTypes.Days)
{
if (deleteOlderTypes2 != CacheMaintenanceSample.DeleteOlderTypes.Days)
{
if (deleteOlderTypes2 != CacheMaintenanceSample.DeleteOlderTypes.Hours)
{
goto IL_240;
}
TimeSpan timeSpan2 = TimeSpan.FromSeconds(524288.0);
}
TimeSpan timeSpan3 = TimeSpan.FromMinutes(524288.0);
}
TimeSpan timeSpan4 = TimeSpan.FromHours(524288.0);
}
TimeSpan timeSpan5 = TimeSpan.FromDays(524288.0);
IL_240:
int num5 = this.maxCacheSize;
HTTPCacheService.BeginMaintainence(new HTTPCacheMaintananceParams(timeSpan5, (ulong)num5));
}
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x0600785E RID: 30814 RVA: 0x0018FDF8 File Offset: 0x0018DFF8
[Token(Token = "0x600785E")]
[Address(RVA = "0x1E64570", Offset = "0x1E62F70", VA = "0x181E64570")]
public CacheMaintenanceSample()
{
}
// Token: 0x040056E4 RID: 22244
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056E4")]
private CacheMaintenanceSample.DeleteOlderTypes deleteOlderType = (CacheMaintenanceSample.DeleteOlderTypes)((ulong)3L);
// Token: 0x040056E5 RID: 22245
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40056E5")]
private int value = (int)((ulong)10L);
// Token: 0x040056E6 RID: 22246
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056E6")]
private int maxCacheSize = (int)((ulong)5242880L);
// Token: 0x020012C6 RID: 4806
[Token(Token = "0x20012C6")]
private enum DeleteOlderTypes
{
// Token: 0x040056E8 RID: 22248
[Token(Token = "0x40056E8")]
Days,
// Token: 0x040056E9 RID: 22249
[Token(Token = "0x40056E9")]
Hours,
// Token: 0x040056EA RID: 22250
[Token(Token = "0x40056EA")]
Mins,
// Token: 0x040056EB RID: 22251
[Token(Token = "0x40056EB")]
Secs
}
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,90 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C3 RID: 4803
[Token(Token = "0x20012C3")]
[StructLayout(3)]
public static class GUIHelper
{
// Token: 0x06007853 RID: 30803 RVA: 0x0018FBE8 File Offset: 0x0018DDE8
[Token(Token = "0x6007853")]
[Address(RVA = "0x1E649B0", Offset = "0x1E633B0", VA = "0x181E649B0")]
private static void Setup()
{
GUIHelper.centerAlignedLabel = new GUIStyle(GUI.skin.label);
GUIHelper.centerAlignedLabel.alignment = TextAnchor.MiddleCenter;
GUIHelper.rightAlignedLabel = new GUIStyle(GUI.skin.label);
GUIHelper.rightAlignedLabel.alignment = TextAnchor.MiddleRight;
}
// Token: 0x06007854 RID: 30804 RVA: 0x0018FC40 File Offset: 0x0018DE40
[Token(Token = "0x6007854")]
[Address(RVA = "0x1E646E0", Offset = "0x1E630E0", VA = "0x181E646E0")]
public static void DrawArea(Rect area, bool drawHeader, Action action)
{
GUIHelper.Setup();
if (drawHeader)
{
GUIHelper.DrawCenteredText(SampleSelector.SelectedSample.<DisplayName>k__BackingField);
GUILayout.Space(5f);
}
if (action != 0)
{
action();
}
GUILayout.EndArea();
}
// Token: 0x06007855 RID: 30805 RVA: 0x0018FC88 File Offset: 0x0018DE88
[Token(Token = "0x6007855")]
[Address(RVA = "0x1E64820", Offset = "0x1E63220", VA = "0x181E64820")]
public static void DrawCenteredText(string msg)
{
GUIHelper.Setup();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.FlexibleSpace();
GUIStyle guistyle = GUIHelper.centerAlignedLabel;
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label(msg, guistyle, array);
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
}
// Token: 0x06007856 RID: 30806 RVA: 0x0018FCD4 File Offset: 0x0018DED4
[Token(Token = "0x6007856")]
[Address(RVA = "0x1E648E0", Offset = "0x1E632E0", VA = "0x181E648E0")]
public static void DrawRow(string key, string value)
{
GUIHelper.Setup();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label(key, array);
GUILayout.FlexibleSpace();
GUIStyle guistyle = GUIHelper.rightAlignedLabel;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(value, guistyle, array2);
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
}
// Token: 0x040056DE RID: 22238
[Token(Token = "0x40056DE")]
public static string BaseURL = "https://besthttpdemosite.azurewebsites.net";
// Token: 0x040056DF RID: 22239
[Token(Token = "0x40056DF")]
private static GUIStyle centerAlignedLabel;
// Token: 0x040056E0 RID: 22240
[Token(Token = "0x40056E0")]
private static GUIStyle rightAlignedLabel;
// Token: 0x040056E1 RID: 22241
[Token(Token = "0x40056E1")]
public static Rect ClientArea;
}
}
@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C4 RID: 4804
[Token(Token = "0x20012C4")]
[StructLayout(3)]
public class GUIMessageList
{
// Token: 0x06007858 RID: 30808 RVA: 0x0018FD44 File Offset: 0x0018DF44
[Token(Token = "0x6007858")]
[Address(RVA = "0x1E64EA0", Offset = "0x1E638A0", VA = "0x181E64EA0")]
public void Draw()
{
int width = Screen.width;
}
// Token: 0x06007859 RID: 30809 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007859")]
[Address(RVA = "0x1E64C70", Offset = "0x1E63670", VA = "0x181E64C70")]
public void Draw(float minWidth, float minHeight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600785A RID: 30810 RVA: 0x0018FD5C File Offset: 0x0018DF5C
[Token(Token = "0x600785A")]
[Address(RVA = "0x1E64B90", Offset = "0x1E63590", VA = "0x181E64B90")]
public void Add(string msg)
{
this.messages.Add(msg);
ulong num;
this.scrollPos = num;
this.scrollPos.y = (float)0;
}
// Token: 0x0600785B RID: 30811 RVA: 0x0018FD90 File Offset: 0x0018DF90
[Token(Token = "0x600785B")]
[Address(RVA = "0x1E64C20", Offset = "0x1E63620", VA = "0x181E64C20")]
public void Clear()
{
this.messages.Clear();
}
// Token: 0x0600785C RID: 30812 RVA: 0x0018FDB0 File Offset: 0x0018DFB0
[Token(Token = "0x600785C")]
[Address(RVA = "0x1E64ED0", Offset = "0x1E638D0", VA = "0x181E64ED0")]
public GUIMessageList()
{
List<string> list = new List();
this.messages = list;
base..ctor();
}
// Token: 0x040056E2 RID: 22242
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40056E2")]
private List<string> messages;
// Token: 0x040056E3 RID: 22243
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056E3")]
private Vector2 scrollPos;
}
}
@@ -0,0 +1,155 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.Futures;
using BestHTTP.SignalRCore;
using BestHTTP.SignalRCore.Encoders;
using BestHTTP.SignalRCore.Messages;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012CA RID: 4810
[Token(Token = "0x20012CA")]
[StructLayout(3)]
public sealed class HubWithAuthorizationSample : MonoBehaviour
{
// Token: 0x0600787B RID: 30843 RVA: 0x00190810 File Offset: 0x0018EA10
[Token(Token = "0x600787B")]
[Address(RVA = "0x1E651F0", Offset = "0x1E63BF0", VA = "0x181E651F0")]
private void Start()
{
Uri uri = this.URI;
JsonProtocol jsonProtocol = new JsonProtocol(new LitJsonEncoder());
HubConnection hubConnection = new HubConnection(uri, jsonProtocol);
this.hub = hubConnection;
Action<HubConnection> action = new Action(this.Hub_OnConnected);
hubConnection.OnConnected += action;
HubConnection hubConnection2 = this.hub;
Action<HubConnection, string> action2 = new Action(this.Hub_OnError);
hubConnection2.OnError += action2;
HubConnection hubConnection3 = this.hub;
Action<HubConnection> action3 = new Action(this.Hub_OnClosed);
hubConnection3.OnClosed += action3;
HubConnection hubConnection4 = this.hub;
Func<HubConnection, Message, bool> func = new Func(this.Hub_OnMessage);
hubConnection4.OnMessage += func;
this.hub.StartConnect();
this.uiText = "StartConnect called\n";
}
// Token: 0x0600787C RID: 30844 RVA: 0x001908CC File Offset: 0x0018EACC
[Token(Token = "0x600787C")]
[Address(RVA = "0x1E65120", Offset = "0x1E63B20", VA = "0x181E65120")]
private void OnDestroy()
{
HubConnection hubConnection = this.hub;
if (hubConnection != 0)
{
hubConnection.StartClose();
return;
}
}
// Token: 0x0600787D RID: 30845 RVA: 0x001908EC File Offset: 0x0018EAEC
[Token(Token = "0x600787D")]
[Address(RVA = "0x1E65140", Offset = "0x1E63B40", VA = "0x181E65140")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
Vector2 vector;
this.scrollPos = vector;
this.scrollPos.y = (float)0;
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
string text = this.uiText;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text, array2);
GUILayout.EndVertical();
GUILayout.EndScrollView();
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x0600787E RID: 30846 RVA: 0x00190914 File Offset: 0x0018EB14
[Token(Token = "0x600787E")]
[Address(RVA = "0x1E64F80", Offset = "0x1E63980", VA = "0x181E64F80")]
private void Hub_OnConnected(HubConnection hub)
{
string text = this.uiText + "Hub Connected\n";
this.uiText = text;
object[] array = new object[1];
if ("Message from the client" != 0)
{
}
array[0] = "Message from the client";
IFuture<string> future = hub.Invoke<string>("Echo", array);
FutureValueCallback<string> futureValueCallback = delegate(string ret)
{
string text2 = this.uiText;
string text3 = string.Format(" 'Echo' returned: '{0}'\n", ret);
string text4 = text2 + text3;
this.uiText = text4;
};
throw new NullReferenceException();
}
// Token: 0x0600787F RID: 30847 RVA: 0x00190974 File Offset: 0x0018EB74
[Token(Token = "0x600787F")]
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0")]
private bool Hub_OnMessage(HubConnection hub, Message message)
{
return true;
}
// Token: 0x06007880 RID: 30848 RVA: 0x00190984 File Offset: 0x0018EB84
[Token(Token = "0x6007880")]
[Address(RVA = "0x1E64F30", Offset = "0x1E63930", VA = "0x181E64F30")]
private void Hub_OnClosed(HubConnection hub)
{
string text = this.uiText + "Hub Closed\n";
this.uiText = text;
}
// Token: 0x06007881 RID: 30849 RVA: 0x001909AC File Offset: 0x0018EBAC
[Token(Token = "0x6007881")]
[Address(RVA = "0x1E650C0", Offset = "0x1E63AC0", VA = "0x181E650C0")]
private void Hub_OnError(HubConnection hub, string error)
{
string text = this.uiText + "Hub Error: " + error + "\n";
this.uiText = text;
}
// Token: 0x06007882 RID: 30850 RVA: 0x001909D8 File Offset: 0x0018EBD8
[Token(Token = "0x6007882")]
[Address(RVA = "0x1E65510", Offset = "0x1E63F10", VA = "0x181E65510")]
public HubWithAuthorizationSample()
{
Uri uri = new Uri(GUIHelper.BaseURL + "/redirect");
this.URI = uri;
base..ctor();
}
// Token: 0x040056F8 RID: 22264
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056F8")]
private readonly Uri URI;
// Token: 0x040056F9 RID: 22265
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056F9")]
private HubConnection hub;
// Token: 0x040056FA RID: 22266
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056FA")]
private Vector2 scrollPos;
// Token: 0x040056FB RID: 22267
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40056FB")]
private string uiText;
}
}
@@ -0,0 +1,262 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012BF RID: 4799
[Token(Token = "0x20012BF")]
[StructLayout(3)]
public sealed class LargeFileDownloadSample : MonoBehaviour
{
// Token: 0x06007830 RID: 30768 RVA: 0x0018ED74 File Offset: 0x0018CF74
[Token(Token = "0x6007830")]
[Address(RVA = "0x1E666B0", Offset = "0x1E650B0", VA = "0x181E666B0")]
private void Awake()
{
if (PlayerPrefs.HasKey("DownloadLength"))
{
int @int = PlayerPrefs.GetInt("DownloadProgress");
int int2 = PlayerPrefs.GetInt("DownloadLength");
}
}
// Token: 0x06007831 RID: 30769 RVA: 0x0018EDA4 File Offset: 0x0018CFA4
[Token(Token = "0x6007831")]
[Address(RVA = "0x1E66730", Offset = "0x1E65130", VA = "0x181E66730")]
private void OnDestroy()
{
HTTPRequest httprequest = this.request;
if (httprequest != 0 && httprequest.<State>k__BackingField < HTTPRequestStates.Finished)
{
int num = 0;
httprequest.OnProgress = num;
this.request.<Callback>k__BackingField = num;
this.request.Abort();
return;
}
}
// Token: 0x06007832 RID: 30770 RVA: 0x0018EDEC File Offset: 0x0018CFEC
[Token(Token = "0x6007832")]
[Address(RVA = "0x1E66780", Offset = "0x1E65180", VA = "0x181E66780")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
HTTPRequest httprequest;
for (;;)
{
string text = this.status;
string text2 = "Request status: " + text;
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label(text2, array);
GUILayout.Space(5f);
float num = this.progress;
int num2 = 0;
int num3 = PlayerPrefs.GetInt("DownloadLength");
num3 += num2;
string text3 = string.Format("Progress: {0:P2} of {1:N0}Mb", array, num3);
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text3, array2);
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
int num4 = 0;
float num5 = GUILayout.HorizontalSlider(num, (float)num4, 1f, array3);
GUILayout.Space(50f);
httprequest = this.request;
if (httprequest != 0)
{
break;
}
string text4 = string.Format("Desired Fragment Size: {0:N} KBytes", httprequest);
GUILayoutOption[] array4 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text4, array4);
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
float num7;
float num6 = GUILayout.HorizontalSlider(num7, 4096f, 10485760f, array5);
this.fragmentSize = array5;
GUILayout.Space(5f);
bool flag = PlayerPrefs.HasKey("DownloadProgress");
string text5 = "Start Download";
if (flag)
{
text5 = "Continue Download";
}
GUILayoutOption[] array6 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button(text5, array6))
{
goto Block_4;
}
}
if (httprequest.<State>k__BackingField == HTTPRequestStates.Processing)
{
GUILayoutOption[] array7 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Abort Download", array7))
{
this.request.Abort();
}
}
return;
Block_4:
Uri uri = new Uri("https://uk3.testmy.net/dl-102400");
OnRequestFinishedDelegate onRequestFinishedDelegate = delegate(HTTPRequest req, HTTPResponse resp)
{
if (req.<State>k__BackingField <= HTTPRequestStates.Aborted)
{
if (!PlayerPrefs.HasKey("DownloadLength"))
{
string firstHeaderValue = resp.GetFirstHeaderValue("content-length");
if (firstHeaderValue == 0)
{
int num12 = int.Parse(firstHeaderValue);
PlayerPrefs.SetInt("DownloadLength", num12);
}
}
List<byte[]> streamedFragments = resp.GetStreamedFragments();
this.ProcessFragments(streamedFragments);
this.status = "Processing";
if (!resp.IsSuccess)
{
int <StatusCode>k__BackingField = resp.<StatusCode>k__BackingField;
string <Message>k__BackingField = resp.<Message>k__BackingField;
string dataAsText = resp.DataAsText;
string text6 = string.Format("Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", <StatusCode>k__BackingField, <Message>k__BackingField, dataAsText);
this.status = text6;
Debug.LogWarning(text6);
}
List<byte[]> list;
this.ProcessFragments(list);
this.status = "Streaming finished!";
PlayerPrefs.DeleteKey("DownloadProgress");
PlayerPrefs.Save();
int num13 = 0;
this.request = num13;
}
};
HTTPRequest httprequest2 = new HTTPRequest(uri, onRequestFinishedDelegate);
this.request = httprequest2;
if (!PlayerPrefs.HasKey("DownloadProgress"))
{
int num8 = 0;
PlayerPrefs.SetInt("DownloadProgress", num8);
}
HTTPRequest httprequest3 = this.request;
int @int = PlayerPrefs.GetInt("DownloadProgress");
httprequest3.SetRangeHeader(@int);
ulong num9;
this.request.DisableCache = num9 != 0UL;
ulong num10;
this.request.UseStreaming = num10 != 0UL;
HTTPRequest httprequest4 = this.request;
int num11 = this.fragmentSize;
httprequest4.StreamFragmentSize = num11;
HTTPRequest httprequest5 = this.request.Send();
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x06007833 RID: 30771 RVA: 0x0018EE14 File Offset: 0x0018D014
[Token(Token = "0x6007833")]
[Address(RVA = "0x1E66940", Offset = "0x1E65340", VA = "0x181E66940")]
private void StreamLargeFileTest()
{
Uri uri = new Uri("https://uk3.testmy.net/dl-102400");
OnRequestFinishedDelegate onRequestFinishedDelegate = delegate(HTTPRequest req, HTTPResponse resp)
{
if (req.<State>k__BackingField <= HTTPRequestStates.Aborted)
{
if (!PlayerPrefs.HasKey("DownloadLength"))
{
string firstHeaderValue = resp.GetFirstHeaderValue("content-length");
if (firstHeaderValue == 0)
{
int num3 = int.Parse(firstHeaderValue);
PlayerPrefs.SetInt("DownloadLength", num3);
}
}
List<byte[]> streamedFragments = resp.GetStreamedFragments();
this.ProcessFragments(streamedFragments);
this.status = "Processing";
if (!resp.IsSuccess)
{
int <StatusCode>k__BackingField = resp.<StatusCode>k__BackingField;
string <Message>k__BackingField = resp.<Message>k__BackingField;
string dataAsText = resp.DataAsText;
string text = string.Format("Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", <StatusCode>k__BackingField, <Message>k__BackingField, dataAsText);
this.status = text;
Debug.LogWarning(text);
}
List<byte[]> list;
this.ProcessFragments(list);
this.status = "Streaming finished!";
PlayerPrefs.DeleteKey("DownloadProgress");
PlayerPrefs.Save();
int num4 = 0;
this.request = num4;
}
};
HTTPRequest httprequest = new HTTPRequest(uri, onRequestFinishedDelegate);
this.request = httprequest;
if (!PlayerPrefs.HasKey("DownloadProgress"))
{
int num = 0;
PlayerPrefs.SetInt("DownloadProgress", num);
}
HTTPRequest httprequest2 = this.request;
int @int = PlayerPrefs.GetInt("DownloadProgress");
httprequest2.SetRangeHeader(@int);
this.request.DisableCache = true;
this.request.UseStreaming = true;
HTTPRequest httprequest3 = this.request;
int num2 = this.fragmentSize;
httprequest3.StreamFragmentSize = num2;
HTTPRequest httprequest4 = this.request.Send();
}
// Token: 0x06007834 RID: 30772 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007834")]
[Address(RVA = "0x1E66830", Offset = "0x1E65230", VA = "0x181E66830")]
private void ProcessFragments(List<byte[]> fragments)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06007835 RID: 30773 RVA: 0x0018EEC4 File Offset: 0x0018D0C4
[Token(Token = "0x6007835")]
[Address(RVA = "0x1E67140", Offset = "0x1E65B40", VA = "0x181E67140")]
public LargeFileDownloadSample()
{
string empty = string.Empty;
this.status = empty;
this.fragmentSize = (int)((ulong)4096L);
base..ctor();
}
// Token: 0x040056C1 RID: 22209
[Token(Token = "0x40056C1")]
private const string URL = "https://uk3.testmy.net/dl-102400";
// Token: 0x040056C2 RID: 22210
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056C2")]
private HTTPRequest request;
// Token: 0x040056C3 RID: 22211
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056C3")]
private string status;
// Token: 0x040056C4 RID: 22212
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056C4")]
private float progress;
// Token: 0x040056C5 RID: 22213
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40056C5")]
private int fragmentSize;
}
}
@@ -0,0 +1,154 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C7 RID: 4807
[Token(Token = "0x20012C7")]
[StructLayout(3)]
public sealed class SampleDescriptor
{
// Token: 0x1700139B RID: 5019
// (get) Token: 0x06007860 RID: 30816 RVA: 0x00190098 File Offset: 0x0018E298
// (set) Token: 0x06007861 RID: 30817 RVA: 0x001900AC File Offset: 0x0018E2AC
[Token(Token = "0x1700139B")]
public bool IsLabel
{
[Token(Token = "0x6007860")]
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")]
get;
[Token(Token = "0x6007861")]
[Address(RVA = "0x559450", Offset = "0x557E50", VA = "0x180559450")]
set;
}
// Token: 0x1700139C RID: 5020
// (get) Token: 0x06007862 RID: 30818 RVA: 0x001900C0 File Offset: 0x0018E2C0
// (set) Token: 0x06007863 RID: 30819 RVA: 0x001900D4 File Offset: 0x0018E2D4
[Token(Token = "0x1700139C")]
public Type Type
{
[Token(Token = "0x6007862")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x6007863")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set;
}
// Token: 0x1700139D RID: 5021
// (get) Token: 0x06007864 RID: 30820 RVA: 0x001900E8 File Offset: 0x0018E2E8
// (set) Token: 0x06007865 RID: 30821 RVA: 0x001900FC File Offset: 0x0018E2FC
[Token(Token = "0x1700139D")]
public string DisplayName
{
[Token(Token = "0x6007864")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x6007865")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set;
}
// Token: 0x1700139E RID: 5022
// (get) Token: 0x06007866 RID: 30822 RVA: 0x00190110 File Offset: 0x0018E310
// (set) Token: 0x06007867 RID: 30823 RVA: 0x00190124 File Offset: 0x0018E324
[Token(Token = "0x1700139E")]
public string Description
{
[Token(Token = "0x6007866")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x6007867")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
set;
}
// Token: 0x1700139F RID: 5023
// (get) Token: 0x06007868 RID: 30824 RVA: 0x00190138 File Offset: 0x0018E338
// (set) Token: 0x06007869 RID: 30825 RVA: 0x0019014C File Offset: 0x0018E34C
[Token(Token = "0x1700139F")]
public bool IsSelected
{
[Token(Token = "0x6007868")]
[Address(RVA = "0x4CB2D0", Offset = "0x4C9CD0", VA = "0x1804CB2D0")]
get;
[Token(Token = "0x6007869")]
[Address(RVA = "0x4CB340", Offset = "0x4C9D40", VA = "0x1804CB340")]
set;
}
// Token: 0x170013A0 RID: 5024
// (get) Token: 0x0600786A RID: 30826 RVA: 0x00190160 File Offset: 0x0018E360
// (set) Token: 0x0600786B RID: 30827 RVA: 0x00190174 File Offset: 0x0018E374
[Token(Token = "0x170013A0")]
public GameObject UnityObject
{
[Token(Token = "0x600786A")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x600786B")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
set;
}
// Token: 0x170013A1 RID: 5025
// (get) Token: 0x0600786C RID: 30828 RVA: 0x00190188 File Offset: 0x0018E388
[Token(Token = "0x170013A1")]
public bool IsRunning
{
[Token(Token = "0x600786C")]
[Address(RVA = "0x1E673A0", Offset = "0x1E65DA0", VA = "0x181E673A0")]
get
{
GameObject gameObject = this.<UnityObject>k__BackingField;
int num = 0;
return gameObject != num;
}
}
// Token: 0x0600786D RID: 30829 RVA: 0x001901A8 File Offset: 0x0018E3A8
[Token(Token = "0x600786D")]
[Address(RVA = "0x1E67350", Offset = "0x1E65D50", VA = "0x181E67350")]
public SampleDescriptor(Type type, string displayName, string description)
{
int num = 0;
base.FieldGetter(num, displayName, description);
this.Type = type;
this.DisplayName = displayName;
this.Description = description;
}
// Token: 0x0600786E RID: 30830 RVA: 0x001901D8 File Offset: 0x0018E3D8
[Token(Token = "0x600786E")]
[Address(RVA = "0x1E67200", Offset = "0x1E65C00", VA = "0x181E67200")]
public void CreateUnityObject()
{
GameObject gameObject = this.<UnityObject>k__BackingField;
int num = 0;
if (!(gameObject != num))
{
GameObject gameObject2 = new GameObject(this.<DisplayName>k__BackingField);
this.<UnityObject>k__BackingField = gameObject2;
Type type = this.<Type>k__BackingField;
Component component = gameObject2.Internal_AddComponentWithType(type);
}
}
// Token: 0x0600786F RID: 30831 RVA: 0x00190224 File Offset: 0x0018E424
[Token(Token = "0x600786F")]
[Address(RVA = "0x1E672B0", Offset = "0x1E65CB0", VA = "0x181E672B0")]
public void DestroyUnityObject()
{
GameObject gameObject = this.<UnityObject>k__BackingField;
int num = 0;
if (gameObject != num)
{
global::UnityEngine.Object.Destroy(this.<UnityObject>k__BackingField);
this.<UnityObject>k__BackingField = (ulong)0L;
}
}
}
}
@@ -0,0 +1,297 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Statistics;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C8 RID: 4808
[Token(Token = "0x20012C8")]
[StructLayout(3)]
public class SampleSelector : MonoBehaviour
{
// Token: 0x06007870 RID: 30832 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007870")]
[Address(RVA = "0x1E67400", Offset = "0x1E65E00", VA = "0x181E67400")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06007871 RID: 30833 RVA: 0x00190258 File Offset: 0x0018E458
[Token(Token = "0x6007871")]
[Address(RVA = "0x1E684C0", Offset = "0x1E66EC0", VA = "0x181E684C0")]
private void Update()
{
int width = Screen.width;
int height = Screen.height;
GUIHelper.ClientArea = 0;
if (Input.GetKeyDownInt(KeyCode.Escape))
{
SampleDescriptor selectedSample = SampleSelector.SelectedSample;
if (selectedSample != 0)
{
GameObject <UnityObject>k__BackingField = selectedSample.<UnityObject>k__BackingField;
int num = 0;
if (<UnityObject>k__BackingField != num)
{
SampleSelector.SelectedSample.DestroyUnityObject();
}
}
Application.Quit();
}
if (Input.GetKeyDownInt((KeyCode)((uint)271)) || Input.GetKeyDownInt(KeyCode.Return))
{
SampleDescriptor selectedSample2 = SampleSelector.SelectedSample;
if (selectedSample2 != 0)
{
GameObject <UnityObject>k__BackingField2 = selectedSample2.<UnityObject>k__BackingField;
int num2 = 0;
if (!(<UnityObject>k__BackingField2 != num2))
{
SampleSelector.SelectedSample.CreateUnityObject();
return;
}
}
}
}
// Token: 0x06007872 RID: 30834 RVA: 0x00190308 File Offset: 0x0018E508
[Token(Token = "0x6007872")]
[Address(RVA = "0x1E67C70", Offset = "0x1E66670", VA = "0x181E67C70")]
private void OnGUI()
{
GeneralStatistics generalStatistics;
int recycledConnections = generalStatistics.RecycledConnections;
GeneralStatistics stats;
stats.RecycledConnections = recycledConnections;
ulong cacheSize = generalStatistics.CacheSize;
stats.CacheSize = cacheSize;
int width = Screen.width;
Action action = delegate
{
GUIHelper.DrawCenteredText("Connections");
GUILayout.Space(5f);
int num4 = 0;
GUIHelper.DrawRow("Sum:", num4);
int num5 = 0;
GUIHelper.DrawRow("Active:", num5);
int num6 = 0;
GUIHelper.DrawRow("Free:", num6);
int num7 = 0;
GUIHelper.DrawRow("Recycled:", num7);
int num8 = 0;
GUIHelper.DrawRow("Requests in queue:", num8);
};
GUIHelper.Setup();
if (action != 0)
{
action();
}
GUILayout.EndArea();
int width2 = Screen.width;
int width3 = Screen.width;
Action action2 = delegate
{
GUIHelper.DrawCenteredText("Cache");
if (HTTPCacheService.IsSupported)
{
GUILayout.Space(5f);
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
GUILayout.FlexibleSpace();
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Clear Cache", array2))
{
HTTPCacheService.BeginClear();
}
GUILayout.EndVertical();
return;
}
Color yellow = Color.yellow;
GUIHelper.DrawCenteredText("Disabled in WebPlayer, WebGL & Samsung Smart TV Builds!");
Color white = Color.white;
};
GUIHelper.Setup();
if (action2 != 0)
{
action2();
}
GUILayout.EndArea();
int width4 = Screen.width;
int width5 = Screen.width;
Action action3 = delegate
{
GUIHelper.DrawCenteredText("Cookies");
if (CookieJar.IsSavingSupported)
{
GUILayout.Space(5f);
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
GUILayout.FlexibleSpace();
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Clear Cookies", array3))
{
CookieJar.Clear();
}
GUILayout.EndVertical();
return;
}
Color yellow2 = Color.yellow;
GUIHelper.DrawCenteredText("Saving and loading from disk is disabled in WebPlayer, WebGL & Samsung Smart TV Builds!");
Color white2 = Color.white;
};
GUIHelper.Setup();
if (action3 != 0)
{
action3();
}
GUILayout.EndArea();
SampleDescriptor selectedSample = SampleSelector.SelectedSample;
if (selectedSample != 0)
{
GameObject <UnityObject>k__BackingField = selectedSample.<UnityObject>k__BackingField;
int num = 0;
if (<UnityObject>k__BackingField != num)
{
SampleDescriptor selectedSample2 = SampleSelector.SelectedSample;
if (selectedSample2 != 0 && selectedSample2.IsRunning)
{
int height = Screen.height;
int width6 = Screen.width;
int num2 = 0;
string empty = string.Empty;
GUILayout.BeginArea(num2, empty);
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.FlexibleSpace();
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
GUILayout.FlexibleSpace();
GUILayoutOption[] array = new GUILayoutOption[1];
GUILayoutOption guilayoutOption = GUILayout.MinWidth(100f);
if (guilayoutOption != 0)
{
}
array[0] = guilayoutOption;
if (GUILayout.Button("Back", array))
{
SampleSelector.SelectedSample.DestroyUnityObject();
}
GUILayout.FlexibleSpace();
GUILayout.EndVertical();
GUILayout.EndHorizontal();
GUILayout.EndArea();
}
return;
}
}
SampleDescriptor selectedSample3 = SampleSelector.SelectedSample;
int width7 = Screen.width;
if (selectedSample3 != 0)
{
}
int num3 = Screen.height;
num3 += -165;
Action action4 = delegate
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
GUIHelper.Setup();
if (action4 != 0)
{
action4();
}
GUILayout.EndArea();
SampleDescriptor selectedSample4 = SampleSelector.SelectedSample;
while (selectedSample4 == 0)
{
}
this.DrawSampleDetails(selectedSample4);
throw new NullReferenceException();
}
// Token: 0x06007873 RID: 30835 RVA: 0x00190560 File Offset: 0x0018E760
[Token(Token = "0x6007873")]
[Address(RVA = "0x1E67B80", Offset = "0x1E66580", VA = "0x181E67B80")]
private void DrawSample(SampleDescriptor sample)
{
if (!sample.<IsLabel>k__BackingField)
{
string <DisplayName>k__BackingField = sample.<DisplayName>k__BackingField;
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
if (GUILayout.Button(<DisplayName>k__BackingField, array))
{
sample.<IsSelected>k__BackingField = true;
SampleDescriptor selectedSample = SampleSelector.SelectedSample;
if (selectedSample != 0)
{
selectedSample.<IsSelected>k__BackingField = false;
}
SampleSelector.SelectedSample = sample;
}
return;
}
GUILayout.Space(15f);
GUIHelper.DrawCenteredText(sample.<DisplayName>k__BackingField);
GUILayout.Space(5f);
}
// Token: 0x06007874 RID: 30836 RVA: 0x001905D4 File Offset: 0x0018E7D4
[Token(Token = "0x6007874")]
[Address(RVA = "0x1E679A0", Offset = "0x1E663A0", VA = "0x181E679A0")]
private void DrawSampleDetails(SampleDescriptor sample)
{
int width = Screen.width;
int width2 = Screen.width;
int height = Screen.height;
int num = 0;
string empty = string.Empty;
GUI.Box(num, empty);
GUILayout.BeginArea(num);
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
GUIHelper.DrawCenteredText(sample.<DisplayName>k__BackingField);
GUILayout.Space(5f);
string <Description>k__BackingField = sample.<Description>k__BackingField;
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
GUILayout.Label(<Description>k__BackingField, array);
GUILayout.FlexibleSpace();
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Start Sample", array2))
{
sample.CreateUnityObject();
}
GUILayout.EndVertical();
GUILayout.EndArea();
}
// Token: 0x06007875 RID: 30837 RVA: 0x00190688 File Offset: 0x0018E888
[Token(Token = "0x6007875")]
[Address(RVA = "0x1E686D0", Offset = "0x1E670D0", VA = "0x181E686D0")]
public SampleSelector()
{
List<SampleDescriptor> list = new List();
this.Samples = list;
base..ctor();
}
// Token: 0x040056F2 RID: 22258
[Token(Token = "0x40056F2")]
public const int statisticsHeight = 160;
// Token: 0x040056F3 RID: 22259
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056F3")]
private List<SampleDescriptor> Samples;
// Token: 0x040056F4 RID: 22260
[Token(Token = "0x40056F4")]
public static SampleDescriptor SelectedSample;
// Token: 0x040056F5 RID: 22261
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056F5")]
private Vector2 scrollPos;
}
}
@@ -0,0 +1,449 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.Futures;
using BestHTTP.SignalRCore;
using BestHTTP.SignalRCore.Encoders;
using BestHTTP.SignalRCore.Messages;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012CB RID: 4811
[Token(Token = "0x20012CB")]
[StructLayout(3)]
public class TestHubExample : MonoBehaviour
{
// Token: 0x06007885 RID: 30853 RVA: 0x00190A90 File Offset: 0x0018EC90
[Token(Token = "0x6007885")]
[Address(RVA = "0x1E69A10", Offset = "0x1E68410", VA = "0x181E69A10")]
private void Start()
{
HubOptions hubOptions = new HubOptions();
hubOptions.<SkipNegotiation>k__BackingField = false;
Uri uri = this.URI;
JsonProtocol jsonProtocol = new JsonProtocol(new LitJsonEncoder());
HubConnection hubConnection = new HubConnection(uri, jsonProtocol, hubOptions);
this.hub = hubConnection;
Action<HubConnection> action = new Action(this.Hub_OnConnected);
hubConnection.OnConnected += action;
HubConnection hubConnection2 = this.hub;
Action<HubConnection, string> action2 = new Action(this.Hub_OnError);
hubConnection2.OnError += action2;
HubConnection hubConnection3 = this.hub;
Action<HubConnection> action3 = new Action(this.Hub_OnClosed);
hubConnection3.OnClosed += action3;
HubConnection hubConnection4 = this.hub;
Func<HubConnection, Message, bool> func = new Func(this.Hub_OnMessage);
hubConnection4.OnMessage += func;
HubConnection hubConnection5 = this.hub;
Action<string> action4 = delegate(string arg)
{
string text = this.uiText;
string text2 = string.Format(" On Send: {0}\n", arg);
string text3 = text + text2;
this.uiText = text3;
};
hubConnection5.On<string>("Send", action4);
HubConnection hubConnection6 = this.hub;
Action<TestHubExample.Person> action5 = delegate(TestHubExample.Person person)
{
string text4 = this.uiText;
string text5 = string.Format(" On Person: {0}\n", person);
string text6 = text4 + text5;
this.uiText = text6;
};
hubConnection6.On<TestHubExample.Person>("Person", action5);
HubConnection hubConnection7 = this.hub;
Action<TestHubExample.Person, TestHubExample.Person> action6 = delegate(TestHubExample.Person person1, TestHubExample.Person person2)
{
string text7 = this.uiText;
string text8 = string.Format(" On TwoPersons: {0}, {1}\n", person1, person2);
string text9 = text7 + text8;
this.uiText = text9;
};
hubConnection7.On<TestHubExample.Person, TestHubExample.Person>("TwoPersons", action6);
this.hub.StartConnect();
this.uiText = "StartConnect called\n";
}
// Token: 0x06007886 RID: 30854 RVA: 0x00190BC8 File Offset: 0x0018EDC8
[Token(Token = "0x6007886")]
[Address(RVA = "0x1E65120", Offset = "0x1E63B20", VA = "0x181E65120")]
private void OnDestroy()
{
HubConnection hubConnection = this.hub;
if (hubConnection != 0)
{
hubConnection.StartClose();
return;
}
}
// Token: 0x06007887 RID: 30855 RVA: 0x00190BE8 File Offset: 0x0018EDE8
[Token(Token = "0x6007887")]
[Address(RVA = "0x1E69960", Offset = "0x1E68360", VA = "0x181E69960")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
Vector2 vector;
this.scrollPos = vector;
this.scrollPos.y = (float)0;
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
string text = this.uiText;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text, array2);
GUILayout.EndVertical();
GUILayout.EndScrollView();
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x06007888 RID: 30856 RVA: 0x00190C10 File Offset: 0x0018EE10
[Token(Token = "0x6007888")]
[Address(RVA = "0x1E68B20", Offset = "0x1E67520", VA = "0x181E68B20")]
private void Hub_OnConnected(HubConnection hub)
{
string text = this.uiText + "Hub Connected\n";
this.uiText = text;
object[] array = new object[1];
if ("my message" != 0)
{
}
array[0] = "my message";
IFuture<bool> future = hub.Send("Send", array);
object[] array2 = Array.Empty<object>();
IFuture future2 = hub.Invoke<string>("NoParam", array2);
FutureValueCallback<string> futureValueCallback = delegate(string ret)
{
string text2 = this.uiText;
string text3 = string.Format(" 'NoParam' returned: {0}\n", ret);
string text4 = text2 + text3;
this.uiText = text4;
};
object[] array3 = new object[2];
int num;
if (num != 0)
{
}
array3[0] = num;
if (num != 0)
{
}
array3[1] = num;
IFuture future3 = hub.Invoke<int>("Add", array3);
FutureValueCallback<int> futureValueCallback2 = delegate(int result)
{
string text5 = this.uiText;
string text6 = string.Format(" 'Add(10, 20)' returned: {0}\n", result);
string text7 = text5 + text6;
this.uiText = text7;
};
FutureErrorCallback futureErrorCallback = delegate(Exception error)
{
string text8 = this.uiText;
string text9 = string.Format(" 'Add(10, 20)' error: {0}\n", error);
string text10 = text8 + text9;
this.uiText = text10;
};
object[] array4 = new object[2];
if ("Mr. Smith" != 0)
{
}
array4[0] = "Mr. Smith";
if ("Mr. Smith" != 0)
{
}
array4[1] = "Mr. Smith";
IFuture future4 = hub.Invoke<TestHubExample.Person>("GetPerson", array4);
FutureValueCallback<TestHubExample.Person> futureValueCallback3 = delegate(TestHubExample.Person result)
{
string text11 = this.uiText;
string text12 = string.Format(" 'GetPerson(\"Mr. Smith\", 26)' returned: {0}\n", result);
string text13 = text11 + text12;
this.uiText = text13;
};
int num2 = 0;
num2 += num2;
num2++;
FutureErrorCallback futureErrorCallback2 = delegate(Exception error)
{
string text14 = this.uiText;
string text15 = string.Format(" 'GetPerson(\"Mr. Smith\", 26)' error: {0}\n", error);
string text16 = text14 + text15;
this.uiText = text16;
};
object[] array5 = new object[2];
int num3;
if (num3 != 0)
{
num3 += 4;
num3 += 19;
}
array5[0] = num3;
if (num3 != 0)
{
}
array5[1] = num3;
IFuture future5 = hub.Invoke<int>("SingleResultFailure", array5);
FutureValueCallback<int> futureValueCallback4 = delegate(int result)
{
string text17 = this.uiText;
string text18 = string.Format(" 'SingleResultFailure(10, 20)' returned: {0}\n", result);
string text19 = text17 + text18;
this.uiText = text19;
};
FutureErrorCallback futureErrorCallback3 = delegate(Exception error)
{
string text20 = this.uiText;
string text21 = string.Format(" 'SingleResultFailure(10, 20)' error: {0}\n", error);
string text22 = text20 + text21;
this.uiText = text22;
};
object[] array6 = new object[1];
int num4;
if (num4 != 0)
{
}
array6[0] = num4;
IFuture future6 = hub.Invoke<int[]>("Batched", array6);
FutureValueCallback<int[]> futureValueCallback5 = delegate(int[] result)
{
string text23 = this.uiText;
int length = result.Length;
string text24 = string.Format(" 'Batched(10)' returned items: {0}\n", length);
string text25 = text23 + text24;
this.uiText = text25;
};
num2 += num2;
num2++;
FutureErrorCallback futureErrorCallback4 = delegate(Exception error)
{
string text26 = this.uiText;
string text27 = string.Format(" 'Batched(10)' error: {0}\n", error);
string text28 = text26 + text27;
this.uiText = text28;
};
object[] array7 = new object[2];
int num5;
if (num5 != 0)
{
num5 += 4;
num5 += 19;
}
array7[0] = num5;
if (num5 != 0)
{
}
array7[1] = num5;
IFuture future7 = hub.Stream<int>("ObservableCounter", array7);
FutureValueCallback<StreamItemContainer<int>> futureValueCallback6 = delegate(StreamItemContainer<int> result)
{
string text29 = this.uiText;
!0 <LastAdded>k__BackingField = result.<LastAdded>k__BackingField;
string text31;
string text30 = text29 + text31;
this.uiText = text30;
};
FutureValueCallback<StreamItemContainer<int>> futureValueCallback7 = delegate(StreamItemContainer<int> result)
{
string text32 = this.uiText;
int size = result.<Items>k__BackingField._size;
string text33 = string.Format(" 'ObservableCounter(10, 1000)' OnSuccess. Final count: {0}\n", size);
string text34 = text32 + text33;
this.uiText = text34;
};
FutureErrorCallback futureErrorCallback5 = delegate(Exception error)
{
string text35 = this.uiText;
string text36 = string.Format(" 'ObservableCounter(10, 1000)' error: {0}\n", error);
string text37 = text35 + text36;
this.uiText = text37;
};
object[] array8 = new object[2];
int num6;
if (num6 != 0)
{
}
array8[0] = num6;
if (num6 != 0)
{
}
array8[1] = num6;
IFuture future8 = hub.Stream<int>("ChannelCounter", array8);
FutureValueCallback<StreamItemContainer<int>> futureValueCallback8 = delegate(StreamItemContainer<int> result)
{
string text38 = this.uiText;
!0 <LastAdded>k__BackingField2 = result.<LastAdded>k__BackingField;
string text40;
string text39 = text38 + text40;
this.uiText = text39;
};
FutureValueCallback<StreamItemContainer<int>> futureValueCallback9 = delegate(StreamItemContainer<int> result)
{
string text41 = this.uiText;
int size2 = result.<Items>k__BackingField._size;
string text42 = string.Format(" 'ChannelCounter(10, 1000)' OnSuccess. Final count: {0}\n", size2);
string text43 = text41 + text42;
this.uiText = text43;
};
FutureErrorCallback futureErrorCallback6 = delegate(Exception error)
{
string text44 = this.uiText;
string text45 = string.Format(" 'ChannelCounter(10, 1000)' error: {0}\n", error);
string text46 = text44 + text45;
this.uiText = text46;
};
if (num2 < typeof(IFuture<StreamItemContainer<int>>).TypeHandle)
{
num2 += num2;
if (num2 == typeof(IFuture<StreamItemContainer<int>>).TypeHandle)
{
goto IL_2CE;
}
num2++;
}
hub.CancelStream<int>(num2);
object[] array9 = new object[2];
int num7;
if (num7 == 0)
{
goto IL_2E2;
}
IL_2CE:
num7 += num7;
num7++;
num7 += 19;
IL_2E2:
array9[0] = num7;
if (num7 != 0)
{
}
array9[1] = num7;
IFuture future9 = hub.Stream<TestHubExample.Person>("GetRandomPersons", array9);
FutureValueCallback<StreamItemContainer<TestHubExample.Person>> futureValueCallback10 = delegate(StreamItemContainer<TestHubExample.Person> result)
{
string text48;
string text47 = this.uiText + text48;
this.uiText = text47;
};
FutureValueCallback<StreamItemContainer<TestHubExample.Person>> futureValueCallback11 = delegate(StreamItemContainer<TestHubExample.Person> result)
{
string text49 = this.uiText;
int size3 = result.<Items>k__BackingField._size;
string text50 = string.Format(" 'GetRandomPersons(20, 1000)' OnSuccess. Final count: {0}\n", size3);
string text51 = text49 + text50;
this.uiText = text51;
};
}
// Token: 0x06007889 RID: 30857 RVA: 0x00190F4C File Offset: 0x0018F14C
[Token(Token = "0x6007889")]
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0")]
private bool Hub_OnMessage(HubConnection hub, Message message)
{
return true;
}
// Token: 0x0600788A RID: 30858 RVA: 0x00190F5C File Offset: 0x0018F15C
[Token(Token = "0x600788A")]
[Address(RVA = "0x1E68AD0", Offset = "0x1E674D0", VA = "0x181E68AD0")]
private void Hub_OnClosed(HubConnection hub)
{
string text = this.uiText + "Hub Closed\n";
this.uiText = text;
}
// Token: 0x0600788B RID: 30859 RVA: 0x00190F84 File Offset: 0x0018F184
[Token(Token = "0x600788B")]
[Address(RVA = "0x1E69900", Offset = "0x1E68300", VA = "0x181E69900")]
private void Hub_OnError(HubConnection hub, string error)
{
string text = this.uiText + "Hub Error: " + error + "\n";
this.uiText = text;
}
// Token: 0x0600788C RID: 30860 RVA: 0x00190FB0 File Offset: 0x0018F1B0
[Token(Token = "0x600788C")]
[Address(RVA = "0x1E6A7D0", Offset = "0x1E691D0", VA = "0x181E6A7D0")]
public TestHubExample()
{
Uri uri = new Uri(GUIHelper.BaseURL + "/TestHub");
this.URI = uri;
base..ctor();
}
// Token: 0x040056FC RID: 22268
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056FC")]
private readonly Uri URI;
// Token: 0x040056FD RID: 22269
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056FD")]
private HubConnection hub;
// Token: 0x040056FE RID: 22270
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056FE")]
private Vector2 scrollPos;
// Token: 0x040056FF RID: 22271
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40056FF")]
private string uiText;
// Token: 0x020012CC RID: 4812
[Token(Token = "0x20012CC")]
private sealed class Person
{
// Token: 0x170013A2 RID: 5026
// (get) Token: 0x060078A2 RID: 30882 RVA: 0x00191438 File Offset: 0x0018F638
// (set) Token: 0x060078A3 RID: 30883 RVA: 0x0019144C File Offset: 0x0018F64C
[Token(Token = "0x170013A2")]
public string Name
{
[Token(Token = "0x60078A2")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x60078A3")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x170013A3 RID: 5027
// (get) Token: 0x060078A4 RID: 30884 RVA: 0x00191460 File Offset: 0x0018F660
// (set) Token: 0x060078A5 RID: 30885 RVA: 0x00191474 File Offset: 0x0018F674
[Token(Token = "0x170013A3")]
public long Age
{
[Token(Token = "0x60078A4")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x60078A5")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set;
}
// Token: 0x060078A6 RID: 30886 RVA: 0x00191488 File Offset: 0x0018F688
[Token(Token = "0x60078A6")]
[Address(RVA = "0x1E67190", Offset = "0x1E65B90", VA = "0x181E67190", Slot = "3")]
public override string ToString()
{
long num = this.<Age>k__BackingField;
string text = this.<Name>k__BackingField;
return string.Format("[Person Name: '{0}', Age: {1}]", text, num);
}
// Token: 0x060078A7 RID: 30887 RVA: 0x001914B0 File Offset: 0x0018F6B0
[Token(Token = "0x60078A7")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Person()
{
}
}
}
}
@@ -0,0 +1,246 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012C0 RID: 4800
[Token(Token = "0x20012C0")]
[StructLayout(3)]
public sealed class TextureDownloadSample : MonoBehaviour
{
// Token: 0x06007838 RID: 30776 RVA: 0x0018F220 File Offset: 0x0018D420
[Token(Token = "0x6007838")]
[Address(RVA = "0x1E6A880", Offset = "0x1E69280", VA = "0x181E6A880")]
private void Awake()
{
string[] images = this.Images;
int num = 0;
if (num < images.Length)
{
Texture2D[] textures = this.Textures;
Texture2D texture2D;
if (texture2D != 0)
{
}
num++;
textures[0] = texture2D;
string[] images2 = this.Images;
}
}
// Token: 0x06007839 RID: 30777 RVA: 0x0018F264 File Offset: 0x0018D464
[Token(Token = "0x6007839")]
[Address(RVA = "0x1E6ADF0", Offset = "0x1E697F0", VA = "0x181E6ADF0")]
private void OnDestroy()
{
}
// Token: 0x0600783A RID: 30778 RVA: 0x0018F274 File Offset: 0x0018D474
[Token(Token = "0x600783A")]
[Address(RVA = "0x1E6AE40", Offset = "0x1E69840", VA = "0x181E6AE40")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
Texture2D[] textures = this.Textures;
Vector2 vector;
this.scrollPos = vector;
this.scrollPos.y = (float)0;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
int num = GUILayout.SelectionGrid(0, textures, 3, array2);
int length = this.Images.Length;
if (this.finishedCount == length && this.allDownloadedFromLocalCache)
{
GUIHelper.DrawCenteredText("All images loaded from the local cache!");
}
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayoutOption[] array3 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption = GUILayout.Width(150f);
if (guilayoutOption != 0)
{
}
array3[0] = guilayoutOption;
GUILayout.Label("Max Connection/Server: ", array3);
byte maxConnectionPerServer = HTTPManager.maxConnectionPerServer;
GUILayoutOption[] array4 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption2 = GUILayout.Width(20f);
if (guilayoutOption2 != 0)
{
}
array4[0] = guilayoutOption2;
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
float num2 = GUILayout.HorizontalSlider(20f, 1f, 10f, array5);
GUILayout.EndHorizontal();
GUILayoutOption[] array6 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Start Download", array6))
{
this.DownloadImages();
}
GUILayout.EndScrollView();
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x0600783B RID: 30779 RVA: 0x0018F29C File Offset: 0x0018D49C
[Token(Token = "0x600783B")]
[Address(RVA = "0x1E6A990", Offset = "0x1E69390", VA = "0x181E6A990")]
private void DownloadImages()
{
string[] images = this.Images;
int num = 0;
this.finishedCount = num;
if (num < images.Length)
{
Texture2D[] textures = this.Textures;
Texture2D texture2D;
if (texture2D != 0)
{
}
textures[0] = texture2D;
string text = this.Images[num];
Uri uri = new Uri(this.BaseURL + text);
OnRequestFinishedDelegate onRequestFinishedDelegate = new OnRequestFinishedDelegate(this.ImageDownloaded);
HTTPRequest httprequest = new HTTPRequest(uri, onRequestFinishedDelegate);
Texture2D texture2D2 = this.Textures[num];
httprequest.<Tag>k__BackingField = texture2D2;
HTTPRequest httprequest2 = httprequest.Send();
string[] images2 = this.Images;
num++;
}
}
// Token: 0x0600783C RID: 30780 RVA: 0x0018F344 File Offset: 0x0018D544
[Token(Token = "0x600783C")]
[Address(RVA = "0x1E6AB70", Offset = "0x1E69570", VA = "0x181E6AB70")]
private void ImageDownloaded(HTTPRequest req, HTTPResponse resp)
{
HTTPRequestStates <State>k__BackingField = req.<State>k__BackingField;
if (req != 0)
{
if (req != 0)
{
if (req != 0)
{
if (req != 0)
{
if (<State>k__BackingField != HTTPRequestStates.Queued)
{
return;
}
Debug.LogError("Processing the request Timed Out!");
}
Debug.LogError("Connection Timed Out!");
}
Debug.LogWarning("Request Aborted!");
return;
}
if (req.<Exception>k__BackingField != 0)
{
Exception innerException = req.<Exception>k__BackingField.InnerException;
}
Debug.LogError("Request Finished with Error! " + "No Exception");
}
int num;
if (!resp.IsSuccess)
{
int <StatusCode>k__BackingField = resp.<StatusCode>k__BackingField;
string <Message>k__BackingField = resp.<Message>k__BackingField;
string dataAsText = resp.DataAsText;
string text = string.Format("Request finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", <StatusCode>k__BackingField, <Message>k__BackingField, dataAsText);
num = 0;
}
if (num != 0)
{
}
byte[] <Data>k__BackingField = resp.<Data>k__BackingField;
bool flag = num.LoadImage(<Data>k__BackingField);
bool flag2 = resp.<IsFromCache>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x0600783D RID: 30781 RVA: 0x0018F418 File Offset: 0x0018D618
[Token(Token = "0x600783D")]
[Address(RVA = "0x1E6B2A0", Offset = "0x1E69CA0", VA = "0x181E6B2A0")]
public TextureDownloadSample()
{
string text = GUIHelper.BaseURL + "/images/Demo/";
this.BaseURL = text;
string[] array = new string[9];
if ("One.png" != 0)
{
}
array[0] = "One.png";
if ("Two.png" != 0)
{
}
array[1] = "Two.png";
if ("Three.png" != 0)
{
}
array[2] = "Three.png";
if ("Four.png" != 0)
{
}
array[3] = "Four.png";
if ("Five.png" != 0)
{
}
array[4] = "Five.png";
if ("Six.png" != 0)
{
}
array[5] = "Six.png";
if ("Seven.png" != 0)
{
}
array[6] = "Seven.png";
if ("Eight.png" != 0)
{
}
array[7] = "Eight.png";
if ("Nine.png" != 0)
{
}
array[8] = "Nine.png";
this.Images = array;
Texture2D[] array2 = new Texture2D[9];
this.Textures = array2;
base..ctor();
}
// Token: 0x040056C6 RID: 22214
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40056C6")]
private string BaseURL;
// Token: 0x040056C7 RID: 22215
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40056C7")]
private string[] Images;
// Token: 0x040056C8 RID: 22216
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056C8")]
private Texture2D[] Textures;
// Token: 0x040056C9 RID: 22217
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40056C9")]
private bool allDownloadedFromLocalCache;
// Token: 0x040056CA RID: 22218
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x40056CA")]
private int finishedCount;
// Token: 0x040056CB RID: 22219
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40056CB")]
private Vector2 scrollPos;
}
}
@@ -0,0 +1,572 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Examples
{
// Token: 0x020012C1 RID: 4801
[Token(Token = "0x20012C1")]
[StructLayout(3)]
public sealed class UploadStream : Stream
{
// Token: 0x17001394 RID: 5012
// (get) Token: 0x0600783F RID: 30783 RVA: 0x0018F644 File Offset: 0x0018D844
// (set) Token: 0x06007840 RID: 30784 RVA: 0x0018F658 File Offset: 0x0018D858
[Token(Token = "0x17001394")]
public string Name
{
[Token(Token = "0x600783F")]
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740")]
get;
[Token(Token = "0x6007840")]
[Address(RVA = "0x462750", Offset = "0x461150", VA = "0x180462750")]
private set;
}
// Token: 0x17001395 RID: 5013
// (get) Token: 0x06007841 RID: 30785 RVA: 0x0018F66C File Offset: 0x0018D86C
[Token(Token = "0x17001395")]
private bool IsReadBufferEmpty
{
[Token(Token = "0x6007841")]
[Address(RVA = "0x1E6D090", Offset = "0x1E6BA90", VA = "0x181E6D090")]
get
{
int num;
bool canWrite;
do
{
num = 0;
object obj = this.locker;
long length = this.ReadBuffer.Length;
canWrite = this.ReadBuffer.CanWrite;
Monitor.Exit(obj);
if (num != -1)
{
}
}
while (num != 0);
return canWrite;
}
}
// Token: 0x06007842 RID: 30786 RVA: 0x0018F6B8 File Offset: 0x0018D8B8
[Token(Token = "0x6007842")]
[Address(RVA = "0x1E6CD50", Offset = "0x1E6B750", VA = "0x181E6CD50")]
public UploadStream(string name)
{
MemoryStream memoryStream = new MemoryStream();
this.ReadBuffer = memoryStream;
MemoryStream memoryStream2 = new MemoryStream();
this.WriteBuffer = memoryStream2;
int num;
AutoResetEvent autoResetEvent = new AutoResetEvent(num != 0);
num = 0;
this.ARE = autoResetEvent;
object obj = new object();
this.locker = obj;
base..ctor();
MemoryStream memoryStream3 = new MemoryStream();
this.ReadBuffer = memoryStream3;
MemoryStream memoryStream4 = new MemoryStream();
this.WriteBuffer = memoryStream4;
this.Name = name;
}
// Token: 0x06007843 RID: 30787 RVA: 0x0018F72C File Offset: 0x0018D92C
[Token(Token = "0x6007843")]
[Address(RVA = "0x1E6CE70", Offset = "0x1E6B870", VA = "0x181E6CE70")]
public UploadStream()
{
MemoryStream memoryStream = new MemoryStream();
this.ReadBuffer = memoryStream;
MemoryStream memoryStream2 = new MemoryStream();
this.WriteBuffer = memoryStream2;
int num;
AutoResetEvent autoResetEvent = new AutoResetEvent(num != 0);
num = 0;
this.ARE = autoResetEvent;
object obj = new object();
this.locker = obj;
base..ctor();
MemoryStream memoryStream3 = new MemoryStream();
this.ReadBuffer = memoryStream3;
MemoryStream memoryStream4 = new MemoryStream();
this.WriteBuffer = memoryStream4;
string empty = string.Empty;
this.Name = empty;
}
// Token: 0x06007844 RID: 30788 RVA: 0x0018F7A8 File Offset: 0x0018D9A8
[Token(Token = "0x6007844")]
[Address(RVA = "0x1E6C600", Offset = "0x1E6B000", VA = "0x181E6C600", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
for (;;)
{
int num = 0;
if ((this.noMoreData ? 1 : 0) != num)
{
long length = this.ReadBuffer.Length;
bool canWrite = this.ReadBuffer.CanWrite;
MemoryStream readBuffer = this.ReadBuffer;
bool canWrite2 = this.WriteBuffer.CanWrite;
ILogger logger = HTTPManager.Logger;
string text = this.<Name>k__BackingField;
string text2 = string.Format("{0} - Read - End Of Stream", text);
bool flag = this.SwitchBuffers();
}
if (!this.IsReadBufferEmpty)
{
goto IL_A5;
}
AutoResetEvent are = this.ARE;
object obj = this.locker;
if (this.IsReadBufferEmpty && this.WriteBuffer.CanWrite > false)
{
bool flag2 = this.SwitchBuffers();
}
int num2 = 0;
Monitor.Exit(obj);
if (num != -1)
{
goto IL_A5;
}
IL_C7:
if (num != 0)
{
continue;
}
object obj2;
Monitor.Exit(obj2);
if (num != -1)
{
}
if (num == 0)
{
break;
}
continue;
IL_A5:
obj2 = this.locker;
Monitor.Enter(obj2, num2);
this.ReadBuffer.SetLength((long)num2);
num++;
goto IL_C7;
}
throw new NullReferenceException();
}
// Token: 0x06007845 RID: 30789 RVA: 0x0018F89C File Offset: 0x0018DA9C
[Token(Token = "0x6007845")]
[Address(RVA = "0x1E6CBD0", Offset = "0x1E6B5D0", VA = "0x181E6CBD0", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
int num;
do
{
num = 0;
if ((this.noMoreData ? 1 : 0) != num)
{
goto IL_41;
}
object obj = this.locker;
int num2 = this.WriteBuffer.ReadByte();
bool flag = this.SwitchBuffers();
Monitor.Exit(obj);
if (num != -1)
{
}
}
while (num != 0);
bool flag2 = this.ARE.Set();
return;
IL_41:
ArgumentException ex = new ArgumentException("noMoreData already set!");
throw new NullReferenceException();
}
// Token: 0x06007846 RID: 30790 RVA: 0x0018F8FC File Offset: 0x0018DAFC
[Token(Token = "0x6007846")]
[Address(RVA = "0x1E6C510", Offset = "0x1E6AF10", VA = "0x181E6C510", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (06007846)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Examples.UploadStream::Flush()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3D:
stloc:ArgumentException(var_6_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("noMoreData already 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.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: 0x06007847 RID: 30791 RVA: 0x0018F954 File Offset: 0x0018DB54
[Token(Token = "0x6007847")]
[Address(RVA = "0x1E6C400", Offset = "0x1E6AE00", VA = "0x181E6C400", Slot = "16")]
protected override void Dispose(bool disposing)
{
if (disposing)
{
ILogger logger = HTTPManager.Logger;
string text = this.<Name>k__BackingField;
string text2 = string.Format("{0} - Dispose", text);
this.ReadBuffer.Dispose();
MemoryStream writeBuffer = this.WriteBuffer;
int num = 0;
this.ReadBuffer = num;
writeBuffer.Dispose();
AutoResetEvent are = this.ARE;
this.WriteBuffer = num;
this.ARE = num;
}
base.Dispose(disposing);
}
// Token: 0x06007848 RID: 30792 RVA: 0x0018F9CC File Offset: 0x0018DBCC
[Token(Token = "0x6007848")]
[Address(RVA = "0x1E6C510", Offset = "0x1E6AF10", VA = "0x181E6C510")]
public void Finish()
{
/*
An exception occurred when decompiling this method (06007848)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Examples.UploadStream::Finish()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3D:
stloc:ArgumentException(var_6_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("noMoreData already 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.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: 0x06007849 RID: 30793 RVA: 0x0018FA24 File Offset: 0x0018DC24
[Token(Token = "0x6007849")]
[Address(RVA = "0x1E6CA20", Offset = "0x1E6B420", VA = "0x181E6CA20")]
private bool SwitchBuffers()
{
for (;;)
{
int num = 0;
object obj = this.locker;
long length = this.ReadBuffer.Length;
bool canWrite = this.ReadBuffer.CanWrite;
if (length != (canWrite ? 1L : 0L))
{
}
MemoryStream writeBuffer = this.WriteBuffer;
MemoryStream readBuffer = this.ReadBuffer;
MemoryStream writeBuffer2 = this.WriteBuffer;
MemoryStream readBuffer2 = this.ReadBuffer;
this.WriteBuffer = readBuffer2;
this.ReadBuffer = writeBuffer2;
int num2 = 0;
Monitor.Exit(obj);
if (num != -1)
{
if (num2 == 113)
{
break;
}
if (num2 == 111)
{
goto IL_74;
}
}
if (num == 0)
{
goto IL_74;
}
}
return true;
IL_74:
throw new NullReferenceException();
}
// Token: 0x17001396 RID: 5014
// (get) Token: 0x0600784A RID: 30794 RVA: 0x0018FAC0 File Offset: 0x0018DCC0
[Token(Token = "0x17001396")]
public override bool CanRead
{
[Token(Token = "0x600784A")]
[Address(RVA = "0x1E6CFA0", Offset = "0x1E6B9A0", VA = "0x181E6CFA0", Slot = "7")]
get
{
/*
An exception occurred when decompiling this method (0600784A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Examples.UploadStream::get_CanRead()
---> 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: 0x17001397 RID: 5015
// (get) Token: 0x0600784B RID: 30795 RVA: 0x0018FAD4 File Offset: 0x0018DCD4
[Token(Token = "0x17001397")]
public override bool CanSeek
{
[Token(Token = "0x600784B")]
[Address(RVA = "0x1E6CFF0", Offset = "0x1E6B9F0", VA = "0x181E6CFF0", Slot = "8")]
get
{
/*
An exception occurred when decompiling this method (0600784B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Examples.UploadStream::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: 0x17001398 RID: 5016
// (get) Token: 0x0600784C RID: 30796 RVA: 0x0018FAE8 File Offset: 0x0018DCE8
[Token(Token = "0x17001398")]
public override bool CanWrite
{
[Token(Token = "0x600784C")]
[Address(RVA = "0x1E6D040", Offset = "0x1E6BA40", VA = "0x181E6D040", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600784C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.Examples.UploadStream::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: 0x17001399 RID: 5017
// (get) Token: 0x0600784D RID: 30797 RVA: 0x0018FAFC File Offset: 0x0018DCFC
[Token(Token = "0x17001399")]
public override long Length
{
[Token(Token = "0x600784D")]
[Address(RVA = "0x1E6D1A0", Offset = "0x1E6BBA0", VA = "0x181E6D1A0", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600784D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Examples.UploadStream::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: 0x1700139A RID: 5018
// (get) Token: 0x0600784E RID: 30798 RVA: 0x0018FB10 File Offset: 0x0018DD10
// (set) Token: 0x0600784F RID: 30799 RVA: 0x0018FB24 File Offset: 0x0018DD24
[Token(Token = "0x1700139A")]
public override long Position
{
[Token(Token = "0x600784E")]
[Address(RVA = "0x1E6D1F0", Offset = "0x1E6BBF0", VA = "0x181E6D1F0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600784E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Examples.UploadStream::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 = "0x600784F")]
[Address(RVA = "0x1E6D240", Offset = "0x1E6BC40", VA = "0x181E6D240", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600784F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Examples.UploadStream::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: 0x06007850 RID: 30800 RVA: 0x0018FB38 File Offset: 0x0018DD38
[Token(Token = "0x6007850")]
[Address(RVA = "0x1E6C980", Offset = "0x1E6B380", VA = "0x181E6C980", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (06007850)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Examples.UploadStream::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: 0x06007851 RID: 30801 RVA: 0x0018FB4C File Offset: 0x0018DD4C
[Token(Token = "0x6007851")]
[Address(RVA = "0x1E6C9D0", Offset = "0x1E6B3D0", VA = "0x181E6C9D0", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (06007851)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Examples.UploadStream::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: 0x040056CC RID: 22220
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40056CC")]
private MemoryStream ReadBuffer;
// Token: 0x040056CD RID: 22221
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40056CD")]
private MemoryStream WriteBuffer;
// Token: 0x040056CE RID: 22222
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40056CE")]
private bool noMoreData;
// Token: 0x040056CF RID: 22223
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40056CF")]
private AutoResetEvent ARE;
// Token: 0x040056D0 RID: 22224
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40056D0")]
private object locker;
}
}
@@ -0,0 +1,236 @@
using System;
using System.Runtime.InteropServices;
using BestHTTP.WebSocket;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Examples
{
// Token: 0x020012CD RID: 4813
[Token(Token = "0x20012CD")]
[StructLayout(3)]
public class WebSocketSample : MonoBehaviour
{
// Token: 0x060078A8 RID: 30888 RVA: 0x001914C4 File Offset: 0x0018F6C4
[Token(Token = "0x60078A8")]
[Address(RVA = "0x1E6D330", Offset = "0x1E6BD30", VA = "0x181E6D330")]
private void OnDestroy()
{
WebSocket webSocket = this.webSocket;
if (webSocket != 0)
{
webSocket.Close();
return;
}
}
// Token: 0x060078A9 RID: 30889 RVA: 0x001914E4 File Offset: 0x0018F6E4
[Token(Token = "0x60078A9")]
[Address(RVA = "0x1E6D490", Offset = "0x1E6BE90", VA = "0x181E6D490")]
private void OnGUI()
{
Rect clientArea = GUIHelper.ClientArea;
Action action = delegate
{
WebSocket webSocket5;
Delegate delegate4;
for (;;)
{
GUILayoutOption[] array = Array.Empty<GUILayoutOption>();
string text = this.Text;
Vector2 vector;
this.scrollPos = vector;
this.scrollPos.y = (float)0;
GUILayoutOption[] array2 = Array.Empty<GUILayoutOption>();
GUILayout.Label(text, array2);
GUILayout.EndScrollView();
GUILayout.Space(5f);
GUILayout.FlexibleSpace();
string text2 = this.address;
GUILayoutOption[] array3 = Array.Empty<GUILayoutOption>();
string text3 = GUILayout.TextField(text2, array3);
this.address = text3;
if (this.webSocket != (ulong)0L)
{
goto IL_1F1;
}
GUILayoutOption[] array4 = Array.Empty<GUILayoutOption>();
if (!GUILayout.Button("Open Web Socket", array4))
{
goto IL_1F1;
}
WebSocket webSocket = new WebSocket(new Uri(this.address));
this.webSocket = webSocket;
webSocket.<StartPingThread>k__BackingField = true;
if (webSocket != 0)
{
HTTPProxy httpproxy;
this.webSocket.<InternalRequest>k__BackingField.<Proxy>k__BackingField = httpproxy;
}
WebSocket webSocket2 = this.webSocket;
OnWebSocketOpenDelegate onOpen = webSocket2.OnOpen;
OnWebSocketOpenDelegate onWebSocketOpenDelegate = new OnWebSocketOpenDelegate(this.OnOpen);
Delegate @delegate = Delegate.Combine(onOpen, onWebSocketOpenDelegate);
if (@delegate == 0 || @delegate != 0)
{
webSocket2.OnOpen = @delegate;
WebSocket webSocket3 = this.webSocket;
OnWebSocketMessageDelegate onMessage = webSocket3.OnMessage;
OnWebSocketMessageDelegate onWebSocketMessageDelegate = new OnWebSocketMessageDelegate(this.OnMessageReceived);
Delegate delegate2 = Delegate.Combine(onMessage, onWebSocketMessageDelegate);
if (delegate2 == 0 || delegate2 != 0)
{
webSocket3.OnMessage = delegate2;
WebSocket webSocket4 = this.webSocket;
OnWebSocketClosedDelegate onClosed = webSocket4.OnClosed;
OnWebSocketClosedDelegate onWebSocketClosedDelegate = new OnWebSocketClosedDelegate(this.OnClosed);
Delegate delegate3 = Delegate.Combine(onClosed, onWebSocketClosedDelegate);
if (delegate3 == 0 || delegate3 != 0)
{
webSocket4.OnClosed = delegate3;
webSocket5 = this.webSocket;
OnWebSocketErrorDelegate onError = webSocket5.OnError;
OnWebSocketErrorDelegate onWebSocketErrorDelegate = new OnWebSocketErrorDelegate(this.OnError);
delegate4 = Delegate.Combine(onError, onWebSocketErrorDelegate);
if (delegate4 == 0 || delegate4 != 0)
{
break;
}
}
}
}
}
webSocket5.OnError = delegate4;
this.webSocket.Open();
string text4 = this.Text + "Opening Web Socket...\n";
this.Text = text4;
IL_1F1:
WebSocket webSocket6 = this.webSocket;
if (webSocket6 != 0 && webSocket6.IsOpen)
{
GUILayout.Space(10f);
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
string text5 = this.msgToSend;
GUILayoutOption[] array5 = Array.Empty<GUILayoutOption>();
string text6 = GUILayout.TextField(text5, array5);
this.msgToSend = text6;
GUILayout.EndHorizontal();
GUILayoutOption[] array6 = new GUILayoutOption[1];
GUILayoutOption guilayoutOption = GUILayout.MaxWidth(70f);
if (guilayoutOption != 0)
{
}
array6[0] = guilayoutOption;
if (GUILayout.Button("Send", array6))
{
string text7 = this.Text + "Sending message...\n";
WebSocket webSocket7 = this.webSocket;
this.Text = text7;
string text8 = this.msgToSend;
webSocket7.Send(text8);
}
GUILayout.Space(10f);
GUILayoutOption[] array7 = Array.Empty<GUILayoutOption>();
if (GUILayout.Button("Close", array7))
{
WebSocket webSocket8 = this.webSocket;
}
}
};
GUIHelper.DrawArea(clientArea, true, action);
}
// Token: 0x060078AA RID: 30890 RVA: 0x0019150C File Offset: 0x0018F70C
[Token(Token = "0x60078AA")]
[Address(RVA = "0x1E6D5B0", Offset = "0x1E6BFB0", VA = "0x181E6D5B0")]
private void OnOpen(WebSocket ws)
{
string text = this.Text;
object[] array = Array.Empty<object>();
string text2 = string.Format("-WebSocket Open!\n", array);
string text3 = text + text2;
this.Text = text3;
}
// Token: 0x060078AB RID: 30891 RVA: 0x00191544 File Offset: 0x0018F744
[Token(Token = "0x60078AB")]
[Address(RVA = "0x1E6D540", Offset = "0x1E6BF40", VA = "0x181E6D540")]
private void OnMessageReceived(WebSocket ws, string message)
{
string text = this.Text;
string text2 = string.Format("-Message received: {0}\n", message);
string text3 = text + text2;
this.Text = text3;
}
// Token: 0x060078AC RID: 30892 RVA: 0x00191574 File Offset: 0x0018F774
[Token(Token = "0x60078AC")]
[Address(RVA = "0x1E6D290", Offset = "0x1E6BC90", VA = "0x181E6D290")]
private void OnClosed(WebSocket ws, ushort code, string message)
{
string text = this.Text;
string text2 = string.Format("-WebSocket closed! Code: {0} Message: {1}\n", code, message);
string text3 = text + text2;
this.Text = text3;
this.webSocket = (ulong)0L;
}
// Token: 0x060078AD RID: 30893 RVA: 0x001915B0 File Offset: 0x0018F7B0
[Token(Token = "0x60078AD")]
[Address(RVA = "0x1E6D350", Offset = "0x1E6BD50", VA = "0x181E6D350")]
private void OnError(WebSocket ws, Exception ex)
{
HTTPResponse <Response>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField;
if (<Response>k__BackingField != 0)
{
int <StatusCode>k__BackingField = <Response>k__BackingField.<StatusCode>k__BackingField;
string <Message>k__BackingField = ws.<InternalRequest>k__BackingField.<Response>k__BackingField.<Message>k__BackingField;
string text = string.Format("Status Code from Server: {0} and Message: {1}", <StatusCode>k__BackingField, <Message>k__BackingField);
}
string text2 = this.Text;
if (ex != 0)
{
}
string text4;
string text3 = string.Format("-An error occured: {0}\n", text4);
string text5 = text2 + text3;
this.Text = text5;
this.webSocket = (ulong)0L;
}
// Token: 0x060078AE RID: 30894 RVA: 0x00191630 File Offset: 0x0018F830
[Token(Token = "0x60078AE")]
[Address(RVA = "0x1E6DBD0", Offset = "0x1E6C5D0", VA = "0x181E6DBD0")]
public WebSocketSample()
{
string empty = string.Empty;
this.Text = empty;
base..ctor();
}
// Token: 0x04005702 RID: 22274
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005702")]
private string address = "wss://echo.websocket.org";
// Token: 0x04005703 RID: 22275
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4005703")]
private string msgToSend = "Hello World!";
// Token: 0x04005704 RID: 22276
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4005704")]
private string Text;
// Token: 0x04005705 RID: 22277
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4005705")]
private WebSocket webSocket;
// Token: 0x04005706 RID: 22278
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4005706")]
private Vector2 scrollPos;
}
}
@@ -0,0 +1,45 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BE RID: 6590
[Token(Token = "0x20019BE")]
[StructLayout(0)]
internal struct BufferDesc
{
// Token: 0x0600B129 RID: 45353 RVA: 0x0029608C File Offset: 0x0029428C
[Token(Token = "0x600B129")]
[Address(RVA = "0x25F430", Offset = "0x25E830", VA = "0x18025F430")]
public BufferDesc(byte[] buff)
{
DateTime utcNow = DateTime.UtcNow;
}
// Token: 0x0600B12A RID: 45354 RVA: 0x002960A4 File Offset: 0x002942A4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B12A")]
[Address(RVA = "0x1E622E0", Offset = "0x1E60CE0", VA = "0x181E622E0")]
static BufferDesc()
{
DateTime utcNow = DateTime.UtcNow;
ulong num;
BufferDesc.Empty = num;
}
// Token: 0x04007433 RID: 29747
[Token(Token = "0x4007433")]
public static readonly BufferDesc Empty;
// Token: 0x04007434 RID: 29748
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007434")]
public byte[] buffer;
// Token: 0x04007435 RID: 29749
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x4007435")]
public DateTime released;
}
}
@@ -0,0 +1,740 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Extensions
{
// Token: 0x020019B0 RID: 6576
[Token(Token = "0x20019B0")]
[StructLayout(3)]
public sealed class BufferPoolMemoryStream : Stream
{
// Token: 0x0600B0AC RID: 45228 RVA: 0x00294A08 File Offset: 0x00292C08
[Token(Token = "0x600B0AC")]
[Address(RVA = "0x1E636A0", Offset = "0x1E620A0", VA = "0x181E636A0")]
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: 0x0600B0AD RID: 45229 RVA: 0x00294A54 File Offset: 0x00292C54
[Token(Token = "0x600B0AD")]
[Address(RVA = "0x1E634D0", Offset = "0x1E61ED0", VA = "0x181E634D0")]
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: 0x0600B0AE RID: 45230 RVA: 0x00294AB0 File Offset: 0x00292CB0
[Token(Token = "0x600B0AE")]
[Address(RVA = "0x1E63750", Offset = "0x1E62150", VA = "0x181E63750")]
public BufferPoolMemoryStream(byte[] buffer)
{
/*
An exception occurred when decompiling this method (0600B0AE)
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: 0x0600B0AF RID: 45231 RVA: 0x00294AE8 File Offset: 0x00292CE8
[Token(Token = "0x600B0AF")]
[Address(RVA = "0x1E63400", Offset = "0x1E61E00", VA = "0x181E63400")]
public BufferPoolMemoryStream(byte[] buffer, bool writable)
{
/*
An exception occurred when decompiling this method (0600B0AF)
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: 0x0600B0B0 RID: 45232 RVA: 0x00294B20 File Offset: 0x00292D20
[Token(Token = "0x600B0B0")]
[Address(RVA = "0x1E63360", Offset = "0x1E61D60", VA = "0x181E63360")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count)
{
ulong num;
ulong num2;
this.InternalConstructor(buffer, index, count, num != 0UL, num2 != 0UL);
}
// Token: 0x0600B0B1 RID: 45233 RVA: 0x00294B40 File Offset: 0x00292D40
[Token(Token = "0x600B0B1")]
[Address(RVA = "0x1E63810", Offset = "0x1E62210", VA = "0x181E63810")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable)
{
}
// Token: 0x0600B0B2 RID: 45234 RVA: 0x00294B54 File Offset: 0x00292D54
[Token(Token = "0x600B0B2")]
[Address(RVA = "0x1E635F0", Offset = "0x1E61FF0", VA = "0x181E635F0")]
public BufferPoolMemoryStream(byte[] buffer, int index, int count, bool writable, bool publiclyVisible)
{
}
// Token: 0x0600B0B3 RID: 45235 RVA: 0x00294B68 File Offset: 0x00292D68
[Token(Token = "0x600B0B3")]
[Address(RVA = "0x1E626D0", Offset = "0x1E610D0", VA = "0x181E626D0")]
private void InternalConstructor(byte[] buffer, int index, int count, bool writable, bool publicallyVisible)
{
/*
An exception occurred when decompiling this method (0600B0B3)
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: 0x0600B0B4 RID: 45236 RVA: 0x00294BC8 File Offset: 0x00292DC8
[Token(Token = "0x600B0B4")]
[Address(RVA = "0x1E62490", Offset = "0x1E60E90", VA = "0x181E62490")]
private void CheckIfClosedThrowDisposed()
{
/*
An exception occurred when decompiling this method (0600B0B4)
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: 0x17001C85 RID: 7301
// (get) Token: 0x0600B0B5 RID: 45237 RVA: 0x00294BEC File Offset: 0x00292DEC
[Token(Token = "0x17001C85")]
public override bool CanRead
{
[Token(Token = "0x600B0B5")]
[Address(RVA = "0x1E638B0", Offset = "0x1E622B0", VA = "0x181E638B0", Slot = "7")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17001C86 RID: 7302
// (get) Token: 0x0600B0B6 RID: 45238 RVA: 0x00294C04 File Offset: 0x00292E04
[Token(Token = "0x17001C86")]
public override bool CanSeek
{
[Token(Token = "0x600B0B6")]
[Address(RVA = "0x1E638B0", Offset = "0x1E622B0", VA = "0x181E638B0", Slot = "8")]
get
{
return !this.streamClosed;
}
}
// Token: 0x17001C87 RID: 7303
// (get) Token: 0x0600B0B7 RID: 45239 RVA: 0x00294C1C File Offset: 0x00292E1C
[Token(Token = "0x17001C87")]
public override bool CanWrite
{
[Token(Token = "0x600B0B7")]
[Address(RVA = "0x1E638C0", Offset = "0x1E622C0", VA = "0x181E638C0", Slot = "9")]
get
{
if (this.streamClosed)
{
}
return this.canWrite;
}
}
// Token: 0x17001C88 RID: 7304
// (get) Token: 0x0600B0B8 RID: 45240 RVA: 0x00294C3C File Offset: 0x00292E3C
// (set) Token: 0x0600B0B9 RID: 45241 RVA: 0x00294C64 File Offset: 0x00292E64
[Token(Token = "0x17001C88")]
public int Capacity
{
[Token(Token = "0x600B0B8")]
[Address(RVA = "0x1E638D0", Offset = "0x1E622D0", VA = "0x181E638D0")]
get
{
/*
An exception occurred when decompiling this method (0600B0B8)
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 = "0x600B0B9")]
[Address(RVA = "0x1E63A20", Offset = "0x1E62420", VA = "0x181E63A20")]
set
{
/*
An exception occurred when decompiling this method (0600B0B9)
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: 0x17001C89 RID: 7305
// (get) Token: 0x0600B0BA RID: 45242 RVA: 0x00294CEC File Offset: 0x00292EEC
[Token(Token = "0x17001C89")]
public override long Length
{
[Token(Token = "0x600B0BA")]
[Address(RVA = "0x1E63940", Offset = "0x1E62340", VA = "0x181E63940", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600B0BA)
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: 0x17001C8A RID: 7306
// (get) Token: 0x0600B0BB RID: 45243 RVA: 0x00294D14 File Offset: 0x00292F14
// (set) Token: 0x0600B0BC RID: 45244 RVA: 0x00294D3C File Offset: 0x00292F3C
[Token(Token = "0x17001C8A")]
public override long Position
{
[Token(Token = "0x600B0BB")]
[Address(RVA = "0x1E639B0", Offset = "0x1E623B0", VA = "0x181E639B0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600B0BB)
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 = "0x600B0BC")]
[Address(RVA = "0x1E63CD0", Offset = "0x1E626D0", VA = "0x181E63CD0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B0BC)
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: 0x0600B0BD RID: 45245 RVA: 0x00294D70 File Offset: 0x00292F70
[Token(Token = "0x600B0BD")]
[Address(RVA = "0x1E62500", Offset = "0x1E60F00", VA = "0x181E62500", 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: 0x0600B0BE RID: 45246 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B0BE")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "17")]
public override void Flush()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B0BF RID: 45247 RVA: 0x00294DA0 File Offset: 0x00292FA0
[Token(Token = "0x600B0BF")]
[Address(RVA = "0x1E62670", Offset = "0x1E61070", VA = "0x181E62670")]
public byte[] GetBuffer()
{
/*
An exception occurred when decompiling this method (0600B0BF)
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: 0x0600B0C0 RID: 45248 RVA: 0x00294DC4 File Offset: 0x00292FC4
[Token(Token = "0x600B0C0")]
[Address(RVA = "0x1E628B0", Offset = "0x1E612B0", VA = "0x181E628B0", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B0C0)
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: 0x0600B0C1 RID: 45249 RVA: 0x00294E28 File Offset: 0x00293028
[Token(Token = "0x600B0C1")]
[Address(RVA = "0x1E62800", Offset = "0x1E61200", VA = "0x181E62800", Slot = "28")]
public override int ReadByte()
{
/*
An exception occurred when decompiling this method (0600B0C1)
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: 0x0600B0C2 RID: 45250 RVA: 0x00294E70 File Offset: 0x00293070
[Token(Token = "0x600B0C2")]
[Address(RVA = "0x1E62A60", Offset = "0x1E61460", VA = "0x181E62A60", Slot = "25")]
public override long Seek(long offset, SeekOrigin loc)
{
/*
An exception occurred when decompiling this method (0600B0C2)
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: 0x0600B0C3 RID: 45251 RVA: 0x00294EC0 File Offset: 0x002930C0
[Token(Token = "0x600B0C3")]
[Address(RVA = "0x1E623E0", Offset = "0x1E60DE0", VA = "0x181E623E0")]
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: 0x0600B0C4 RID: 45252 RVA: 0x00294EF0 File Offset: 0x002930F0
[Token(Token = "0x600B0C4")]
[Address(RVA = "0x1E62580", Offset = "0x1E60F80", VA = "0x181E62580")]
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: 0x0600B0C5 RID: 45253 RVA: 0x00294F38 File Offset: 0x00293138
[Token(Token = "0x600B0C5")]
[Address(RVA = "0x1E62C30", Offset = "0x1E61630", VA = "0x181E62C30", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600B0C5)
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: 0x0600B0C6 RID: 45254 RVA: 0x00294FA8 File Offset: 0x002931A8
[Token(Token = "0x600B0C6")]
[Address(RVA = "0x1E62E90", Offset = "0x1E61890", VA = "0x181E62E90")]
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: 0x0600B0C7 RID: 45255 RVA: 0x00294FF8 File Offset: 0x002931F8
[Token(Token = "0x600B0C7")]
[Address(RVA = "0x1E62DB0", Offset = "0x1E617B0", VA = "0x181E62DB0")]
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: 0x0600B0C8 RID: 45256 RVA: 0x00295044 File Offset: 0x00293244
[Token(Token = "0x600B0C8")]
[Address(RVA = "0x1E63170", Offset = "0x1E61B70", VA = "0x181E63170", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B0C8)
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: 0x0600B0C9 RID: 45257 RVA: 0x002950B8 File Offset: 0x002932B8
[Token(Token = "0x600B0C9")]
[Address(RVA = "0x1E62F60", Offset = "0x1E61960", VA = "0x181E62F60", Slot = "30")]
public override void WriteByte(byte value)
{
/*
An exception occurred when decompiling this method (0600B0C9)
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: 0x0600B0CA RID: 45258 RVA: 0x00295128 File Offset: 0x00293328
[Token(Token = "0x600B0CA")]
[Address(RVA = "0x1E63080", Offset = "0x1E61A80", VA = "0x181E63080")]
public void WriteTo(Stream stream)
{
/*
An exception occurred when decompiling this method (0600B0CA)
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: 0x0400740D RID: 29709
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400740D")]
private bool canWrite;
// Token: 0x0400740E RID: 29710
[global::Cpp2IlInjected.FieldOffset(Offset = "0x29")]
[Token(Token = "0x400740E")]
private bool allowGetBuffer;
// Token: 0x0400740F RID: 29711
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400740F")]
private int capacity;
// Token: 0x04007410 RID: 29712
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007410")]
private int length;
// Token: 0x04007411 RID: 29713
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4007411")]
private byte[] internalBuffer;
// Token: 0x04007412 RID: 29714
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007412")]
private int initialIndex;
// Token: 0x04007413 RID: 29715
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
[Token(Token = "0x4007413")]
private bool expandable;
// Token: 0x04007414 RID: 29716
[global::Cpp2IlInjected.FieldOffset(Offset = "0x45")]
[Token(Token = "0x4007414")]
private bool streamClosed;
// Token: 0x04007415 RID: 29717
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4007415")]
private int position;
// Token: 0x04007416 RID: 29718
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4007416")]
private int dirty_bytes;
}
}
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BD RID: 6589
[Token(Token = "0x20019BD")]
[StructLayout(0)]
internal struct BufferStore
{
// Token: 0x0600B127 RID: 45351 RVA: 0x00296078 File Offset: 0x00294278
[Token(Token = "0x600B127")]
[Address(RVA = "0x240B50", Offset = "0x23FF50", VA = "0x180240B50")]
public BufferStore(long size)
{
List<BufferDesc> list = new List();
}
// Token: 0x0600B128 RID: 45352 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B128")]
[Address(RVA = "0x240B40", Offset = "0x23FF40", VA = "0x180240B40")]
public BufferStore(long size, byte[] buffer)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04007431 RID: 29745
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007431")]
public readonly long Size;
// Token: 0x04007432 RID: 29746
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x4007432")]
public List<BufferDesc> buffers;
}
}
@@ -0,0 +1,97 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019B1 RID: 6577
[Token(Token = "0x20019B1")]
[StructLayout(3)]
public sealed class CircularBuffer<T>
{
// Token: 0x17001C8B RID: 7307
// (get) Token: 0x0600B0CB RID: 45259 RVA: 0x00295174 File Offset: 0x00293374
// (set) Token: 0x0600B0CC RID: 45260 RVA: 0x00295188 File Offset: 0x00293388
[Token(Token = "0x17001C8B")]
public int Capacity
{
[Token(Token = "0x600B0CB")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
get;
[Token(Token = "0x600B0CC")]
[Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")]
private set;
}
// Token: 0x17001C8C RID: 7308
// (get) Token: 0x0600B0CD RID: 45261 RVA: 0x0029519C File Offset: 0x0029339C
// (set) Token: 0x0600B0CE RID: 45262 RVA: 0x002951B0 File Offset: 0x002933B0
[Token(Token = "0x17001C8C")]
public int Count
{
[Token(Token = "0x600B0CD")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")]
get;
[Token(Token = "0x600B0CE")]
[Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")]
private set;
}
// Token: 0x17001C8D RID: 7309
[Token(Token = "0x17001C8D")]
public T this[int idx]
{
[Token(Token = "0x600B0CF")]
[Address(RVA = "0x22392A0", Offset = "0x2237CA0", VA = "0x1822392A0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600B0D0")]
[Address(RVA = "0x2239410", Offset = "0x2237E10", VA = "0x182239410")]
set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600B0D1 RID: 45265 RVA: 0x002951C4 File Offset: 0x002933C4
[Token(Token = "0x600B0D1")]
[Address(RVA = "0x2239240", Offset = "0x2237C40", VA = "0x182239240")]
public CircularBuffer(int capacity)
{
}
// Token: 0x0600B0D2 RID: 45266 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B0D2")]
[Address(RVA = "0x2238EF0", Offset = "0x22378F0", VA = "0x182238EF0")]
public void Add(T element)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B0D3 RID: 45267 RVA: 0x002951E0 File Offset: 0x002933E0
[Token(Token = "0x600B0D3")]
[Address(RVA = "0x2239230", Offset = "0x2237C30", VA = "0x182239230")]
public void Clear()
{
int num = 0;
this.startIdx = num;
}
// Token: 0x04007419 RID: 29721
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007419")]
private T[] buffer;
// Token: 0x0400741A RID: 29722
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400741A")]
private int startIdx;
// Token: 0x0400741B RID: 29723
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400741B")]
private int endIdx;
}
}
@@ -0,0 +1,20 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019B5 RID: 6581
[Token(Token = "0x20019B5")]
[StructLayout(3)]
public static class ExceptionHelper
{
// Token: 0x0600B0FB RID: 45307 RVA: 0x002959A8 File Offset: 0x00293BA8
[Token(Token = "0x600B0FB")]
[Address(RVA = "0x1C87A40", Offset = "0x1C86440", VA = "0x181C87A40")]
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: 0x020019B2 RID: 6578
[Token(Token = "0x20019B2")]
[StructLayout(3)]
public static class Extensions
{
// Token: 0x0600B0D4 RID: 45268 RVA: 0x002951F8 File Offset: 0x002933F8
[Token(Token = "0x600B0D4")]
[Address(RVA = "0x1C87A90", Offset = "0x1C86490", VA = "0x181C87A90")]
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: 0x0600B0D5 RID: 45269 RVA: 0x00295234 File Offset: 0x00293434
[Token(Token = "0x600B0D5")]
[Address(RVA = "0x1C87F70", Offset = "0x1C86970", VA = "0x181C87F70")]
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: 0x0600B0D6 RID: 45270 RVA: 0x00295274 File Offset: 0x00293474
[Token(Token = "0x600B0D6")]
[Address(RVA = "0x1C88DE0", Offset = "0x1C877E0", VA = "0x181C88DE0")]
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: 0x0600B0D7 RID: 45271 RVA: 0x002952A8 File Offset: 0x002934A8
[Token(Token = "0x600B0D7")]
[Address(RVA = "0x1C89330", Offset = "0x1C87D30", VA = "0x181C89330")]
public static void WriteLine(this Stream fs)
{
int num = fs.ReadByte();
}
// Token: 0x0600B0D8 RID: 45272 RVA: 0x002952C4 File Offset: 0x002934C4
[Token(Token = "0x600B0D8")]
[Address(RVA = "0x1C894B0", Offset = "0x1C87EB0", VA = "0x181C894B0")]
public static void WriteLine(this Stream fs, string line)
{
byte[] asciibytes = line.GetASCIIBytes();
int num = fs.ReadByte();
fs.WriteLine();
VariableSizedBufferPool.Release(asciibytes);
}
// Token: 0x0600B0D9 RID: 45273 RVA: 0x002952F4 File Offset: 0x002934F4
[Token(Token = "0x600B0D9")]
[Address(RVA = "0x1C893C0", Offset = "0x1C87DC0", VA = "0x181C893C0")]
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: 0x0600B0DA RID: 45274 RVA: 0x00295328 File Offset: 0x00293528
[Token(Token = "0x600B0DA")]
[Address(RVA = "0x1C88050", Offset = "0x1C86A50", VA = "0x181C88050")]
public static string GetRequestPathAndQueryURL(this Uri uri)
{
string parts = uri.GetParts(UriComponents.PathAndQuery, UriFormat.UriEscaped);
return "/";
}
// Token: 0x0600B0DB RID: 45275 RVA: 0x0029534C File Offset: 0x0029354C
[Token(Token = "0x600B0DB")]
[Address(RVA = "0x1C87DD0", Offset = "0x1C867D0", VA = "0x181C87DD0")]
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: 0x0600B0DC RID: 45276 RVA: 0x002953D0 File Offset: 0x002935D0
[Token(Token = "0x600B0DC")]
[Address(RVA = "0xE3A240", Offset = "0xE38C40", VA = "0x180E3A240")]
public static void WriteArray(this Stream stream, byte[] array)
{
int num = stream.ReadByte();
}
// Token: 0x0600B0DD RID: 45277 RVA: 0x002953EC File Offset: 0x002935EC
[Token(Token = "0x600B0DD")]
[Address(RVA = "0x1C880C0", Offset = "0x1C86AC0", VA = "0x181C880C0")]
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: 0x0600B0DE RID: 45278 RVA: 0x00295444 File Offset: 0x00293644
[Token(Token = "0x600B0DE")]
[Address(RVA = "0x1C882D0", Offset = "0x1C86CD0", VA = "0x181C882D0")]
public static bool IsIpV4AddressValid(string address)
{
if (string.IsNullOrEmpty(address))
{
}
string text = address.Trim();
bool flag;
return flag;
}
// Token: 0x0600B0DF RID: 45279 RVA: 0x0029546C File Offset: 0x0029366C
[Token(Token = "0x600B0DF")]
[Address(RVA = "0x1C88380", Offset = "0x1C86D80", VA = "0x181C88380")]
public static bool IsIpV6AddressValid(string address)
{
bool flag;
if (!string.IsNullOrEmpty(address) && flag)
{
bool flag2;
return flag2;
}
throw new NullReferenceException();
}
// Token: 0x0600B0E0 RID: 45280 RVA: 0x00295490 File Offset: 0x00293690
[Token(Token = "0x600B0E0")]
[Address(RVA = "0x1C88FC0", Offset = "0x1C879C0", VA = "0x181C88FC0")]
public static int ToInt32(this string str, int defaultValue = 0)
{
if (str != 0)
{
return int.Parse(str);
}
return defaultValue;
}
// Token: 0x0600B0E1 RID: 45281 RVA: 0x002954AC File Offset: 0x002936AC
[Token(Token = "0x600B0E1")]
[Address(RVA = "0x1C89040", Offset = "0x1C87A40", VA = "0x181C89040")]
public static long ToInt64(this string str, long defaultValue = 0L)
{
if (str != 0)
{
return long.Parse(str);
}
return defaultValue;
}
// Token: 0x0600B0E2 RID: 45282 RVA: 0x002954C8 File Offset: 0x002936C8
[Token(Token = "0x600B0E2")]
[Address(RVA = "0x1C88F10", Offset = "0x1C87910", VA = "0x181C88F10")]
public static DateTime ToDateTime(this string str, [Optional] DateTime defaultValue)
{
if (str != 0)
{
bool flag = DateTime.TryParse(str, defaultValue);
}
return defaultValue;
}
// Token: 0x0600B0E3 RID: 45283 RVA: 0x002954E4 File Offset: 0x002936E4
[Token(Token = "0x600B0E3")]
[Address(RVA = "0x1C890C0", Offset = "0x1C87AC0", VA = "0x181C890C0")]
public static string ToStrOrEmpty(this string str)
{
if (str != 0)
{
return str;
}
return string.Empty;
}
// Token: 0x0600B0E4 RID: 45284 RVA: 0x002954FC File Offset: 0x002936FC
[Token(Token = "0x600B0E4")]
[Address(RVA = "0x1C87D30", Offset = "0x1C86730", VA = "0x181C87D30")]
public static string CalculateMD5Hash(this string input)
{
byte[] asciibytes = input.GetASCIIBytes();
string text = asciibytes.CalculateMD5Hash();
VariableSizedBufferPool.Release(asciibytes);
return text;
}
// Token: 0x0600B0E5 RID: 45285 RVA: 0x00295520 File Offset: 0x00293720
[Token(Token = "0x600B0E5")]
[Address(RVA = "0x1C87B60", Offset = "0x1C86560", VA = "0x181C87B60")]
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;
num++;
}
VariableSizedBufferPool.Release(array);
int hashCode = stringBuilder.GetHashCode();
if (md != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
throw new IndexOutOfRangeException();
}
// Token: 0x0600B0E6 RID: 45286 RVA: 0x002955A0 File Offset: 0x002937A0
[Token(Token = "0x600B0E6")]
[Address(RVA = "0x1C88CF0", Offset = "0x1C876F0", VA = "0x181C88CF0")]
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: 0x0600B0E7 RID: 45287 RVA: 0x002955D8 File Offset: 0x002937D8
[Token(Token = "0x600B0E7")]
[Address(RVA = "0x1C88BE0", Offset = "0x1C875E0", VA = "0x181C88BE0")]
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: 0x0600B0E8 RID: 45288 RVA: 0x00295608 File Offset: 0x00293808
[Token(Token = "0x600B0E8")]
[Address(RVA = "0x1C88A20", Offset = "0x1C87420", VA = "0x181C88A20")]
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: 0x0600B0E9 RID: 45289 RVA: 0x00295658 File Offset: 0x00293858
[Token(Token = "0x600B0E9")]
[Address(RVA = "0x1C88E70", Offset = "0x1C87870", VA = "0x181C88E70")]
internal static void SkipWhiteSpace(this string str, ref int pos)
{
char c;
if (char.IsWhiteSpace(c))
{
}
}
// Token: 0x0600B0EA RID: 45290 RVA: 0x00295674 File Offset: 0x00293874
[Token(Token = "0x600B0EA")]
[Address(RVA = "0x1C89110", Offset = "0x1C87B10", VA = "0x181C89110")]
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: 0x0600B0EB RID: 45291 RVA: 0x002956E4 File Offset: 0x002938E4
[Token(Token = "0x600B0EB")]
[Address(RVA = "0x1C88840", Offset = "0x1C87240", VA = "0x181C88840")]
internal static char? Peek(this string str, int pos)
{
if (pos < str.m_stringLength)
{
char c = str[pos];
}
throw new NullReferenceException();
}
// Token: 0x0600B0EC RID: 45292 RVA: 0x0029570C File Offset: 0x0029390C
[Token(Token = "0x600B0EC")]
[Address(RVA = "0x1C88420", Offset = "0x1C86E20", VA = "0x181C88420")]
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: 0x0600B0ED RID: 45293 RVA: 0x00295798 File Offset: 0x00293998
[Token(Token = "0x600B0ED")]
[Address(RVA = "0x1C88620", Offset = "0x1C87020", VA = "0x181C88620")]
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: 0x0600B0EE RID: 45294 RVA: 0x0029581C File Offset: 0x00293A1C
[Token(Token = "0x600B0EE")]
[Address(RVA = "0x1C888D0", Offset = "0x1C872D0", VA = "0x181C888D0")]
public static void ReadBuffer(this Stream stream, byte[] buffer)
{
int num = 0;
int num2 = buffer.Length;
num2 -= num;
}
// Token: 0x0600B0EF RID: 45295 RVA: 0x0029583C File Offset: 0x00293A3C
[Token(Token = "0x600B0EF")]
[Address(RVA = "0x1C88970", Offset = "0x1C87370", VA = "0x181C88970")]
public static void ReadBuffer(this Stream stream, byte[] buffer, int length)
{
}
// Token: 0x0600B0F0 RID: 45296 RVA: 0x00295854 File Offset: 0x00293A54
[Token(Token = "0x600B0F0")]
[Address(RVA = "0x1C89740", Offset = "0x1C88140", VA = "0x181C89740")]
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: 0x0600B0F1 RID: 45297 RVA: 0x00295894 File Offset: 0x00293A94
[Token(Token = "0x600B0F1")]
[Address(RVA = "0x1C892A0", Offset = "0x1C87CA0", VA = "0x181C892A0")]
public static void WriteLine(this BufferPoolMemoryStream ms)
{
byte[] eol = HTTPRequest.EOL;
int num = ms.ReadByte();
}
// Token: 0x0600B0F2 RID: 45298 RVA: 0x002958B4 File Offset: 0x00293AB4
[Token(Token = "0x600B0F2")]
[Address(RVA = "0x1C89580", Offset = "0x1C87F80", VA = "0x181C89580")]
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: 0x0600B0F3 RID: 45299 RVA: 0x00295900 File Offset: 0x00293B00
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B0F3")]
[Address(RVA = "0x1C89860", Offset = "0x1C88260", VA = "0x181C89860")]
static Extensions()
{
Regex regex = new Regex("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b", RegexOptions.IgnoreCase);
}
// Token: 0x0400741C RID: 29724
[Token(Token = "0x400741C")]
private static readonly Regex validIpV4AddressRegex;
}
}
@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019B6 RID: 6582
[Token(Token = "0x20019B6")]
[StructLayout(3)]
public sealed class HeaderParser : KeyValuePairList
{
// Token: 0x0600B0FC RID: 45308 RVA: 0x002959C0 File Offset: 0x00293BC0
[Token(Token = "0x600B0FC")]
[Address(RVA = "0x1C9D560", Offset = "0x1C9BF60", VA = "0x181C9D560")]
public HeaderParser(string headerStr)
{
List<HeaderValue> list = this.Parse(headerStr);
this.<Values>k__BackingField = list;
}
// Token: 0x0600B0FD RID: 45309 RVA: 0x002959E4 File Offset: 0x00293BE4
[Token(Token = "0x600B0FD")]
[Address(RVA = "0x1C9D3F0", Offset = "0x1C9BDF0", VA = "0x181C9D3F0")]
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,170 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019B7 RID: 6583
[Token(Token = "0x20019B7")]
[StructLayout(3)]
public sealed class HeaderValue
{
// Token: 0x17001C8E RID: 7310
// (get) Token: 0x0600B0FE RID: 45310 RVA: 0x00295A30 File Offset: 0x00293C30
// (set) Token: 0x0600B0FF RID: 45311 RVA: 0x00295A44 File Offset: 0x00293C44
[Token(Token = "0x17001C8E")]
public string Key
{
[Token(Token = "0x600B0FE")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B0FF")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x17001C8F RID: 7311
// (get) Token: 0x0600B100 RID: 45312 RVA: 0x00295A58 File Offset: 0x00293C58
// (set) Token: 0x0600B101 RID: 45313 RVA: 0x00295A6C File Offset: 0x00293C6C
[Token(Token = "0x17001C8F")]
public string Value
{
[Token(Token = "0x600B100")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B101")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set;
}
// Token: 0x17001C90 RID: 7312
// (get) Token: 0x0600B102 RID: 45314 RVA: 0x00295A80 File Offset: 0x00293C80
// (set) Token: 0x0600B103 RID: 45315 RVA: 0x00295A94 File Offset: 0x00293C94
[Token(Token = "0x17001C90")]
public List<HeaderValue> Options
{
[Token(Token = "0x600B102")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B103")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set;
}
// Token: 0x17001C91 RID: 7313
// (get) Token: 0x0600B104 RID: 45316 RVA: 0x00295AA8 File Offset: 0x00293CA8
[Token(Token = "0x17001C91")]
public bool HasValue
{
[Token(Token = "0x600B104")]
[Address(RVA = "0x1C9DA90", Offset = "0x1C9C490", VA = "0x181C9DA90")]
get
{
return !string.IsNullOrEmpty(this.<Value>k__BackingField);
}
}
// Token: 0x0600B105 RID: 45317 RVA: 0x00295AC4 File Offset: 0x00293CC4
[Token(Token = "0x600B105")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HeaderValue()
{
}
// Token: 0x0600B106 RID: 45318 RVA: 0x00295AD8 File Offset: 0x00293CD8
[Token(Token = "0x600B106")]
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
public HeaderValue(string key)
{
this.Key = key;
}
// Token: 0x0600B107 RID: 45319 RVA: 0x00295AF4 File Offset: 0x00293CF4
[Token(Token = "0x600B107")]
[Address(RVA = "0x1C9D8F0", Offset = "0x1C9C2F0", VA = "0x181C9D8F0")]
public void Parse(string headerStr, ref int pos)
{
this.ParseImplementation(headerStr, ref pos, true);
}
// Token: 0x0600B108 RID: 45320 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B108")]
[Address(RVA = "0x1C9D9A0", Offset = "0x1C9C3A0", VA = "0x181C9D9A0")]
public bool TryGetOption(string key, out HeaderValue option)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B109 RID: 45321 RVA: 0x00295B0C File Offset: 0x00293D0C
[Token(Token = "0x600B109")]
[Address(RVA = "0x1C9D5A0", Offset = "0x1C9BFA0", VA = "0x181C9D5A0")]
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;
bool flag = num == 61;
if (!isOptionIsAnOption)
{
}
bool flag2 = num == 59;
if (num != 59)
{
if (!flag)
{
if (!flag2)
{
goto IL_A6;
}
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_A6:
if (isOptionIsAnOption)
{
char value2 = Extensions.Peek(headerStr, ref pos).value;
while (num != 59)
{
}
}
}
}
// Token: 0x0600B10A RID: 45322 RVA: 0x00295BDC File Offset: 0x00293DDC
[Token(Token = "0x600B10A")]
[Address(RVA = "0x1C9D910", Offset = "0x1C9C310", VA = "0x181C9D910", 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,127 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BA RID: 6586
[Token(Token = "0x20019BA")]
[StructLayout(3)]
public sealed class HeartbeatManager
{
// Token: 0x0600B10F RID: 45327 RVA: 0x00295C40 File Offset: 0x00293E40
[Token(Token = "0x600B10F")]
[Address(RVA = "0x1C9DAB0", Offset = "0x1C9C4B0", VA = "0x181C9DAB0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B110 RID: 45328 RVA: 0x00295C8C File Offset: 0x00293E8C
[Token(Token = "0x600B110")]
[Address(RVA = "0x1C9DBC0", Offset = "0x1C9C5C0", VA = "0x181C9DBC0")]
public void Unsubscribe(IHeartbeat heartbeat)
{
int num;
do
{
num = 0;
List<IHeartbeat> heartbeats = this.Heartbeats;
bool flag = this.Heartbeats.Remove(heartbeat);
Monitor.Exit(heartbeats);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B111 RID: 45329 RVA: 0x00295CC4 File Offset: 0x00293EC4
[Token(Token = "0x600B111")]
[Address(RVA = "0x1C9DCB0", Offset = "0x1C9C6B0", VA = "0x181C9DCB0")]
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 != -1)
{
}
if (num != 0)
{
throw new IndexOutOfRangeException();
}
IHeartbeat heartbeat = this.UpdateArray[num2];
num2++;
}
DateTime utcNow3 = DateTime.UtcNow;
this.LastUpdate = utcNow3;
}
// Token: 0x0600B112 RID: 45330 RVA: 0x00295DC8 File Offset: 0x00293FC8
[Token(Token = "0x600B112")]
[Address(RVA = "0x1C9DF60", Offset = "0x1C9C960", VA = "0x181C9DF60")]
public HeartbeatManager()
{
List<IHeartbeat> list = new List();
this.Heartbeats = list;
DateTime minValue = DateTime.MinValue;
this.LastUpdate = minValue;
base..ctor();
}
// Token: 0x04007427 RID: 29735
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007427")]
private List<IHeartbeat> Heartbeats;
// Token: 0x04007428 RID: 29736
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007428")]
private IHeartbeat[] UpdateArray;
// Token: 0x04007429 RID: 29737
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007429")]
private DateTime LastUpdate;
}
}
@@ -0,0 +1,17 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019B9 RID: 6585
[Token(Token = "0x20019B9")]
[StructLayout(3)]
public interface IHeartbeat
{
// Token: 0x0600B10E RID: 45326
[Token(Token = "0x600B10E")]
[Address(Slot = "0")]
void OnHeartbeatUpdate(TimeSpan dif);
}
}
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BB RID: 6587
[Token(Token = "0x20019BB")]
[StructLayout(3)]
public class KeyValuePairList
{
// Token: 0x17001C92 RID: 7314
// (get) Token: 0x0600B113 RID: 45331 RVA: 0x00295DF8 File Offset: 0x00293FF8
// (set) Token: 0x0600B114 RID: 45332 RVA: 0x00295E0C File Offset: 0x0029400C
[Token(Token = "0x17001C92")]
public List<HeaderValue> Values
{
[Token(Token = "0x600B113")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B114")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
protected set;
}
// Token: 0x0600B115 RID: 45333 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B115")]
[Address(RVA = "0x1C9E000", Offset = "0x1C9CA00", VA = "0x181C9E000")]
public bool TryGet(string valueKeyName, out HeaderValue param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B116 RID: 45334 RVA: 0x00295E20 File Offset: 0x00294020
[Token(Token = "0x600B116")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public KeyValuePairList()
{
}
}
}
@@ -0,0 +1,387 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BC RID: 6588
[Token(Token = "0x20019BC")]
[StructLayout(3)]
public class ReadOnlyBufferedStream : Stream
{
// Token: 0x17001C93 RID: 7315
// (get) Token: 0x0600B117 RID: 45335 RVA: 0x00295E34 File Offset: 0x00294034
// (set) Token: 0x0600B118 RID: 45336 RVA: 0x00295E48 File Offset: 0x00294048
[Token(Token = "0x17001C93")]
public bool CheckForDataAvailability
{
[Token(Token = "0x600B117")]
[Address(RVA = "0x651230", Offset = "0x64FC30", VA = "0x180651230")]
get;
[Token(Token = "0x600B118")]
[Address(RVA = "0x6C60C0", Offset = "0x6C4AC0", VA = "0x1806C60C0")]
set;
}
// Token: 0x0600B119 RID: 45337 RVA: 0x00295E5C File Offset: 0x0029405C
[Token(Token = "0x600B119")]
[Address(RVA = "0x1C9E780", Offset = "0x1C9D180", VA = "0x181C9E780")]
public ReadOnlyBufferedStream(Stream nstream)
{
this.stream = nstream;
byte[] array;
this.buf = array;
}
// Token: 0x0600B11A RID: 45338 RVA: 0x00295E80 File Offset: 0x00294080
[Token(Token = "0x600B11A")]
[Address(RVA = "0x1C9E510", Offset = "0x1C9CF10", VA = "0x181C9E510", 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: 0x0600B11B RID: 45339 RVA: 0x00295F20 File Offset: 0x00294120
[Token(Token = "0x600B11B")]
[Address(RVA = "0x1C9E3E0", Offset = "0x1C9CDE0", VA = "0x181C9E3E0", 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: 0x0600B11C RID: 45340 RVA: 0x00295F8C File Offset: 0x0029418C
[Token(Token = "0x600B11C")]
[Address(RVA = "0x1C9E320", Offset = "0x1C9CD20", VA = "0x181C9E320", Slot = "16")]
protected override void Dispose(bool disposing)
{
byte[] array = this.buf;
if (array != 0)
{
VariableSizedBufferPool.Release(array);
}
this.buf = (ulong)0L;
}
// Token: 0x17001C94 RID: 7316
// (get) Token: 0x0600B11D RID: 45341 RVA: 0x00295FB4 File Offset: 0x002941B4
[Token(Token = "0x17001C94")]
public override bool CanRead
{
[Token(Token = "0x600B11D")]
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "7")]
get
{
return true;
}
}
// Token: 0x17001C95 RID: 7317
// (get) Token: 0x0600B11E RID: 45342 RVA: 0x00295FC4 File Offset: 0x002941C4
[Token(Token = "0x17001C95")]
public override bool CanSeek
{
[Token(Token = "0x600B11E")]
[Address(RVA = "0x1C9E820", Offset = "0x1C9D220", VA = "0x181C9E820", Slot = "8")]
get
{
/*
An exception occurred when decompiling this method (0600B11E)
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: 0x17001C96 RID: 7318
// (get) Token: 0x0600B11F RID: 45343 RVA: 0x00295FD8 File Offset: 0x002941D8
[Token(Token = "0x17001C96")]
public override bool CanWrite
{
[Token(Token = "0x600B11F")]
[Address(RVA = "0x1C9E870", Offset = "0x1C9D270", VA = "0x181C9E870", Slot = "9")]
get
{
/*
An exception occurred when decompiling this method (0600B11F)
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: 0x17001C97 RID: 7319
// (get) Token: 0x0600B120 RID: 45344 RVA: 0x00295FEC File Offset: 0x002941EC
[Token(Token = "0x17001C97")]
public override long Length
{
[Token(Token = "0x600B120")]
[Address(RVA = "0x1C9E8C0", Offset = "0x1C9D2C0", VA = "0x181C9E8C0", Slot = "10")]
get
{
/*
An exception occurred when decompiling this method (0600B120)
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: 0x17001C98 RID: 7320
// (get) Token: 0x0600B121 RID: 45345 RVA: 0x00296000 File Offset: 0x00294200
// (set) Token: 0x0600B122 RID: 45346 RVA: 0x00296014 File Offset: 0x00294214
[Token(Token = "0x17001C98")]
public override long Position
{
[Token(Token = "0x600B121")]
[Address(RVA = "0x1C9E910", Offset = "0x1C9D310", VA = "0x181C9E910", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600B121)
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 = "0x600B122")]
[Address(RVA = "0x1C9E960", Offset = "0x1C9D360", VA = "0x181C9E960", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B122)
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: 0x0600B123 RID: 45347 RVA: 0x00296028 File Offset: 0x00294228
[Token(Token = "0x600B123")]
[Address(RVA = "0x1C9E390", Offset = "0x1C9CD90", VA = "0x181C9E390", Slot = "17")]
public override void Flush()
{
/*
An exception occurred when decompiling this method (0600B123)
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: 0x0600B124 RID: 45348 RVA: 0x0029603C File Offset: 0x0029423C
[Token(Token = "0x600B124")]
[Address(RVA = "0x1C9E690", Offset = "0x1C9D090", VA = "0x181C9E690", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
/*
An exception occurred when decompiling this method (0600B124)
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: 0x0600B125 RID: 45349 RVA: 0x00296050 File Offset: 0x00294250
[Token(Token = "0x600B125")]
[Address(RVA = "0x1C9E6E0", Offset = "0x1C9D0E0", VA = "0x181C9E6E0", Slot = "26")]
public override void SetLength(long value)
{
/*
An exception occurred when decompiling this method (0600B125)
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: 0x0600B126 RID: 45350 RVA: 0x00296064 File Offset: 0x00294264
[Token(Token = "0x600B126")]
[Address(RVA = "0x1C9E730", Offset = "0x1C9D130", VA = "0x181C9E730", Slot = "29")]
public override void Write(byte[] buffer, int offset, int count)
{
/*
An exception occurred when decompiling this method (0600B126)
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: 0x0400742C RID: 29740
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400742C")]
private Stream stream;
// Token: 0x0400742D RID: 29741
[Token(Token = "0x400742D")]
public const int READBUFFER = 8192;
// Token: 0x0400742E RID: 29742
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400742E")]
private byte[] buf;
// Token: 0x0400742F RID: 29743
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400742F")]
private int available;
// Token: 0x04007430 RID: 29744
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
[Token(Token = "0x4007430")]
private int pos;
}
}
@@ -0,0 +1,434 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019BF RID: 6591
[Token(Token = "0x20019BF")]
[StructLayout(3)]
public static class VariableSizedBufferPool
{
// Token: 0x17001C99 RID: 7321
// (get) Token: 0x0600B12B RID: 45355 RVA: 0x002960C0 File Offset: 0x002942C0
// (set) Token: 0x0600B12C RID: 45356 RVA: 0x002960D4 File Offset: 0x002942D4
[Token(Token = "0x17001C99")]
public static bool IsEnabled
{
[Token(Token = "0x600B12B")]
[Address(RVA = "0x1CA11A0", Offset = "0x1C9FBA0", VA = "0x181CA11A0")]
get
{
return VariableSizedBufferPool._isEnabled;
}
[Token(Token = "0x600B12C")]
[Address(RVA = "0x1CA1210", Offset = "0x1C9FC10", VA = "0x181CA1210")]
set
{
VariableSizedBufferPool._isEnabled = value;
if (!VariableSizedBufferPool._isEnabled)
{
VariableSizedBufferPool.Clear();
return;
}
}
}
// Token: 0x0600B12D RID: 45357 RVA: 0x002960F8 File Offset: 0x002942F8
[Token(Token = "0x600B12D")]
[Address(RVA = "0x1CA0F80", Offset = "0x1C9F980", VA = "0x181CA0F80")]
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: 0x0600B12E RID: 45358 RVA: 0x00296160 File Offset: 0x00294360
[Token(Token = "0x600B12E")]
[Address(RVA = "0x1C9FEA0", Offset = "0x1C9E8A0", VA = "0x181C9FEA0")]
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++;
if (num != 0)
{
VariableSizedBufferPool.GetBuffers += 1U;
VariableSizedBufferPool.PoolSize = VariableSizedBufferPool.PoolSize;
}
if (canBeLarger && num != -1)
{
uint num3;
num3 += num3;
while (num3 <= (uint)num)
{
}
byte[] array = new byte[VariableSizedBufferPool.MinBufferSize];
byte[] array2 = new byte[size];
Monitor.Exit(freeBuffers);
if (num != -1)
{
}
if (num == 0)
{
break;
}
}
}
return new byte[size];
}
// Token: 0x0600B12F RID: 45359 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B12F")]
[Address(RVA = "0x1CA0D50", Offset = "0x1C9F750", VA = "0x181CA0D50")]
public static void Release(List<byte[]> buffers)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B130 RID: 45360 RVA: 0x00296248 File Offset: 0x00294448
[Token(Token = "0x600B130")]
[Address(RVA = "0x1CA0AE0", Offset = "0x1C9F4E0", VA = "0x181CA0AE0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B131 RID: 45361 RVA: 0x002962A4 File Offset: 0x002944A4
[Token(Token = "0x600B131")]
[Address(RVA = "0x1CA0E30", Offset = "0x1C9F830", VA = "0x181CA0E30")]
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: 0x0600B132 RID: 45362 RVA: 0x002962DC File Offset: 0x002944DC
[Token(Token = "0x600B132")]
[Address(RVA = "0x1C9FA00", Offset = "0x1C9E400", VA = "0x181C9FA00")]
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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B133 RID: 45363 RVA: 0x002963D8 File Offset: 0x002945D8
[Token(Token = "0x600B133")]
[Address(RVA = "0x1C9F6C0", Offset = "0x1C9E0C0", VA = "0x181C9F6C0")]
public static void Clear()
{
int num;
do
{
num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
VariableSizedBufferPool.FreeBuffers.Clear();
VariableSizedBufferPool.PoolSize = num;
Monitor.Exit(freeBuffers);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B134 RID: 45364 RVA: 0x00296414 File Offset: 0x00294614
[Token(Token = "0x600B134")]
[Address(RVA = "0x1CA0460", Offset = "0x1C9EE60", VA = "0x181CA0460")]
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(num3);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B135 RID: 45365 RVA: 0x00296578 File Offset: 0x00294778
[Token(Token = "0x600B135")]
[Address(RVA = "0x1CA0450", Offset = "0x1C9EE50", VA = "0x181CA0450")]
private static bool IsPowerOfTwo(long x)
{
long num = x - 1L;
return x == num;
}
// Token: 0x0600B136 RID: 45366 RVA: 0x00296590 File Offset: 0x00294790
[Token(Token = "0x600B136")]
[Address(RVA = "0x1CA0AC0", Offset = "0x1C9F4C0", VA = "0x181CA0AC0")]
private static long NextPowerOf2(long x)
{
/*
An exception occurred when decompiling this method (0600B136)
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: 0x0600B137 RID: 45367 RVA: 0x002965A4 File Offset: 0x002947A4
[Token(Token = "0x600B137")]
[Address(RVA = "0x1C9F810", Offset = "0x1C9E210", VA = "0x181C9F810")]
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: 0x0600B138 RID: 45368 RVA: 0x002965EC File Offset: 0x002947EC
[Token(Token = "0x600B138")]
[Address(RVA = "0x1C9F370", Offset = "0x1C9DD70", VA = "0x181C9F370")]
private static void AddFreeBuffer(byte[] buffer)
{
int length = buffer.Length;
int num = 0;
List<BufferStore> freeBuffers = VariableSizedBufferPool.FreeBuffers;
List<BufferStore> freeBuffers2 = VariableSizedBufferPool.FreeBuffers;
ThrowHelper.ThrowArgumentOutOfRangeException();
if ("{il2cpp array field local7->}" != length)
{
num++;
uint num2;
num2 += (uint)16;
int num3 = 0;
VariableSizedBufferPool.FreeBuffers.Insert(num, num3);
return;
}
ThrowHelper.ThrowArgumentOutOfRangeException();
if (typeof(VariableSizedBufferPool).TypeHandle != buffer)
{
}
ILogger logger = HTTPManager.Logger;
int num4 = 0;
VariableSizedBufferPool.FreeBuffers.Add(num4);
throw new NullReferenceException();
}
// Token: 0x04007436 RID: 29750
[Token(Token = "0x4007436")]
public static readonly byte[] NoData = new byte[0];
// Token: 0x04007437 RID: 29751
[Token(Token = "0x4007437")]
public static bool _isEnabled;
// Token: 0x04007438 RID: 29752
[Token(Token = "0x4007438")]
public static TimeSpan RemoveOlderThan;
// Token: 0x04007439 RID: 29753
[Token(Token = "0x4007439")]
public static TimeSpan RunMaintenanceEvery;
// Token: 0x0400743A RID: 29754
[Token(Token = "0x400743A")]
public static long MinBufferSize;
// Token: 0x0400743B RID: 29755
[Token(Token = "0x400743B")]
public static long MaxBufferSize;
// Token: 0x0400743C RID: 29756
[Token(Token = "0x400743C")]
public static long MaxPoolSize;
// Token: 0x0400743D RID: 29757
[Token(Token = "0x400743D")]
public static bool RemoveEmptyLists;
// Token: 0x0400743E RID: 29758
[Token(Token = "0x400743E")]
public static bool IsDoubleReleaseCheckEnabled;
// Token: 0x0400743F RID: 29759
[Token(Token = "0x400743F")]
private static List<BufferStore> FreeBuffers;
// Token: 0x04007440 RID: 29760
[Token(Token = "0x4007440")]
private static DateTime lastMaintenance;
// Token: 0x04007441 RID: 29761
[Token(Token = "0x4007441")]
private static int PoolSize;
// Token: 0x04007442 RID: 29762
[Token(Token = "0x4007442")]
private static uint GetBuffers;
// Token: 0x04007443 RID: 29763
[Token(Token = "0x4007443")]
private static uint ReleaseBuffers;
// Token: 0x04007444 RID: 29764
[Token(Token = "0x4007444")]
private static StringBuilder statiscticsBuilder;
}
}
@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019C0 RID: 6592
[Token(Token = "0x20019C0")]
[StructLayout(3)]
public sealed class WWWAuthenticateHeaderParser : KeyValuePairList
{
// Token: 0x0600B139 RID: 45369 RVA: 0x0029666C File Offset: 0x0029486C
[Token(Token = "0x600B139")]
[Address(RVA = "0x1CA1500", Offset = "0x1C9FF00", VA = "0x181CA1500")]
public WWWAuthenticateHeaderParser(string headerValue)
{
List<HeaderValue> list = this.ParseQuotedHeader(headerValue);
this.<Values>k__BackingField = list;
}
// Token: 0x0600B13A RID: 45370 RVA: 0x00296690 File Offset: 0x00294890
[Token(Token = "0x600B13A")]
[Address(RVA = "0x1CA12C0", Offset = "0x1C9FCC0", VA = "0x181CA12C0")]
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,226 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP.Extensions
{
// Token: 0x020019C2 RID: 6594
[Token(Token = "0x20019C2")]
[StructLayout(3)]
public sealed class WriteOnlyBufferedStream : Stream
{
// Token: 0x17001C9A RID: 7322
// (get) Token: 0x0600B13E RID: 45374 RVA: 0x00296784 File Offset: 0x00294984
[Token(Token = "0x17001C9A")]
public override bool CanRead
{
[Token(Token = "0x600B13E")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "7")]
get
{
}
}
// Token: 0x17001C9B RID: 7323
// (get) Token: 0x0600B13F RID: 45375 RVA: 0x00296794 File Offset: 0x00294994
[Token(Token = "0x17001C9B")]
public override bool CanSeek
{
[Token(Token = "0x600B13F")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "8")]
get
{
}
}
// Token: 0x17001C9C RID: 7324
// (get) Token: 0x0600B140 RID: 45376 RVA: 0x002967A4 File Offset: 0x002949A4
[Token(Token = "0x17001C9C")]
public override bool CanWrite
{
[Token(Token = "0x600B140")]
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "9")]
get
{
return true;
}
}
// Token: 0x17001C9D RID: 7325
// (get) Token: 0x0600B141 RID: 45377 RVA: 0x002967B4 File Offset: 0x002949B4
[Token(Token = "0x17001C9D")]
public override long Length
{
[Token(Token = "0x600B141")]
[Address(RVA = "0x1CA18C0", Offset = "0x1CA02C0", VA = "0x181CA18C0", Slot = "10")]
get
{
int length = this.buffer.Length;
throw new NullReferenceException();
}
}
// Token: 0x17001C9E RID: 7326
// (get) Token: 0x0600B142 RID: 45378 RVA: 0x002967D4 File Offset: 0x002949D4
// (set) Token: 0x0600B143 RID: 45379 RVA: 0x002967E8 File Offset: 0x002949E8
[Token(Token = "0x17001C9E")]
public override long Position
{
[Token(Token = "0x600B142")]
[Address(RVA = "0x1CA18E0", Offset = "0x1CA02E0", VA = "0x181CA18E0", Slot = "11")]
get
{
/*
An exception occurred when decompiling this method (0600B142)
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 = "0x600B143")]
[Address(RVA = "0x1CA18F0", Offset = "0x1CA02F0", VA = "0x181CA18F0", Slot = "12")]
set
{
/*
An exception occurred when decompiling this method (0600B143)
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: 0x0600B144 RID: 45380 RVA: 0x00296800 File Offset: 0x00294A00
[Token(Token = "0x600B144")]
[Address(RVA = "0x1CA1810", Offset = "0x1CA0210", VA = "0x181CA1810")]
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: 0x0600B145 RID: 45381 RVA: 0x00296834 File Offset: 0x00294A34
[Token(Token = "0x600B145")]
[Address(RVA = "0x1CA15C0", Offset = "0x1C9FFC0", VA = "0x181CA15C0", 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: 0x0600B146 RID: 45382 RVA: 0x00296880 File Offset: 0x00294A80
[Token(Token = "0x600B146")]
[Address(RVA = "0x1CA1700", Offset = "0x1CA0100", VA = "0x181CA1700", 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: 0x0600B147 RID: 45383 RVA: 0x00296904 File Offset: 0x00294B04
[Token(Token = "0x600B147")]
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "27")]
public override int Read(byte[] buffer, int offset, int count)
{
return 0;
}
// Token: 0x0600B148 RID: 45384 RVA: 0x00296914 File Offset: 0x00294B14
[Token(Token = "0x600B148")]
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "25")]
public override long Seek(long offset, SeekOrigin origin)
{
}
// Token: 0x0600B149 RID: 45385 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B149")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "26")]
public override void SetLength(long value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B14A RID: 45386 RVA: 0x00296924 File Offset: 0x00294B24
[Token(Token = "0x600B14A")]
[Address(RVA = "0x1CA1540", Offset = "0x1C9FF40", VA = "0x181CA1540", 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: 0x04007447 RID: 29767
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007447")]
private int _position;
// Token: 0x04007448 RID: 29768
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007448")]
private byte[] buffer;
// Token: 0x04007449 RID: 29769
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4007449")]
private Stream stream;
}
}
+156
View File
@@ -0,0 +1,156 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.PlatformSupport.FileSystem;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200129C RID: 4764
[Token(Token = "0x200129C")]
[StructLayout(3)]
internal sealed class FileConnection : ConnectionBase
{
// Token: 0x06007695 RID: 30357 RVA: 0x00187AF4 File Offset: 0x00185CF4
[Token(Token = "0x6007695")]
[Address(RVA = "0x1C89FC0", Offset = "0x1C889C0", VA = "0x181C89FC0")]
public FileConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x06007696 RID: 30358 RVA: 0x00187B08 File Offset: 0x00185D08
[Token(Token = "0x6007696")]
[Address(RVA = "0x1C898C0", Offset = "0x1C882C0", VA = "0x181C898C0", Slot = "6")]
internal override void Abort(HTTPConnectionStates newState)
{
/*
An exception occurred when decompiling this method (06007696)
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: 0x06007697 RID: 30359 RVA: 0x00187B38 File Offset: 0x00185D38
[Token(Token = "0x6007697")]
[Address(RVA = "0x1C89950", Offset = "0x1C88350", VA = "0x181C89950", Slot = "7")]
protected override void ThreadFunc(object param)
{
for (;;)
{
int 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 text;
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 != -1)
{
num++;
}
if (streamList != 0)
{
goto IL_1C5;
}
if (num != 0)
{
}
if (num != -1)
{
num++;
}
if (streamList == 0)
{
HTTPRequest <CurrentRequest>k__BackingField2 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField2 == 0)
{
goto IL_10F;
}
int num2 = 0;
<CurrentRequest>k__BackingField2.<Response>k__BackingField = num2;
if (this.<State>k__BackingField == HTTPConnectionStates.AbortRequested)
{
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)5L);
goto IL_10F;
}
IL_113:
HTTPRequest <CurrentRequest>k__BackingField3;
if (num == 8)
{
<CurrentRequest>k__BackingField3 = this.<CurrentRequest>k__BackingField;
<CurrentRequest>k__BackingField3.<State>k__BackingField = (HTTPRequestStates)((ulong)7L);
}
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <CurrentRequest>k__BackingField3;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)9L);
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField4.<State>k__BackingField == HTTPRequestStates.Processing)
{
if (<CurrentRequest>k__BackingField4.<Response>k__BackingField != (ulong)0L)
{
break;
}
<CurrentRequest>k__BackingField4.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
}
if (num != -1)
{
}
if (streamList == 0)
{
break;
}
continue;
IL_10F:
num++;
goto IL_113;
}
goto IL_1D1;
}
return;
IL_1C5:
throw new NullReferenceException();
IL_1D1:
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,129 @@
using System;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A2 RID: 6562
[Token(Token = "0x20019A2")]
[StructLayout(3)]
public class HTTPFieldData
{
// Token: 0x17001C72 RID: 7282
// (get) Token: 0x0600B050 RID: 45136 RVA: 0x00293EB8 File Offset: 0x002920B8
// (set) Token: 0x0600B051 RID: 45137 RVA: 0x00293ECC File Offset: 0x002920CC
[Token(Token = "0x17001C72")]
public string Name
{
[Token(Token = "0x600B050")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B051")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x17001C73 RID: 7283
// (get) Token: 0x0600B052 RID: 45138 RVA: 0x00293EE0 File Offset: 0x002920E0
// (set) Token: 0x0600B053 RID: 45139 RVA: 0x00293EF4 File Offset: 0x002920F4
[Token(Token = "0x17001C73")]
public string FileName
{
[Token(Token = "0x600B052")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get;
[Token(Token = "0x600B053")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280")]
set;
}
// Token: 0x17001C74 RID: 7284
// (get) Token: 0x0600B054 RID: 45140 RVA: 0x00293F08 File Offset: 0x00292108
// (set) Token: 0x0600B055 RID: 45141 RVA: 0x00293F1C File Offset: 0x0029211C
[Token(Token = "0x17001C74")]
public string MimeType
{
[Token(Token = "0x600B054")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B055")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set;
}
// Token: 0x17001C75 RID: 7285
// (get) Token: 0x0600B056 RID: 45142 RVA: 0x00293F30 File Offset: 0x00292130
// (set) Token: 0x0600B057 RID: 45143 RVA: 0x00293F44 File Offset: 0x00292144
[Token(Token = "0x17001C75")]
public Encoding Encoding
{
[Token(Token = "0x600B056")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x600B057")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
set;
}
// Token: 0x17001C76 RID: 7286
// (get) Token: 0x0600B058 RID: 45144 RVA: 0x00293F58 File Offset: 0x00292158
// (set) Token: 0x0600B059 RID: 45145 RVA: 0x00293F6C File Offset: 0x0029216C
[Token(Token = "0x17001C76")]
public string Text
{
[Token(Token = "0x600B058")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x600B059")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
set;
}
// Token: 0x17001C77 RID: 7287
// (get) Token: 0x0600B05A RID: 45146 RVA: 0x00293F80 File Offset: 0x00292180
// (set) Token: 0x0600B05B RID: 45147 RVA: 0x00293F94 File Offset: 0x00292194
[Token(Token = "0x17001C77")]
public byte[] Binary
{
[Token(Token = "0x600B05A")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0")]
get;
[Token(Token = "0x600B05B")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00")]
set;
}
// Token: 0x17001C78 RID: 7288
// (get) Token: 0x0600B05C RID: 45148 RVA: 0x00293FA8 File Offset: 0x002921A8
[Token(Token = "0x17001C78")]
public byte[] Payload
{
[Token(Token = "0x600B05C")]
[Address(RVA = "0x1C8D150", Offset = "0x1C8BB50", VA = "0x181C8D150")]
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: 0x0600B05D RID: 45149 RVA: 0x00293FEC File Offset: 0x002921EC
[Token(Token = "0x600B05D")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HTTPFieldData()
{
}
}
}
@@ -0,0 +1,242 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A3 RID: 6563
[Token(Token = "0x20019A3")]
[StructLayout(3)]
public class HTTPFormBase
{
// Token: 0x17001C79 RID: 7289
// (get) Token: 0x0600B05E RID: 45150 RVA: 0x00294000 File Offset: 0x00292200
// (set) Token: 0x0600B05F RID: 45151 RVA: 0x00294014 File Offset: 0x00292214
[Token(Token = "0x17001C79")]
public List<HTTPFieldData> Fields
{
[Token(Token = "0x600B05E")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600B05F")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x17001C7A RID: 7290
// (get) Token: 0x0600B060 RID: 45152 RVA: 0x00294028 File Offset: 0x00292228
[Token(Token = "0x17001C7A")]
public bool IsEmpty
{
[Token(Token = "0x600B060")]
[Address(RVA = "0x1C8D5A0", Offset = "0x1C8BFA0", VA = "0x181C8D5A0")]
get
{
bool flag;
return this.<Fields>k__BackingField == 0 || flag;
}
}
// Token: 0x17001C7B RID: 7291
// (get) Token: 0x0600B061 RID: 45153 RVA: 0x00294044 File Offset: 0x00292244
// (set) Token: 0x0600B062 RID: 45154 RVA: 0x00294058 File Offset: 0x00292258
[Token(Token = "0x17001C7B")]
public bool IsChanged
{
[Token(Token = "0x600B061")]
[Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40")]
get;
[Token(Token = "0x600B062")]
[Address(RVA = "0x55D5F0", Offset = "0x55BFF0", VA = "0x18055D5F0")]
protected set;
}
// Token: 0x17001C7C RID: 7292
// (get) Token: 0x0600B063 RID: 45155 RVA: 0x0029406C File Offset: 0x0029226C
// (set) Token: 0x0600B064 RID: 45156 RVA: 0x00294080 File Offset: 0x00292280
[Token(Token = "0x17001C7C")]
public bool HasBinary
{
[Token(Token = "0x600B063")]
[Address(RVA = "0x55D560", Offset = "0x55BF60", VA = "0x18055D560")]
get;
[Token(Token = "0x600B064")]
[Address(RVA = "0x55D5E0", Offset = "0x55BFE0", VA = "0x18055D5E0")]
protected set;
}
// Token: 0x17001C7D RID: 7293
// (get) Token: 0x0600B065 RID: 45157 RVA: 0x00294094 File Offset: 0x00292294
// (set) Token: 0x0600B066 RID: 45158 RVA: 0x002940A8 File Offset: 0x002922A8
[Token(Token = "0x17001C7D")]
public bool HasLongValue
{
[Token(Token = "0x600B065")]
[Address(RVA = "0x566D60", Offset = "0x565760", VA = "0x180566D60")]
get;
[Token(Token = "0x600B066")]
[Address(RVA = "0x566E40", Offset = "0x565840", VA = "0x180566E40")]
protected set;
}
// Token: 0x0600B067 RID: 45159 RVA: 0x002940BC File Offset: 0x002922BC
[Token(Token = "0x600B067")]
[Address(RVA = "0x1C8D1A0", Offset = "0x1C8BBA0", VA = "0x181C8D1A0")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x0600B068 RID: 45160 RVA: 0x002940D8 File Offset: 0x002922D8
[Token(Token = "0x600B068")]
[Address(RVA = "0x1C8D1C0", Offset = "0x1C8BBC0", VA = "0x181C8D1C0")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x0600B069 RID: 45161 RVA: 0x002940F4 File Offset: 0x002922F4
[Token(Token = "0x600B069")]
[Address(RVA = "0x1C8D1E0", Offset = "0x1C8BBE0", VA = "0x181C8D1E0")]
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: 0x0600B06A RID: 45162 RVA: 0x00294164 File Offset: 0x00292364
[Token(Token = "0x600B06A")]
[Address(RVA = "0x1C8D420", Offset = "0x1C8BE20", VA = "0x181C8D420")]
public void AddField(string fieldName, string value)
{
Encoding utf = Encoding.UTF8;
this.AddField(fieldName, value, utf);
}
// Token: 0x0600B06B RID: 45163 RVA: 0x00294184 File Offset: 0x00292384
[Token(Token = "0x600B06B")]
[Address(RVA = "0x1C8D2F0", Offset = "0x1C8BCF0", VA = "0x181C8D2F0")]
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: 0x0600B06C RID: 45164 RVA: 0x00294228 File Offset: 0x00292428
[Token(Token = "0x600B06C")]
[Address(RVA = "0x1C8D470", Offset = "0x1C8BE70", VA = "0x181C8D470", 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: 0x0600B06D RID: 45165 RVA: 0x0029426C File Offset: 0x0029246C
[Token(Token = "0x600B06D")]
[Address(RVA = "0x1C8D550", Offset = "0x1C8BF50", VA = "0x181C8D550", Slot = "5")]
public virtual void PrepareRequest(HTTPRequest request)
{
/*
An exception occurred when decompiling this method (0600B06D)
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: 0x0600B06E RID: 45166 RVA: 0x00294280 File Offset: 0x00292480
[Token(Token = "0x600B06E")]
[Address(RVA = "0x1C8D500", Offset = "0x1C8BF00", VA = "0x181C8D500", Slot = "6")]
public virtual byte[] GetData()
{
/*
An exception occurred when decompiling this method (0600B06E)
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: 0x0600B06F RID: 45167 RVA: 0x00294294 File Offset: 0x00292494
[Token(Token = "0x600B06F")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HTTPFormBase()
{
}
// Token: 0x040073ED RID: 29677
[Token(Token = "0x40073ED")]
private const int LongLength = 256;
}
}
@@ -0,0 +1,25 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A4 RID: 6564
[Token(Token = "0x20019A4")]
[StructLayout(3, Size = 4)]
public enum HTTPFormUsage
{
// Token: 0x040073F3 RID: 29683
[Token(Token = "0x40073F3")]
Automatic,
// Token: 0x040073F4 RID: 29684
[Token(Token = "0x40073F4")]
UrlEncoded,
// Token: 0x040073F5 RID: 29685
[Token(Token = "0x40073F5")]
Multipart,
// Token: 0x040073F6 RID: 29686
[Token(Token = "0x40073F6")]
RawJSon
}
}
@@ -0,0 +1,50 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A5 RID: 6565
[Token(Token = "0x20019A5")]
[StructLayout(3)]
public sealed class HTTPMultiPartForm : HTTPFormBase
{
// Token: 0x0600B070 RID: 45168 RVA: 0x002942A8 File Offset: 0x002924A8
[Token(Token = "0x600B070")]
[Address(RVA = "0x1C92540", Offset = "0x1C90F40", VA = "0x181C92540")]
public HTTPMultiPartForm()
{
this.Finalize();
string text;
this.Boundary = text;
}
// Token: 0x0600B071 RID: 45169 RVA: 0x002942C8 File Offset: 0x002924C8
[Token(Token = "0x600B071")]
[Address(RVA = "0x1C924D0", Offset = "0x1C90ED0", VA = "0x181C924D0", 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: 0x0600B072 RID: 45170 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B072")]
[Address(RVA = "0x1C92080", Offset = "0x1C90A80", VA = "0x181C92080", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040073F7 RID: 29687
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40073F7")]
private string Boundary;
// Token: 0x040073F8 RID: 29688
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40073F8")]
private byte[] CachedData;
}
}
@@ -0,0 +1,64 @@
using System;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A6 RID: 6566
[Token(Token = "0x20019A6")]
[StructLayout(3)]
public sealed class HTTPUrlEncodedForm : HTTPFormBase
{
// Token: 0x0600B073 RID: 45171 RVA: 0x00294300 File Offset: 0x00292500
[Token(Token = "0x600B073")]
[Address(RVA = "0x1C9D3A0", Offset = "0x1C9BDA0", VA = "0x181C9D3A0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/x-www-form-urlencoded");
}
// Token: 0x0600B074 RID: 45172 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B074")]
[Address(RVA = "0x1C9D1A0", Offset = "0x1C9BBA0", VA = "0x181C9D1A0", Slot = "6")]
public override byte[] GetData()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B075 RID: 45173 RVA: 0x00294324 File Offset: 0x00292524
[Token(Token = "0x600B075")]
[Address(RVA = "0x1C9D040", Offset = "0x1C9BA40", VA = "0x181C9D040")]
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: 0x0600B076 RID: 45174 RVA: 0x00294380 File Offset: 0x00292580
[Token(Token = "0x600B076")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HTTPUrlEncodedForm()
{
}
// Token: 0x040073F9 RID: 29689
[Token(Token = "0x40073F9")]
private const int EscapeTreshold = 256;
// Token: 0x040073FA RID: 29690
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40073FA")]
private byte[] CachedData;
}
}
@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using BestHTTP.JSON;
using Cpp2IlInjected;
namespace BestHTTP.Forms
{
// Token: 0x020019A7 RID: 6567
[Token(Token = "0x20019A7")]
[StructLayout(3)]
public sealed class RawJsonForm : HTTPFormBase
{
// Token: 0x0600B077 RID: 45175 RVA: 0x00294394 File Offset: 0x00292594
[Token(Token = "0x600B077")]
[Address(RVA = "0x1C9E2D0", Offset = "0x1C9CCD0", VA = "0x181C9E2D0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
request.SetHeader("Content-Type", "application/json");
}
// Token: 0x0600B078 RID: 45176 RVA: 0x002943B8 File Offset: 0x002925B8
[Token(Token = "0x600B078")]
[Address(RVA = "0x1C9E0E0", Offset = "0x1C9CAE0", VA = "0x181C9E0E0", 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: 0x0600B079 RID: 45177 RVA: 0x00294444 File Offset: 0x00292644
[Token(Token = "0x600B079")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public RawJsonForm()
{
}
// Token: 0x040073FB RID: 29691
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40073FB")]
private byte[] CachedData;
}
}
@@ -0,0 +1,72 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Forms
{
// Token: 0x020019A9 RID: 6569
[Token(Token = "0x20019A9")]
[StructLayout(3)]
public sealed class UnityForm : HTTPFormBase
{
// Token: 0x17001C7E RID: 7294
// (get) Token: 0x0600B07E RID: 45182 RVA: 0x002944BC File Offset: 0x002926BC
// (set) Token: 0x0600B07F RID: 45183 RVA: 0x002944D0 File Offset: 0x002926D0
[Token(Token = "0x17001C7E")]
public WWWForm Form
{
[Token(Token = "0x600B07E")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600B07F")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set;
}
// Token: 0x0600B080 RID: 45184 RVA: 0x002944E4 File Offset: 0x002926E4
[Token(Token = "0x600B080")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public UnityForm()
{
}
// Token: 0x0600B081 RID: 45185 RVA: 0x002944F8 File Offset: 0x002926F8
[Token(Token = "0x600B081")]
[Address(RVA = "0x52A1D0", Offset = "0x528BD0", VA = "0x18052A1D0")]
public UnityForm(WWWForm form)
{
this.Form = form;
}
// Token: 0x0600B082 RID: 45186 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B082")]
[Address(RVA = "0x1C9F120", Offset = "0x1C9DB20", VA = "0x181C9F120", Slot = "4")]
public override void CopyFrom(HTTPFormBase fields)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B083 RID: 45187 RVA: 0x00294514 File Offset: 0x00292714
[Token(Token = "0x600B083")]
[Address(RVA = "0x1C9F2A0", Offset = "0x1C9DCA0", VA = "0x181C9F2A0", Slot = "5")]
public override void PrepareRequest(HTTPRequest request)
{
if (!this.<Form>k__BackingField.headers.ContainsKey("Content-Type"))
{
request.SetHeader("Content-Type", "application/x-www-form-urlencoded");
return;
}
string text = this.<Form>k__BackingField.headers["Content-Type"];
throw new NullReferenceException();
}
// Token: 0x0600B084 RID: 45188 RVA: 0x00294568 File Offset: 0x00292768
[Token(Token = "0x600B084")]
[Address(RVA = "0x1C9F280", Offset = "0x1C9DC80", VA = "0x181C9F280", Slot = "6")]
public override byte[] GetData()
{
return this.<Form>k__BackingField.data;
}
}
}
+403
View File
@@ -0,0 +1,403 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AF RID: 6575
[Token(Token = "0x20019AF")]
[StructLayout(3)]
public class Future<T> : IFuture<T>
{
// Token: 0x17001C82 RID: 7298
// (get) Token: 0x0600B098 RID: 45208 RVA: 0x00294750 File Offset: 0x00292950
[Token(Token = "0x17001C82")]
public FutureState state
{
[Token(Token = "0x600B098")]
[Address(RVA = "0x223D0D0", Offset = "0x223BAD0", VA = "0x18223D0D0", Slot = "4")]
get
{
/*
An exception occurred when decompiling this method (0600B098)
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: 0x17001C83 RID: 7299
// (get) Token: 0x0600B099 RID: 45209 RVA: 0x00294764 File Offset: 0x00292964
[Token(Token = "0x17001C83")]
public T value
{
[Token(Token = "0x600B099")]
[Address(RVA = "0x223D0F0", Offset = "0x223BAF0", VA = "0x18223D0F0", Slot = "5")]
get
{
/*
An exception occurred when decompiling this method (0600B099)
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: 0x17001C84 RID: 7300
// (get) Token: 0x0600B09A RID: 45210 RVA: 0x00294794 File Offset: 0x00292994
[Token(Token = "0x17001C84")]
public Exception error
{
[Token(Token = "0x600B09A")]
[Address(RVA = "0x223D050", Offset = "0x223BA50", VA = "0x18223D050", Slot = "6")]
get
{
/*
An exception occurred when decompiling this method (0600B09A)
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: 0x0600B09B RID: 45211 RVA: 0x002947B4 File Offset: 0x002929B4
[Token(Token = "0x600B09B")]
[Address(RVA = "0x223CB60", Offset = "0x223B560", VA = "0x18223CB60")]
public Future()
{
List<FutureErrorCallback> list = new List();
base..ctor();
this._state = (FutureState)((ulong)0L);
}
// Token: 0x0600B09C RID: 45212 RVA: 0x002947D8 File Offset: 0x002929D8
[Token(Token = "0x600B09C")]
[Address(RVA = "0x223C1A0", Offset = "0x223ABA0", VA = "0x18223C1A0", Slot = "7")]
public IFuture<T> OnItem(FutureValueCallback<T> callback)
{
bool flag;
if (this._state >= FutureState.Success || !flag)
{
}
throw new NullReferenceException();
}
// Token: 0x0600B09D RID: 45213 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B09D")]
[Address(RVA = "0x223C230", Offset = "0x223AC30", VA = "0x18223C230", Slot = "8")]
public IFuture<T> OnSuccess(FutureValueCallback<T> callback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B09E RID: 45214 RVA: 0x002947F8 File Offset: 0x002929F8
[Token(Token = "0x600B09E")]
[Address(RVA = "0x223BEA0", Offset = "0x223A8A0", VA = "0x18223BEA0", 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: 0x0600B09F RID: 45215 RVA: 0x00294830 File Offset: 0x00292A30
[Token(Token = "0x600B09F")]
[Address(RVA = "0x223BD20", Offset = "0x223A720", VA = "0x18223BD20", 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: 0x0600B0A0 RID: 45216 RVA: 0x00294860 File Offset: 0x00292A60
[Token(Token = "0x600B0A0")]
[Address(RVA = "0x223C5B0", Offset = "0x223AFB0", VA = "0x18223C5B0")]
public IFuture<T> Process(Func<T> func)
{
/*
An exception occurred when decompiling this method (0600B0A0)
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: 0x0600B0A1 RID: 45217 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B0A1")]
[Address(RVA = "0x223C770", Offset = "0x223B170", VA = "0x18223C770")]
private void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B0A2 RID: 45218 RVA: 0x00294890 File Offset: 0x00292A90
[Token(Token = "0x600B0A2")]
[Address(RVA = "0x223A080", Offset = "0x2238A80", VA = "0x18223A080")]
public void Assign(T value)
{
/*
An exception occurred when decompiling this method (0600B0A2)
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: 0x0600B0A3 RID: 45219 RVA: 0x002948C4 File Offset: 0x00292AC4
[Token(Token = "0x600B0A3")]
[Address(RVA = "0x223A2B0", Offset = "0x2238CB0", VA = "0x18223A2B0")]
public void BeginProcess([Optional] T initialItem)
{
this._state = (FutureState)((ulong)1L);
this._value = initialItem;
}
// Token: 0x0600B0A4 RID: 45220 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B0A4")]
[Address(RVA = "0x2239E30", Offset = "0x2238830", VA = "0x182239E30")]
public void AssignItem(T value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B0A5 RID: 45221 RVA: 0x002948E4 File Offset: 0x00292AE4
[Token(Token = "0x600B0A5")]
[Address(RVA = "0x223A730", Offset = "0x2239130", VA = "0x18223A730")]
public void Fail(Exception error)
{
/*
An exception occurred when decompiling this method (0600B0A5)
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: 0x0600B0A6 RID: 45222 RVA: 0x00294918 File Offset: 0x00292B18
[Token(Token = "0x600B0A6")]
[Address(RVA = "0x22398F0", Offset = "0x22382F0", VA = "0x1822398F0")]
private void AssignImpl(T value)
{
this._value = value;
this._state = (FutureState)((ulong)2L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600B0A7 RID: 45223 RVA: 0x0029493C File Offset: 0x00292B3C
[Token(Token = "0x600B0A7")]
[Address(RVA = "0x223A580", Offset = "0x2238F80", VA = "0x18223A580")]
private void FailImpl(Exception error)
{
int num = 0;
this._value = num;
this._state = (FutureState)((ulong)3L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600B0A8 RID: 45224 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B0A8")]
[Address(RVA = "0x223BAC0", Offset = "0x223A4C0", VA = "0x18223BAC0")]
private void FlushSuccessCallbacks()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B0A9 RID: 45225 RVA: 0x00294964 File Offset: 0x00292B64
[Token(Token = "0x600B0A9")]
[Address(RVA = "0x223B3E0", Offset = "0x2239DE0", VA = "0x18223B3E0")]
private void FlushErrorCallbacks()
{
int num;
int num2;
do
{
num = 0;
List.Enumerator enumerator;
if (enumerator != 0)
{
Exception error = this.error;
}
num2 = 0;
num2 += num2;
num2++;
if (num != -1)
{
}
}
while (num != 0);
num2 += num2;
num += 19;
num += typeof(List<FutureErrorCallback>.Enumerator).TypeHandle;
}
// Token: 0x0600B0AA RID: 45226 RVA: 0x002949B0 File Offset: 0x00292BB0
[Token(Token = "0x600B0AA")]
[Address(RVA = "0x223A8B0", Offset = "0x22392B0", VA = "0x18223A8B0")]
private void FlushComplationCallbacks()
{
int num;
int num2;
do
{
num = 0;
num2 = 0;
num2 += num2;
num2++;
if (num != -1)
{
}
}
while (num != 0);
num2 += num2;
num += 19;
num += typeof(List<FutureCallback<T>>.Enumerator).TypeHandle;
this.ClearCallbacks();
}
// Token: 0x0600B0AB RID: 45227 RVA: 0x002949F4 File Offset: 0x00292BF4
[Token(Token = "0x600B0AB")]
[Address(RVA = "0x223A4C0", Offset = "0x2238EC0", VA = "0x18223A4C0")]
private void ClearCallbacks()
{
}
// Token: 0x04007405 RID: 29701
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007405")]
private FutureState _state;
// Token: 0x04007406 RID: 29702
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007406")]
private T _value;
// Token: 0x04007407 RID: 29703
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007407")]
private Exception _error;
// Token: 0x04007408 RID: 29704
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007408")]
private Func<T> _processFunc;
// Token: 0x04007409 RID: 29705
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4007409")]
private readonly List<FutureValueCallback<T>> _itemCallbacks;
// Token: 0x0400740A RID: 29706
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400740A")]
private readonly List<FutureValueCallback<T>> _successCallbacks;
// Token: 0x0400740B RID: 29707
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400740B")]
private readonly List<FutureErrorCallback> _errorCallbacks;
// Token: 0x0400740C RID: 29708
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400740C")]
private readonly List<FutureCallback<T>> _complationCallbacks;
}
}
@@ -0,0 +1,47 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AC RID: 6572
[Token(Token = "0x20019AC")]
[StructLayout(3)]
public sealed class FutureCallback<T> : MulticastDelegate
{
// Token: 0x0600B08C RID: 45196 RVA: 0x00294588 File Offset: 0x00292788
[Token(Token = "0x600B08C")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public FutureCallback(object @object, IntPtr method)
{
}
// Token: 0x0600B08D RID: 45197 RVA: 0x00294598 File Offset: 0x00292798
[Token(Token = "0x600B08D")]
[Address(RVA = "0xBA9FC0", Offset = "0xBA89C0", VA = "0x180BA9FC0", Slot = "13")]
public void Invoke(IFuture<T> future)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600B08E RID: 45198 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B08E")]
[Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", 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: 0x0600B08F RID: 45199 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B08F")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,52 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AE RID: 6574
[Token(Token = "0x20019AE")]
[StructLayout(3, Size = 8)]
public sealed class FutureErrorCallback : MulticastDelegate
{
// Token: 0x0600B094 RID: 45204 RVA: 0x00294678 File Offset: 0x00292878
[Token(Token = "0x600B094")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public FutureErrorCallback(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600B095 RID: 45205 RVA: 0x00294694 File Offset: 0x00292894
[Token(Token = "0x600B095")]
[Address(RVA = "0x6F1D00", Offset = "0x6F0700", VA = "0x1806F1D00", Slot = "13")]
public void Invoke(Exception error)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600B096 RID: 45206 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B096")]
[Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", 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: 0x0600B097 RID: 45207 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B097")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,25 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AA RID: 6570
[Token(Token = "0x20019AA")]
[StructLayout(3, Size = 4)]
public enum FutureState
{
// Token: 0x04007401 RID: 29697
[Token(Token = "0x4007401")]
Pending,
// Token: 0x04007402 RID: 29698
[Token(Token = "0x4007402")]
Processing,
// Token: 0x04007403 RID: 29699
[Token(Token = "0x4007403")]
Success,
// Token: 0x04007404 RID: 29700
[Token(Token = "0x4007404")]
Error
}
}
@@ -0,0 +1,46 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AD RID: 6573
[Token(Token = "0x20019AD")]
[StructLayout(3)]
public sealed class FutureValueCallback<T> : MulticastDelegate
{
// Token: 0x0600B090 RID: 45200 RVA: 0x002945EC File Offset: 0x002927EC
[Token(Token = "0x600B090")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public FutureValueCallback(object @object, IntPtr method)
{
}
// Token: 0x0600B091 RID: 45201 RVA: 0x002945FC File Offset: 0x002927FC
[Token(Token = "0x600B091")]
[Address(RVA = "0x769750", Offset = "0x768150", VA = "0x180769750", Slot = "13")]
public void Invoke(T value)
{
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x0600B092 RID: 45202 RVA: 0x00294668 File Offset: 0x00292868
[Token(Token = "0x600B092")]
[Address(RVA = "0x22397A0", Offset = "0x22381A0", VA = "0x1822397A0", Slot = "14")]
public IAsyncResult BeginInvoke(T value, AsyncCallback callback, object @object)
{
}
// Token: 0x0600B093 RID: 45203 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B093")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,62 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x020019AB RID: 6571
[Token(Token = "0x20019AB")]
[StructLayout(3)]
public interface IFuture<T>
{
// Token: 0x17001C7F RID: 7295
// (get) Token: 0x0600B085 RID: 45189
[Token(Token = "0x17001C7F")]
FutureState state
{
[Token(Token = "0x600B085")]
[Address(Slot = "0")]
get;
}
// Token: 0x17001C80 RID: 7296
// (get) Token: 0x0600B086 RID: 45190
[Token(Token = "0x17001C80")]
T value
{
[Token(Token = "0x600B086")]
[Address(Slot = "1")]
get;
}
// Token: 0x17001C81 RID: 7297
// (get) Token: 0x0600B087 RID: 45191
[Token(Token = "0x17001C81")]
Exception error
{
[Token(Token = "0x600B087")]
[Address(Slot = "2")]
get;
}
// Token: 0x0600B088 RID: 45192
[Token(Token = "0x600B088")]
[Address(Slot = "3")]
IFuture<T> OnItem(FutureValueCallback<T> callback);
// Token: 0x0600B089 RID: 45193
[Token(Token = "0x600B089")]
[Address(Slot = "4")]
IFuture<T> OnSuccess(FutureValueCallback<T> callback);
// Token: 0x0600B08A RID: 45194
[Token(Token = "0x600B08A")]
[Address(Slot = "5")]
IFuture<T> OnError(FutureErrorCallback callback);
// Token: 0x0600B08B RID: 45195
[Token(Token = "0x600B08B")]
[Address(Slot = "6")]
IFuture<T> OnComplete(FutureCallback<T> callback);
}
}
+863
View File
@@ -0,0 +1,863 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Security;
using System.Runtime.InteropServices;
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: 0x0200129F RID: 4767
[Token(Token = "0x200129F")]
[StructLayout(3)]
internal sealed class HTTPConnection : ConnectionBase
{
// Token: 0x17001328 RID: 4904
// (get) Token: 0x0600769E RID: 30366 RVA: 0x00187DA0 File Offset: 0x00185FA0
[Token(Token = "0x17001328")]
public override bool IsRemovable
{
[Token(Token = "0x600769E")]
[Address(RVA = "0x1C8D060", Offset = "0x1C8BA60", VA = "0x181C8D060", 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: 0x0600769F RID: 30367 RVA: 0x00187E04 File Offset: 0x00186004
[Token(Token = "0x600769F")]
[Address(RVA = "0x1C89FC0", Offset = "0x1C889C0", VA = "0x181C89FC0")]
internal HTTPConnection(string serverAddress)
: base(serverAddress)
{
}
// Token: 0x060076A0 RID: 30368 RVA: 0x00187E18 File Offset: 0x00186018
[Token(Token = "0x60076A0")]
[Address(RVA = "0x1C8B970", Offset = "0x1C8A370", VA = "0x181C8B970", Slot = "7")]
protected override void ThreadFunc(object param)
{
for (;;)
{
int num = 0;
int num2 = 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();
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);
bool flag = this.Receive();
HTTPConnectionStates <State>k__BackingField = this.<State>k__BackingField;
if (<State>k__BackingField == HTTPConnectionStates.TimedOut || <State>k__BackingField == HTTPConnectionStates.AbortRequested)
{
goto IL_828;
}
if (flag || num2 != 0 || (this.<CurrentRequest>k__BackingField.<DisableRetry>k__BackingField ? 1 : 0) == num2)
{
}
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
HTTPResponse <Response>k__BackingField = <CurrentRequest>k__BackingField4.<Response>k__BackingField;
if (<Response>k__BackingField != 0)
{
if (<CurrentRequest>k__BackingField4.<IsCookiesEnabled>k__BackingField)
{
CookieJar.Set(<Response>k__BackingField);
CookieJar.Persist();
}
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_2D0;
}
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_47F;
}
if (!this.<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField)
{
goto IL_414;
}
}
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_2D0;
}
goto IL_2D0;
IL_47F:
HTTPResponse <Response>k__BackingField2 = this.<CurrentRequest>k__BackingField.<Response>k__BackingField;
if (<Response>k__BackingField2 == 0 || !<Response>k__BackingField2.<IsClosedManually>k__BackingField)
{
if (<Response>k__BackingField2 == 0)
{
}
uint num3;
if (num3 == (uint)0)
{
List<string> list2;
if (num3 == (uint)0 || list2 == 0)
{
goto IL_4D8;
}
KeepAliveHeader keepAliveHeader;
if (this.KeepAlive == 0)
{
keepAliveHeader = new KeepAliveHeader();
this.KeepAlive = keepAliveHeader;
}
keepAliveHeader.Parse(list2);
}
this.Close();
goto IL_4D8;
}
goto IL_4D8;
IL_414:
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__BackingField3 = <CurrentRequest>k__BackingField10.<Response>k__BackingField;
if (HTTPCacheService.IsCacheble(<Uri>k__BackingField3, <MethodType>k__BackingField, <Response>k__BackingField3))
{
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__BackingField4 = <CurrentRequest>k__BackingField11.<Response>k__BackingField;
HTTPCacheFileInfo httpcacheFileInfo = HTTPCacheService.Store(<Uri>k__BackingField4, <MethodType>k__BackingField2, <Response>k__BackingField4);
HTTPCacheService.SaveLibrary();
goto IL_47F;
}
goto IL_47F;
IL_2D0:
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__BackingField5 = <CurrentRequest>k__BackingField13.<Response>k__BackingField;
if (!onBeforeRedirection(<CurrentRequest>k__BackingField13, <Response>k__BackingField5, 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 = num;
<CurrentRequest>k__BackingField10 = this.<CurrentRequest>k__BackingField;
<CurrentRequest>k__BackingField10.<IsRedirected>k__BackingField = true;
goto IL_414;
}
goto IL_743;
}
IL_4D8:
uint num4;
while (num4 != (uint)0)
{
}
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_84C;
}
}
HTTPRequest <CurrentRequest>k__BackingField15 = this.<CurrentRequest>k__BackingField;
int num5 = 0;
<CurrentRequest>k__BackingField15.<Response>k__BackingField = num5;
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <CurrentRequest>k__BackingField15;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)6L);
this.Close();
num++;
HTTPRequest <CurrentRequest>k__BackingField16 = this.<CurrentRequest>k__BackingField;
if (<CurrentRequest>k__BackingField16 == 0)
{
goto IL_5BD;
}
if (<CurrentRequest>k__BackingField16.useStreaming)
{
if (<CurrentRequest>k__BackingField16.<IsRedirected>k__BackingField)
{
}
ulong num6;
bool flag4 = HTTPCacheService.DeleteEntity(<CurrentRequest>k__BackingField16.<Uri>k__BackingField, num6 != 0UL);
}
HTTPRequest <CurrentRequest>k__BackingField17 = this.<CurrentRequest>k__BackingField;
int num7 = 0;
<CurrentRequest>k__BackingField17.<Response>k__BackingField = num7;
HTTPConnectionStates <State>k__BackingField3 = this.<State>k__BackingField;
if (num7 != 0)
{
if (num7 == 0)
{
goto IL_5CA;
}
if (num7 != 1)
{
this.<CurrentRequest>k__BackingField.<Exception>k__BackingField = <State>k__BackingField3;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)4L);
goto IL_5BD;
}
}
IL_5D8:
uint num8;
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)num8;
object locker = HTTPManager.Locker;
int num9;
Monitor.Enter(locker, num9);
HTTPRequest <CurrentRequest>k__BackingField18 = this.<CurrentRequest>k__BackingField;
HTTPResponse <Response>k__BackingField6;
if (<CurrentRequest>k__BackingField18 != 0)
{
<Response>k__BackingField6 = <CurrentRequest>k__BackingField18.<Response>k__BackingField;
if (<Response>k__BackingField6 != 0 && <Response>k__BackingField6.<IsUpgraded>k__BackingField)
{
this.<State>k__BackingField = (HTTPConnectionStates)((ulong)3L);
}
}
uint num10;
<Response>k__BackingField6.<StatusCode>k__BackingField = (int)num10;
string <Message>k__BackingField = <Response>k__BackingField6.<Message>k__BackingField;
string text4;
if (<Response>k__BackingField6 == (ulong)4294967291L)
{
HTTPRequestStates httprequestStates;
int hashCode3 = httprequestStates.GetHashCode();
HTTPRequestStates httprequestStates2 = httprequestStates;
text4 = string.Format("Remote server closed the connection before sending response header! Previous request state: {0}. Connection state: {1}", hashCode3, httprequestStates2);
Exception ex = new Exception(text4);
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)num10;
}
DateTime utcNow = DateTime.UtcNow;
this.LastProcessTime = utcNow;
base.RecycleNow();
Monitor.Exit(locker);
if (text4 != (ulong)(-1L))
{
}
if (locker != 0)
{
continue;
}
if (text4 != (ulong)(-1L))
{
}
if (locker == 0)
{
break;
}
continue;
IL_5CA:
this.<CurrentRequest>k__BackingField.<State>k__BackingField = (HTTPRequestStates)((ulong)7L);
goto IL_5D8;
IL_5BD:
num9 = 0;
this.Close();
num++;
goto IL_5CA;
}
return;
IL_743:
throw new NullReferenceException();
IL_828:
Exception ex2 = new Exception("AbortRequested");
throw new NullReferenceException();
IL_84C:
Exception ex3 = new Exception("AbortRequested");
throw new NullReferenceException();
}
// Token: 0x060076A1 RID: 30369 RVA: 0x001886E8 File Offset: 0x001868E8
[Token(Token = "0x60076A1")]
[Address(RVA = "0x1C8A180", Offset = "0x1C88B80", VA = "0x181C8A180")]
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_22C;
}
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 text = string.Format("'{0}' - Connecting to {1}:{2}", hashCode, host2, port2);
}
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 num2 = <CurrentRequest>k__BackingField4.<RedirectUri>k__BackingField.m_String.GetHashCode();
if (num2 != 0)
{
}
array[0] = num2;
int sendBufferSize2 = this.Client.SendBufferSize;
num2 = sendBufferSize2;
if (sendBufferSize2 != 0)
{
}
array[1] = num2;
int receiveBufferSize2 = this.Client.ReceiveBufferSize;
num2 = receiveBufferSize2;
if (receiveBufferSize2 != 0)
{
}
array[2] = num2;
bool is_blocking = this.Client.client.is_blocking;
if (is_blocking)
{
}
array[3] = is_blocking;
string text2 = 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;
}
IL_22C:
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 text3 = <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 num3;
SslStream sslStream = new SslStream(stream3, num3 != 0, remoteCertificateValidationCallback);
num3 = 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: 0x060076A2 RID: 30370 RVA: 0x00188AD8 File Offset: 0x00186CD8
[Token(Token = "0x60076A2")]
[Address(RVA = "0x1C8B2F0", Offset = "0x1C89CF0", VA = "0x181C8B2F0")]
private bool Receive()
{
/*
An exception occurred when decompiling this method (060076A2)
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: 0x060076A3 RID: 30371 RVA: 0x00188D20 File Offset: 0x00186F20
[Token(Token = "0x60076A3")]
[Address(RVA = "0x1C8ADE0", Offset = "0x1C897E0", VA = "0x181C8ADE0")]
private bool LoadFromCache(Uri uri)
{
int num;
List<string> list;
do
{
num = 0;
if (HTTPManager.Logger == 0)
{
ILogger logger = HTTPManager.Logger;
HTTPRequest <CurrentRequest>k__BackingField = this.<CurrentRequest>k__BackingField;
if ((<CurrentRequest>k__BackingField.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
int hashCode = <CurrentRequest>k__BackingField.<Uri>k__BackingField.GetHashCode();
int hashCode2 = uri.GetHashCode();
string text = string.Format("{0} - LoadFromCache for Uri: {1}", hashCode, hashCode2);
}
HTTPCacheFileInfo entity = HTTPCacheService.GetEntity(uri);
if (entity == 0)
{
goto IL_125;
}
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)
{
break;
}
<CurrentRequest>k__BackingField3.<Response>k__BackingField.<CacheFileInfo>k__BackingField = entity;
Stream stream;
if (stream != 0)
{
if (this.<CurrentRequest>k__BackingField.<Response>k__BackingField.GetHeaderValues("content-length") == 0)
{
Dictionary<string, List<string>> <Headers>k__BackingField = this.<CurrentRequest>k__BackingField.<Response>k__BackingField.<Headers>k__BackingField;
list = new List(1);
<Headers>k__BackingField.Add("content-length", list);
}
this.<CurrentRequest>k__BackingField.<Response>k__BackingField.<IsFromCache>k__BackingField = true;
HTTPRequest <CurrentRequest>k__BackingField4 = this.<CurrentRequest>k__BackingField;
if (!<CurrentRequest>k__BackingField4.cacheOnly)
{
HTTPResponse <Response>k__BackingField = <CurrentRequest>k__BackingField4.<Response>k__BackingField;
}
}
int num2;
if (stream != 0)
{
num2 = 0;
}
if (num != -1)
{
if (num2 == 332)
{
goto IL_151;
}
if (num2 == 330)
{
break;
}
}
}
while (num != 0);
return true;
IL_125:
int num3 = 0;
ILogger logger2 = HTTPManager.Logger;
int hashCode3 = num3.GetHashCode();
int hashCode4 = list.GetHashCode();
string text2 = string.Format("{0} - LoadFromCache for Uri: {1} - Cached entity not found!", hashCode3, hashCode4);
IL_151:
throw new NullReferenceException();
}
// Token: 0x060076A4 RID: 30372 RVA: 0x00188E90 File Offset: 0x00187090
[Token(Token = "0x60076A4")]
[Address(RVA = "0x1C8CBC0", Offset = "0x1C8B5C0", VA = "0x181C8CBC0")]
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: 0x060076A5 RID: 30373 RVA: 0x00188F84 File Offset: 0x00187184
[Token(Token = "0x60076A5")]
[Address(RVA = "0x1C8CE50", Offset = "0x1C8B850", VA = "0x181C8CE50")]
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: 0x060076A6 RID: 30374 RVA: 0x00189044 File Offset: 0x00187244
[Token(Token = "0x60076A6")]
[Address(RVA = "0x1C8AC50", Offset = "0x1C89650", VA = "0x181C8AC50")]
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: 0x060076A7 RID: 30375 RVA: 0x001890C8 File Offset: 0x001872C8
[Token(Token = "0x60076A7")]
[Address(RVA = "0x1C89FD0", Offset = "0x1C889D0", VA = "0x181C89FD0", 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: 0x060076A8 RID: 30376 RVA: 0x00189110 File Offset: 0x00187310
[Token(Token = "0x60076A8")]
[Address(RVA = "0x1C8A080", Offset = "0x1C88A80", VA = "0x181C8A080")]
private void Close()
{
int num;
do
{
num = 0;
this.KeepAlive = num;
this.<LastProcessedUri>k__BackingField = num;
if (this.Client == num)
{
break;
}
this.Client.Close();
int num2 = 0;
num2++;
this.Stream = (ulong)0L;
this.Client = (ulong)0L;
if (num2 != -1)
{
}
}
while (num != 0);
}
// Token: 0x060076A9 RID: 30377 RVA: 0x00189168 File Offset: 0x00187368
[Token(Token = "0x60076A9")]
[Address(RVA = "0x1C8AC20", Offset = "0x1C89620", VA = "0x181C8AC20", Slot = "8")]
protected override void Dispose(bool disposing)
{
this.Close();
base.Dispose(disposing);
}
// Token: 0x040055E7 RID: 21991
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40055E7")]
private TcpClient Client;
// Token: 0x040055E8 RID: 21992
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40055E8")]
private Stream Stream;
// Token: 0x040055E9 RID: 21993
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x40055E9")]
private KeepAliveHeader KeepAlive;
}
}
@@ -0,0 +1,52 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x02001299 RID: 4761
[Token(Token = "0x2001299")]
[StructLayout(3, Size = 8)]
internal sealed class HTTPConnectionRecycledDelegate : MulticastDelegate
{
// Token: 0x06007665 RID: 30309 RVA: 0x001872DC File Offset: 0x001854DC
[Token(Token = "0x6007665")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public HTTPConnectionRecycledDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06007666 RID: 30310 RVA: 0x001872F8 File Offset: 0x001854F8
[Token(Token = "0x6007666")]
[Address(RVA = "0x6F1D00", Offset = "0x6F0700", VA = "0x1806F1D00", Slot = "13")]
public void Invoke(ConnectionBase conn)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06007667 RID: 30311 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007667")]
[Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", 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: 0x06007668 RID: 30312 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007668")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,43 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012A0 RID: 4768
[Token(Token = "0x20012A0")]
[StructLayout(3, Size = 4)]
internal enum HTTPConnectionStates
{
// Token: 0x040055EB RID: 21995
[Token(Token = "0x40055EB")]
Initial,
// Token: 0x040055EC RID: 21996
[Token(Token = "0x40055EC")]
Processing,
// Token: 0x040055ED RID: 21997
[Token(Token = "0x40055ED")]
Redirected,
// Token: 0x040055EE RID: 21998
[Token(Token = "0x40055EE")]
Upgraded,
// Token: 0x040055EF RID: 21999
[Token(Token = "0x40055EF")]
WaitForProtocolShutdown,
// Token: 0x040055F0 RID: 22000
[Token(Token = "0x40055F0")]
WaitForRecycle,
// Token: 0x040055F1 RID: 22001
[Token(Token = "0x40055F1")]
Free,
// Token: 0x040055F2 RID: 22002
[Token(Token = "0x40055F2")]
AbortRequested,
// Token: 0x040055F3 RID: 22003
[Token(Token = "0x40055F3")]
TimedOut,
// Token: 0x040055F4 RID: 22004
[Token(Token = "0x40055F4")]
Closed
}
}
+975
View File
@@ -0,0 +1,975 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
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: 0x020012A1 RID: 4769
[Token(Token = "0x20012A1")]
[StructLayout(3)]
public static class HTTPManager
{
// Token: 0x060076AB RID: 30379 RVA: 0x001891B4 File Offset: 0x001873B4
[Token(Token = "0x60076AB")]
[Address(RVA = "0x1C909D0", Offset = "0x1C8F3D0", VA = "0x181C909D0")]
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: 0x17001329 RID: 4905
// (get) Token: 0x060076AC RID: 30380 RVA: 0x00189224 File Offset: 0x00187424
// (set) Token: 0x060076AD RID: 30381 RVA: 0x00189238 File Offset: 0x00187438
[Token(Token = "0x17001329")]
public static byte MaxConnectionPerServer
{
[Token(Token = "0x60076AC")]
[Address(RVA = "0x1C91690", Offset = "0x1C90090", VA = "0x181C91690")]
get
{
return HTTPManager.maxConnectionPerServer;
}
[Token(Token = "0x60076AD")]
[Address(RVA = "0x1C91DB0", Offset = "0x1C907B0", VA = "0x181C91DB0")]
set
{
HTTPManager.maxConnectionPerServer = value;
}
}
// Token: 0x1700132A RID: 4906
// (get) Token: 0x060076AE RID: 30382 RVA: 0x00189258 File Offset: 0x00187458
// (set) Token: 0x060076AF RID: 30383 RVA: 0x0018926C File Offset: 0x0018746C
[Token(Token = "0x1700132A")]
public static bool KeepAliveDefaultValue
{
[Token(Token = "0x60076AE")]
[Address(RVA = "0x1C91450", Offset = "0x1C8FE50", VA = "0x181C91450")]
get;
[Token(Token = "0x60076AF")]
[Address(RVA = "0x1C91C90", Offset = "0x1C90690", VA = "0x181C91C90")]
set;
}
// Token: 0x1700132B RID: 4907
// (get) Token: 0x060076B0 RID: 30384 RVA: 0x00189280 File Offset: 0x00187480
// (set) Token: 0x060076B1 RID: 30385 RVA: 0x00189294 File Offset: 0x00187494
[Token(Token = "0x1700132B")]
public static bool IsCachingDisabled
{
[Token(Token = "0x60076B0")]
[Address(RVA = "0x1C91330", Offset = "0x1C8FD30", VA = "0x181C91330")]
get;
[Token(Token = "0x60076B1")]
[Address(RVA = "0x1C91B70", Offset = "0x1C90570", VA = "0x181C91B70")]
set;
}
// Token: 0x1700132C RID: 4908
// (get) Token: 0x060076B2 RID: 30386 RVA: 0x001892A8 File Offset: 0x001874A8
// (set) Token: 0x060076B3 RID: 30387 RVA: 0x001892BC File Offset: 0x001874BC
[Token(Token = "0x1700132C")]
public static TimeSpan MaxConnectionIdleTime
{
[Token(Token = "0x60076B2")]
[Address(RVA = "0x1C91630", Offset = "0x1C90030", VA = "0x181C91630")]
get;
[Token(Token = "0x60076B3")]
[Address(RVA = "0x1C91D50", Offset = "0x1C90750", VA = "0x181C91D50")]
set;
}
// Token: 0x1700132D RID: 4909
// (get) Token: 0x060076B4 RID: 30388 RVA: 0x001892D0 File Offset: 0x001874D0
// (set) Token: 0x060076B5 RID: 30389 RVA: 0x001892E4 File Offset: 0x001874E4
[Token(Token = "0x1700132D")]
public static bool IsCookiesEnabled
{
[Token(Token = "0x60076B4")]
[Address(RVA = "0x1C91390", Offset = "0x1C8FD90", VA = "0x181C91390")]
get;
[Token(Token = "0x60076B5")]
[Address(RVA = "0x1C91BD0", Offset = "0x1C905D0", VA = "0x181C91BD0")]
set;
}
// Token: 0x1700132E RID: 4910
// (get) Token: 0x060076B6 RID: 30390 RVA: 0x001892F8 File Offset: 0x001874F8
// (set) Token: 0x060076B7 RID: 30391 RVA: 0x0018930C File Offset: 0x0018750C
[Token(Token = "0x1700132E")]
public static uint CookieJarSize
{
[Token(Token = "0x60076B6")]
[Address(RVA = "0x1C90FE0", Offset = "0x1C8F9E0", VA = "0x181C90FE0")]
get;
[Token(Token = "0x60076B7")]
[Address(RVA = "0x1C91990", Offset = "0x1C90390", VA = "0x181C91990")]
set;
}
// Token: 0x1700132F RID: 4911
// (get) Token: 0x060076B8 RID: 30392 RVA: 0x00189320 File Offset: 0x00187520
// (set) Token: 0x060076B9 RID: 30393 RVA: 0x00189334 File Offset: 0x00187534
[Token(Token = "0x1700132F")]
public static bool EnablePrivateBrowsing
{
[Token(Token = "0x60076B8")]
[Address(RVA = "0x1C91160", Offset = "0x1C8FB60", VA = "0x181C91160")]
get;
[Token(Token = "0x60076B9")]
[Address(RVA = "0x1C91B10", Offset = "0x1C90510", VA = "0x181C91B10")]
set;
}
// Token: 0x17001330 RID: 4912
// (get) Token: 0x060076BA RID: 30394 RVA: 0x00189348 File Offset: 0x00187548
// (set) Token: 0x060076BB RID: 30395 RVA: 0x0018935C File Offset: 0x0018755C
[Token(Token = "0x17001330")]
public static TimeSpan ConnectTimeout
{
[Token(Token = "0x60076BA")]
[Address(RVA = "0x1C90F80", Offset = "0x1C8F980", VA = "0x181C90F80")]
get;
[Token(Token = "0x60076BB")]
[Address(RVA = "0x1C91930", Offset = "0x1C90330", VA = "0x181C91930")]
set;
}
// Token: 0x17001331 RID: 4913
// (get) Token: 0x060076BC RID: 30396 RVA: 0x00189370 File Offset: 0x00187570
// (set) Token: 0x060076BD RID: 30397 RVA: 0x00189384 File Offset: 0x00187584
[Token(Token = "0x17001331")]
public static TimeSpan RequestTimeout
{
[Token(Token = "0x60076BC")]
[Address(RVA = "0x1C91810", Offset = "0x1C90210", VA = "0x181C91810")]
get;
[Token(Token = "0x60076BD")]
[Address(RVA = "0x1C91F60", Offset = "0x1C90960", VA = "0x181C91F60")]
set;
}
// Token: 0x17001332 RID: 4914
// (get) Token: 0x060076BE RID: 30398 RVA: 0x00189398 File Offset: 0x00187598
// (set) Token: 0x060076BF RID: 30399 RVA: 0x001893AC File Offset: 0x001875AC
[Token(Token = "0x17001332")]
public static Func<string> RootCacheFolderProvider
{
[Token(Token = "0x60076BE")]
[Address(RVA = "0x1C91870", Offset = "0x1C90270", VA = "0x181C91870")]
get;
[Token(Token = "0x60076BF")]
[Address(RVA = "0x1C91FC0", Offset = "0x1C909C0", VA = "0x181C91FC0")]
set;
}
// Token: 0x17001333 RID: 4915
// (get) Token: 0x060076C0 RID: 30400 RVA: 0x001893C0 File Offset: 0x001875C0
// (set) Token: 0x060076C1 RID: 30401 RVA: 0x001893D4 File Offset: 0x001875D4
[Token(Token = "0x17001333")]
public static Proxy Proxy
{
[Token(Token = "0x60076C0")]
[Address(RVA = "0x1C917B0", Offset = "0x1C901B0", VA = "0x181C917B0")]
get;
[Token(Token = "0x60076C1")]
[Address(RVA = "0x1C91F00", Offset = "0x1C90900", VA = "0x181C91F00")]
set;
}
// Token: 0x17001334 RID: 4916
// (get) Token: 0x060076C2 RID: 30402 RVA: 0x001893E8 File Offset: 0x001875E8
[Token(Token = "0x17001334")]
public static HeartbeatManager Heartbeats
{
[Token(Token = "0x60076C2")]
[Address(RVA = "0x1C911C0", Offset = "0x1C8FBC0", VA = "0x181C911C0")]
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: 0x17001335 RID: 4917
// (get) Token: 0x060076C3 RID: 30403 RVA: 0x00189428 File Offset: 0x00187628
// (set) Token: 0x060076C4 RID: 30404 RVA: 0x00189460 File Offset: 0x00187660
[Token(Token = "0x17001335")]
public static BestHTTP.Logger.ILogger Logger
{
[Token(Token = "0x60076C3")]
[Address(RVA = "0x1C914B0", Offset = "0x1C8FEB0", VA = "0x181C914B0")]
get
{
HTTPManager.logger = new DefaultLogger();
BestHTTP.Logger.ILogger logger = HTTPManager.logger;
int num = 0;
num += num;
num++;
return HTTPManager.logger;
}
[Token(Token = "0x60076C4")]
[Address(RVA = "0x1C91CF0", Offset = "0x1C906F0", VA = "0x181C91CF0")]
set
{
HTTPManager.logger = value;
}
}
// Token: 0x17001336 RID: 4918
// (get) Token: 0x060076C5 RID: 30405 RVA: 0x00189474 File Offset: 0x00187674
// (set) Token: 0x060076C6 RID: 30406 RVA: 0x00189488 File Offset: 0x00187688
[Token(Token = "0x17001336")]
public static ICertificateVerifyer DefaultCertificateVerifyer
{
[Token(Token = "0x60076C5")]
[Address(RVA = "0x1C91040", Offset = "0x1C8FA40", VA = "0x181C91040")]
get;
[Token(Token = "0x60076C6")]
[Address(RVA = "0x1C919F0", Offset = "0x1C903F0", VA = "0x181C919F0")]
set;
}
// Token: 0x17001337 RID: 4919
// (get) Token: 0x060076C7 RID: 30407 RVA: 0x0018949C File Offset: 0x0018769C
// (set) Token: 0x060076C8 RID: 30408 RVA: 0x001894B0 File Offset: 0x001876B0
[Token(Token = "0x17001337")]
public static IClientCredentialsProvider DefaultClientCredentialsProvider
{
[Token(Token = "0x60076C7")]
[Address(RVA = "0x1C91100", Offset = "0x1C8FB00", VA = "0x181C91100")]
get;
[Token(Token = "0x60076C8")]
[Address(RVA = "0x1C91AB0", Offset = "0x1C904B0", VA = "0x181C91AB0")]
set;
}
// Token: 0x17001338 RID: 4920
// (get) Token: 0x060076C9 RID: 30409 RVA: 0x001894C4 File Offset: 0x001876C4
// (set) Token: 0x060076CA RID: 30410 RVA: 0x001894D8 File Offset: 0x001876D8
[Token(Token = "0x17001338")]
public static bool UseAlternateSSLDefaultValue
{
[Token(Token = "0x60076C9")]
[Address(RVA = "0x1C918D0", Offset = "0x1C902D0", VA = "0x181C918D0")]
get;
[Token(Token = "0x60076CA")]
[Address(RVA = "0x1C92020", Offset = "0x1C90A20", VA = "0x181C92020")]
set;
}
// Token: 0x17001339 RID: 4921
// (get) Token: 0x060076CB RID: 30411 RVA: 0x001894EC File Offset: 0x001876EC
// (set) Token: 0x060076CC RID: 30412 RVA: 0x00189500 File Offset: 0x00187700
[Token(Token = "0x17001339")]
public static Func<HTTPRequest, X509Certificate, X509Chain, bool> DefaultCertificationValidator
{
[Token(Token = "0x60076CB")]
[Address(RVA = "0x1C910A0", Offset = "0x1C8FAA0", VA = "0x181C910A0")]
get;
[Token(Token = "0x60076CC")]
[Address(RVA = "0x1C91A50", Offset = "0x1C90450", VA = "0x181C91A50")]
set;
}
// Token: 0x1700133A RID: 4922
// (get) Token: 0x060076CD RID: 30413 RVA: 0x00189514 File Offset: 0x00187714
// (set) Token: 0x060076CE RID: 30414 RVA: 0x00189528 File Offset: 0x00187728
[Token(Token = "0x1700133A")]
public static Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x60076CD")]
[Address(RVA = "0x1C91750", Offset = "0x1C90150", VA = "0x181C91750")]
get;
[Token(Token = "0x60076CE")]
[Address(RVA = "0x1C91EA0", Offset = "0x1C908A0", VA = "0x181C91EA0")]
set;
}
// Token: 0x1700133B RID: 4923
// (get) Token: 0x060076CF RID: 30415 RVA: 0x0018953C File Offset: 0x0018773C
// (set) Token: 0x060076D0 RID: 30416 RVA: 0x00189550 File Offset: 0x00187750
[Token(Token = "0x1700133B")]
internal static int MaxPathLength
{
[Token(Token = "0x60076CF")]
[Address(RVA = "0x1C916F0", Offset = "0x1C900F0", VA = "0x181C916F0")]
get;
[Token(Token = "0x60076D0")]
[Address(RVA = "0x1C91E40", Offset = "0x1C90840", VA = "0x181C91E40")]
set;
}
// Token: 0x1700133C RID: 4924
// (get) Token: 0x060076D1 RID: 30417 RVA: 0x00189564 File Offset: 0x00187764
// (set) Token: 0x060076D2 RID: 30418 RVA: 0x00189578 File Offset: 0x00187778
[Token(Token = "0x1700133C")]
internal static bool IsQuitting
{
[Token(Token = "0x60076D1")]
[Address(RVA = "0x1C913F0", Offset = "0x1C8FDF0", VA = "0x181C913F0")]
get;
[Token(Token = "0x60076D2")]
[Address(RVA = "0x1C91C30", Offset = "0x1C90630", VA = "0x181C91C30")]
private set;
}
// Token: 0x060076D3 RID: 30419 RVA: 0x0018958C File Offset: 0x0018778C
[Token(Token = "0x60076D3")]
[Address(RVA = "0x1C8EAE0", Offset = "0x1C8D4E0", VA = "0x181C8EAE0")]
[BBKEDJMCLLL]
private static void InitializeOnLoad()
{
}
// Token: 0x060076D4 RID: 30420 RVA: 0x0018959C File Offset: 0x0018779C
[Token(Token = "0x60076D4")]
[Address(RVA = "0x1C90930", Offset = "0x1C8F330", VA = "0x181C90930")]
public static void Setup()
{
HTTPUpdateDelegator.CheckInstance();
HTTPCacheService.CheckSetup();
CookieJar.SetupFolder();
}
// Token: 0x060076D5 RID: 30421 RVA: 0x001895C0 File Offset: 0x001877C0
[Token(Token = "0x60076D5")]
[Address(RVA = "0x1C90480", Offset = "0x1C8EE80", VA = "0x181C90480")]
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: 0x060076D6 RID: 30422 RVA: 0x001895E4 File Offset: 0x001877E4
[Token(Token = "0x60076D6")]
[Address(RVA = "0x1C90530", Offset = "0x1C8EF30", VA = "0x181C90530")]
public static HTTPRequest SendRequest(string url, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
return HTTPManager.SendRequest(new HTTPRequest(new Uri(url), methodType, callback));
}
// Token: 0x060076D7 RID: 30423 RVA: 0x00189604 File Offset: 0x00187804
[Token(Token = "0x60076D7")]
[Address(RVA = "0x1C902F0", Offset = "0x1C8ECF0", VA = "0x181C902F0")]
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: 0x060076D8 RID: 30424 RVA: 0x0018962C File Offset: 0x0018782C
[Token(Token = "0x60076D8")]
[Address(RVA = "0x1C905F0", Offset = "0x1C8EFF0", VA = "0x181C905F0")]
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: 0x060076D9 RID: 30425 RVA: 0x00189648 File Offset: 0x00187848
[Token(Token = "0x60076D9")]
[Address(RVA = "0x1C906D0", Offset = "0x1C8F0D0", VA = "0x181C906D0")]
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);
if (num != -1)
{
}
}
while (num != 0);
return request;
}
// Token: 0x060076DA RID: 30426 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60076DA")]
[Address(RVA = "0x1C8E360", Offset = "0x1C8CD60", VA = "0x181C8E360")]
public static GeneralStatistics GetGeneralStatistics(StatisticsQueryFlags queryFlags)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060076DB RID: 30427 RVA: 0x001896A8 File Offset: 0x001878A8
[Token(Token = "0x60076DB")]
[Address(RVA = "0x1C900A0", Offset = "0x1C8EAA0", VA = "0x181C900A0")]
private static void SendRequestImpl(HTTPRequest request)
{
ConnectionBase connectionBase = HTTPManager.FindOrCreateFreeConnection(request);
ConnectionBase conn = connectionBase;
if (connectionBase == 0)
{
request.<State>k__BackingField = (HTTPRequestStates)((ulong)1L);
HTTPManager.RequestQueue.Add(request);
return;
}
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
Predicate<ConnectionBase> predicate = (ConnectionBase c) => c == conn;
if (activeConnections.Find(predicate) == 0)
{
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
ConnectionBase conn3 = conn;
activeConnections2.Add(conn3);
}
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
ConnectionBase conn2 = conn;
bool flag = freeConnections.Remove(conn2);
request.<State>k__BackingField = (HTTPRequestStates)((ulong)2L);
conn.Process(request);
throw new NullReferenceException();
}
// Token: 0x060076DC RID: 30428 RVA: 0x0018974C File Offset: 0x0018794C
[Token(Token = "0x60076DC")]
[Address(RVA = "0x1C8E6D0", Offset = "0x1C8D0D0", VA = "0x181C8E6D0")]
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: 0x060076DD RID: 30429 RVA: 0x00189838 File Offset: 0x00187A38
[Token(Token = "0x60076DD")]
[Address(RVA = "0x1C8DBC0", Offset = "0x1C8C5C0", VA = "0x181C8DBC0")]
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: 0x060076DE RID: 30430 RVA: 0x00189874 File Offset: 0x00187A74
[Token(Token = "0x60076DE")]
[Address(RVA = "0x1C8DC60", Offset = "0x1C8C660", VA = "0x181C8DC60")]
private static ConnectionBase FindOrCreateFreeConnection(HTTPRequest request)
{
int num = 0;
string keyForRequest = HTTPManager.GetKeyForRequest(request);
bool flag = HTTPManager.Connections.TryGetValue(keyForRequest, num);
if (!flag)
{
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
List<ConnectionBase> list = new List((int)HTTPManager.maxConnectionPerServer);
connections.Add(keyForRequest, list);
}
uint num2;
if (num < (flag ? 1 : 0))
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag2;
if (flag2)
{
num++;
}
num++;
num2 += (uint)8;
}
byte b = HTTPManager.maxConnectionPerServer;
if (num == 0)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag3;
bool flag4;
if (num != 0 && flag3 && flag4)
{
int num3 = 0;
if (!(num == num3))
{
if (request.<IsRedirected>k__BackingField)
{
}
string host = request.<Uri>k__BackingField.Host;
string text;
if (text.Equals(host, StringComparison.OrdinalIgnoreCase))
{
}
}
}
num++;
num2 += (uint)8;
while (num != 0)
{
}
if (num == 0)
{
byte b2 = HTTPManager.maxConnectionPerServer;
if (num < (int)b2)
{
if (request.<IsRedirected>k__BackingField)
{
}
if (!request.<Uri>k__BackingField.IsFile || Application.platform == RuntimePlatform.WebGLPlayer)
{
}
HTTPConnection httpconnection = new HTTPConnection(keyForRequest);
}
}
}
throw new NullReferenceException();
}
// Token: 0x060076DF RID: 30431 RVA: 0x0018997C File Offset: 0x00187B7C
[Token(Token = "0x60076DF")]
[Address(RVA = "0x1C8DAE0", Offset = "0x1C8C4E0", VA = "0x181C8DAE0")]
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: 0x060076E0 RID: 30432 RVA: 0x001899AC File Offset: 0x00187BAC
[Token(Token = "0x60076E0")]
[Address(RVA = "0x1C8FFB0", Offset = "0x1C8E9B0", VA = "0x181C8FFB0")]
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: 0x060076E1 RID: 30433 RVA: 0x001899E8 File Offset: 0x00187BE8
[Token(Token = "0x60076E1")]
[Address(RVA = "0x1C8EB80", Offset = "0x1C8D580", VA = "0x181C8EB80")]
private static void OnConnectionRecylced(ConnectionBase conn)
{
int num;
do
{
num = 0;
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
HTTPManager.RecycledConnections.Add(conn);
Monitor.Exit(recycledConnections);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x060076E2 RID: 30434 RVA: 0x00189A1C File Offset: 0x00187C1C
[Token(Token = "0x60076E2")]
[Address(RVA = "0x1C8E180", Offset = "0x1C8CB80", VA = "0x181C8E180")]
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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x060076E3 RID: 30435 RVA: 0x00189A60 File Offset: 0x00187C60
[Token(Token = "0x60076E3")]
[Address(RVA = "0x1C90020", Offset = "0x1C8EA20", VA = "0x181C90020")]
internal static bool RemoveFromQueue(HTTPRequest request)
{
return HTTPManager.RequestQueue.Remove(request);
}
// Token: 0x060076E4 RID: 30436 RVA: 0x00189A80 File Offset: 0x00187C80
[Token(Token = "0x60076E4")]
[Address(RVA = "0x1C8E930", Offset = "0x1C8D330", VA = "0x181C8E930")]
internal static string GetRootCacheFolder()
{
return HTTPManager.<RootCacheFolderProvider>k__BackingField();
}
// Token: 0x060076E5 RID: 30437 RVA: 0x00189AB4 File Offset: 0x00187CB4
[Token(Token = "0x60076E5")]
[Address(RVA = "0x1C8EEB0", Offset = "0x1C8D8B0", VA = "0x181C8EEB0")]
public static void OnUpdate()
{
for (;;)
{
int num = 0;
if (Monitor.TryEnter(HTTPManager.Locker))
{
List<ConnectionBase> activeConnections = HTTPManager.ActiveConnections;
List<ConnectionBase> activeConnections2 = HTTPManager.ActiveConnections;
bool flag = HTTPManager.<EnablePrivateBrowsing>k__BackingField;
if (flag <= true)
{
TimeSpan timeSpan = HTTPManager.<ConnectTimeout>k__BackingField;
bool flag2;
if (flag2)
{
}
TimeSpan timeSpan2 = HTTPManager.<ConnectTimeout>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
TimeSpan timeSpan3 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan4;
if (timeSpan4 > timeSpan3)
{
byte b = HTTPManager.maxConnectionPerServer;
}
num++;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
num++;
TimeSpan timeSpan5 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
num++;
TimeSpan timeSpan6 = HTTPManager.<ConnectTimeout>k__BackingField;
if (flag)
{
while (!flag)
{
}
}
TimeSpan timeSpan7 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan8 = HTTPManager.<ConnectTimeout>k__BackingField;
while (!flag)
{
}
while (!flag)
{
}
DateTime utcNow2 = DateTime.UtcNow;
TimeSpan timeSpan9;
TimeSpan timeSpan10;
if (timeSpan9 > timeSpan10)
{
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
TimeSpan timeSpan11 = HTTPManager.<ConnectTimeout>k__BackingField;
TimeSpan timeSpan12 = HTTPManager.<ConnectTimeout>k__BackingField;
}
num++;
BestHTTP.Logger.ILogger logger3 = HTTPManager.Logger;
TimeSpan timeSpan13 = HTTPManager.<ConnectTimeout>k__BackingField;
int num2 = 0;
if (num == -1)
{
goto IL_12A;
}
if (Monitor.TryEnter(HTTPManager.RecycledConnections))
{
List<ConnectionBase> recycledConnections = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections2 = HTTPManager.RecycledConnections;
List<ConnectionBase> recycledConnections3 = HTTPManager.RecycledConnections;
bool flag3;
if (flag3)
{
List<ConnectionBase> activeConnections3 = HTTPManager.ActiveConnections;
List<ConnectionBase> freeConnections = HTTPManager.FreeConnections;
}
num2++;
goto IL_12A;
}
goto IL_154;
IL_18E:
if (typeof(HTTPManager).TypeHandle != 0)
{
goto IL_31C;
}
List<HTTPRequest> requestQueue = HTTPManager.RequestQueue;
List<HTTPRequest> requestQueue2 = HTTPManager.RequestQueue;
ConnectionBase connectionBase;
int num3;
if (connectionBase == 0)
{
num3++;
}
List<HTTPRequest> requestQueue3 = HTTPManager.RequestQueue;
Predicate<HTTPRequest> predicate;
if (HTTPManager.<>c.<>9__109_0 == 0)
{
predicate = delegate(HTTPRequest req)
{
throw new NullReferenceException();
};
HTTPManager.<>c.<>9__109_0 = predicate;
}
if (requestQueue3.Find(predicate) != 0)
{
List<HTTPRequest> requestQueue4 = HTTPManager.RequestQueue;
Comparison<HTTPRequest> comparison;
if (HTTPManager.<>c.<>9__109_1 == 0)
{
comparison = (HTTPRequest req1, HTTPRequest req2) => req1.<Priority>k__BackingField;
HTTPManager.<>c.<>9__109_1 = comparison;
}
requestQueue4.Sort(comparison);
}
HTTPRequest[] array = HTTPManager.RequestQueue.ToArray();
HTTPManager.RequestQueue.Clear();
if (num3 < array.Length)
{
HTTPRequest httprequest = HTTPManager.SendRequest(array[num3]);
num3++;
}
num++;
Monitor.Exit(HTTPManager.Locker);
if (num != -1)
{
}
if (num == 0)
{
break;
}
continue;
IL_12A:
if (typeof(HTTPManager).TypeHandle != 0)
{
goto IL_2F2;
}
HTTPManager.RecycledConnections.Clear();
num++;
num3 = 0;
Monitor.Exit(HTTPManager.RecycledConnections);
if (num == -1)
{
goto IL_18E;
}
IL_154:
List<ConnectionBase> freeConnections2 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections3 = HTTPManager.FreeConnections;
List<ConnectionBase> freeConnections4 = HTTPManager.FreeConnections;
byte b2 = HTTPManager.maxConnectionPerServer;
Dictionary<string, List<ConnectionBase>> connections = HTTPManager.Connections;
bool flag4;
if (flag4)
{
}
HTTPManager.FreeConnections.RemoveAt(num3);
num3++;
goto IL_18E;
}
break;
}
HTTPManager.heartbeats.Update();
VariableSizedBufferPool.Maintain();
return;
IL_2F2:
throw new NullReferenceException();
IL_31C:
throw new NullReferenceException();
}
// Token: 0x060076E6 RID: 30438 RVA: 0x00189E38 File Offset: 0x00188038
[Token(Token = "0x60076E6")]
[Address(RVA = "0x1C8ECE0", Offset = "0x1C8D6E0", VA = "0x181C8ECE0")]
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);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x060076E7 RID: 30439 RVA: 0x00189E78 File Offset: 0x00188078
[Token(Token = "0x60076E7")]
[Address(RVA = "0x1C8D5F0", Offset = "0x1C8BFF0", VA = "0x181C8D5F0")]
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;
Dictionary.Enumerator enumerator;
if (enumerator != 0)
{
List.Enumerator enumerator2;
if (enumerator2 == 0 || enumerator2 != 0)
{
}
if (0UL != (ulong)(-1L))
{
}
if (0 != 0)
{
goto IL_A3;
}
}
if (0UL != (ulong)(-1L))
{
HTTPManager.Connections.Clear();
}
if (0 != 0)
{
goto IL_B5;
}
if (0UL != (ulong)(-1L))
{
}
}
while (0 != 0);
return;
IL_A3:
throw new NullReferenceException();
IL_B5:
throw new NullReferenceException();
}
// Token: 0x040055F5 RID: 22005
[Token(Token = "0x40055F5")]
private static byte maxConnectionPerServer;
// Token: 0x04005600 RID: 22016
[Token(Token = "0x4005600")]
private static HeartbeatManager heartbeats;
// Token: 0x04005601 RID: 22017
[Token(Token = "0x4005601")]
private static BestHTTP.Logger.ILogger logger;
// Token: 0x04005607 RID: 22023
[Token(Token = "0x4005607")]
public static bool TryToMinimizeTCPLatency;
// Token: 0x04005608 RID: 22024
[Token(Token = "0x4005608")]
public static int SendBufferSize;
// Token: 0x04005609 RID: 22025
[Token(Token = "0x4005609")]
public static int ReceiveBufferSize;
// Token: 0x0400560A RID: 22026
[Token(Token = "0x400560A")]
public static IIOService IOService;
// Token: 0x0400560C RID: 22028
[Token(Token = "0x400560C")]
private static Dictionary<string, List<ConnectionBase>> Connections = new Dictionary();
// Token: 0x0400560D RID: 22029
[Token(Token = "0x400560D")]
private static List<ConnectionBase> ActiveConnections = new List();
// Token: 0x0400560E RID: 22030
[Token(Token = "0x400560E")]
private static List<ConnectionBase> FreeConnections = new List();
// Token: 0x0400560F RID: 22031
[Token(Token = "0x400560F")]
private static List<ConnectionBase> RecycledConnections = new List();
// Token: 0x04005610 RID: 22032
[Token(Token = "0x4005610")]
private static List<HTTPRequest> RequestQueue = new List();
// Token: 0x04005611 RID: 22033
[Token(Token = "0x4005611")]
private static bool IsCallingCallbacks;
// Token: 0x04005612 RID: 22034
[Token(Token = "0x4005612")]
internal static object Locker = new object();
}
}
+37
View File
@@ -0,0 +1,37 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012A4 RID: 4772
[Token(Token = "0x20012A4")]
[StructLayout(3, Size = 1)]
public enum HTTPMethods : byte
{
// Token: 0x04005619 RID: 22041
[Token(Token = "0x4005619")]
Get,
// Token: 0x0400561A RID: 22042
[Token(Token = "0x400561A")]
Head,
// Token: 0x0400561B RID: 22043
[Token(Token = "0x400561B")]
Post,
// Token: 0x0400561C RID: 22044
[Token(Token = "0x400561C")]
Put,
// Token: 0x0400561D RID: 22045
[Token(Token = "0x400561D")]
Delete,
// Token: 0x0400561E RID: 22046
[Token(Token = "0x400561E")]
Patch,
// Token: 0x0400561F RID: 22047
[Token(Token = "0x400561F")]
Merge,
// Token: 0x04005620 RID: 22048
[Token(Token = "0x4005620")]
Options
}
}
@@ -0,0 +1,98 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012A6 RID: 4774
[Token(Token = "0x20012A6")]
[StructLayout(3)]
public static class HTTPProtocolFactory
{
// Token: 0x060076EE RID: 30446 RVA: 0x00189FDC File Offset: 0x001881DC
[Token(Token = "0x60076EE")]
[Address(RVA = "0x1C926D0", Offset = "0x1C910D0", VA = "0x181C926D0")]
public static HTTPResponse Get(SupportedProtocols protocol, HTTPRequest request, Stream stream, bool isStreamed, bool isFromCache)
{
/*
An exception occurred when decompiling this method (060076EE)
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: 0x060076EF RID: 30447 RVA: 0x00189FFC File Offset: 0x001881FC
[Token(Token = "0x60076EF")]
[Address(RVA = "0x1C925C0", Offset = "0x1C90FC0", VA = "0x181C925C0")]
public static SupportedProtocols GetProtocolFromUri(Uri uri)
{
/*
An exception occurred when decompiling this method (060076EF)
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: 0x060076F0 RID: 30448 RVA: 0x0018A054 File Offset: 0x00188254
[Token(Token = "0x60076F0")]
[Address(RVA = "0x1C92830", Offset = "0x1C91230", VA = "0x181C92830")]
public static bool IsSecureProtocol(Uri uri)
{
/*
An exception occurred when decompiling this method (060076F0)
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
*/;
}
}
}
+358
View File
@@ -0,0 +1,358 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012A8 RID: 4776
[Token(Token = "0x20012A8")]
[StructLayout(3)]
public sealed class HTTPProxy : Proxy
{
// Token: 0x1700133F RID: 4927
// (get) Token: 0x060076F8 RID: 30456 RVA: 0x0018A124 File Offset: 0x00188324
// (set) Token: 0x060076F9 RID: 30457 RVA: 0x0018A138 File Offset: 0x00188338
[Token(Token = "0x1700133F")]
public bool IsTransparent
{
[Token(Token = "0x60076F8")]
[Address(RVA = "0x4F5370", Offset = "0x4F3D70", VA = "0x1804F5370")]
get;
[Token(Token = "0x60076F9")]
[Address(RVA = "0x4F5390", Offset = "0x4F3D90", VA = "0x1804F5390")]
set;
}
// Token: 0x17001340 RID: 4928
// (get) Token: 0x060076FA RID: 30458 RVA: 0x0018A14C File Offset: 0x0018834C
// (set) Token: 0x060076FB RID: 30459 RVA: 0x0018A160 File Offset: 0x00188360
[Token(Token = "0x17001340")]
public bool SendWholeUri
{
[Token(Token = "0x60076FA")]
[Address(RVA = "0x5C5EB0", Offset = "0x5C48B0", VA = "0x1805C5EB0")]
get;
[Token(Token = "0x60076FB")]
[Address(RVA = "0x60FB10", Offset = "0x60E510", VA = "0x18060FB10")]
set;
}
// Token: 0x17001341 RID: 4929
// (get) Token: 0x060076FC RID: 30460 RVA: 0x0018A174 File Offset: 0x00188374
// (set) Token: 0x060076FD RID: 30461 RVA: 0x0018A188 File Offset: 0x00188388
[Token(Token = "0x17001341")]
public bool NonTransparentForHTTPS
{
[Token(Token = "0x60076FC")]
[Address(RVA = "0x72A810", Offset = "0x729210", VA = "0x18072A810")]
get;
[Token(Token = "0x60076FD")]
[Address(RVA = "0x72AA50", Offset = "0x729450", VA = "0x18072AA50")]
set;
}
// Token: 0x060076FE RID: 30462 RVA: 0x0018A19C File Offset: 0x0018839C
[Token(Token = "0x60076FE")]
[Address(RVA = "0x1C93B90", Offset = "0x1C92590", VA = "0x181C93B90")]
public HTTPProxy(Uri address)
{
int num = 0;
base..ctor(address, num);
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x060076FF RID: 30463 RVA: 0x0018A1C4 File Offset: 0x001883C4
[Token(Token = "0x60076FF")]
[Address(RVA = "0x1C93C00", Offset = "0x1C92600", VA = "0x181C93C00")]
public HTTPProxy(Uri address, Credentials credentials)
: base(address, credentials)
{
this.IsTransparent = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x06007700 RID: 30464 RVA: 0x0018A1E8 File Offset: 0x001883E8
[Token(Token = "0x6007700")]
[Address(RVA = "0x1C93C70", Offset = "0x1C92670", VA = "0x181C93C70")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = true;
}
// Token: 0x06007701 RID: 30465 RVA: 0x0018A20C File Offset: 0x0018840C
[Token(Token = "0x6007701")]
[Address(RVA = "0x1C93C30", Offset = "0x1C92630", VA = "0x181C93C30")]
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri)
: base(address, credentials)
{
this.IsTransparent = isTransparent;
this.SendWholeUri = false;
this.NonTransparentForHTTPS = true;
}
// Token: 0x06007702 RID: 30466 RVA: 0x0018A238 File Offset: 0x00188438
[Token(Token = "0x6007702")]
[Address(RVA = "0x1C93BC0", Offset = "0x1C925C0", VA = "0x181C93BC0")]
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: 0x06007703 RID: 30467 RVA: 0x0018A264 File Offset: 0x00188464
[Token(Token = "0x6007703")]
[Address(RVA = "0x1C93AC0", Offset = "0x1C924C0", VA = "0x181C93AC0", 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: 0x06007704 RID: 30468 RVA: 0x0018A298 File Offset: 0x00188498
[Token(Token = "0x6007704")]
[Address(RVA = "0x1C92930", Offset = "0x1C91330", VA = "0x181C92930", 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 text = string.Format("CONNECT {0}:{1} HTTP/1.1", host, port);
ILogger logger = HTTPManager.Logger;
int num2 = 0;
string text2 = "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 text3 = string.Format("Host: {0}:{1}", host2, port2);
if (num < text3.m_stringLength)
{
char c4 = text3[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 text4;
if (DigestStore.Get(num) != 0 && text4 == 0)
{
string text5 = string.Format("Proxy-Authorization: {0}", text4);
if (HTTPManager.Logger <= (ulong)1L)
{
ILogger logger2 = HTTPManager.Logger;
string text6 = "Sending proxy authorization header: " + text5;
}
byte[] asciibytes = text5.GetASCIIBytes();
binaryWriter.Write(asciibytes);
byte[] eol5 = HTTPRequest.EOL;
binaryWriter.Write(eol5);
VariableSizedBufferPool.Release(asciibytes);
goto IL_227;
}
goto IL_227;
IL_31E:
HTTPResponse <ProxyResponse>k__BackingField = request.<ProxyResponse>k__BackingField;
int num3 = <ProxyResponse>k__BackingField.<StatusCode>k__BackingField;
if (num3 != 407)
{
int num4 = <ProxyResponse>k__BackingField.<StatusCode>k__BackingField;
if (num3 > 99)
{
if (num4 != 304)
{
goto IL_45F;
}
num4 += num4;
num3 += 13;
num3 += 19;
}
}
string text7 = DigestStore.FindBest(<ProxyResponse>k__BackingField.GetHeaderValues("proxy-authenticate"));
if (text7 != 0)
{
goto IL_4F7;
}
Digest digest;
digest.ParseChallange(text7);
bool flag2;
if (!flag2)
{
goto IL_4F7;
}
Dictionary<string, List<string>> <Headers>k__BackingField = request.<Headers>k__BackingField;
while (<Headers>k__BackingField == 0)
{
}
if (!<Headers>k__BackingField.ContainsKey("Proxy-Authorization"))
{
continue;
}
if (!digest.<Stale>k__BackingField)
{
goto IL_4F7;
}
if (binaryWriter != 0)
{
}
if (digest != (ulong)(-1L))
{
}
if (num != 0)
{
continue;
}
ILogger logger3;
if (logger3 != 0)
{
}
if (digest != (ulong)(-1L))
{
}
if (num == 0)
{
break;
}
continue;
IL_227:
byte[] eol6 = HTTPRequest.EOL;
binaryWriter.Write(eol6);
HTTPResponse httpresponse;
request.<ProxyResponse>k__BackingField = httpresponse;
httpresponse.Dispose();
ILogger logger4 = HTTPManager.Logger;
ulong num5;
if ((ulong)num < num5)
{
num += num;
num++;
}
int num6 = 0;
if (num > 1)
{
goto IL_31E;
}
logger3 = HTTPManager.Logger;
object[] array = new object[6];
if ("Proxy returned - status code: " != 0)
{
goto IL_281;
}
IL_2DC:
if (request.<ProxyResponse>k__BackingField.<StatusCode>k__BackingField != 0)
{
}
if (" message: " != 0)
{
}
if (request.<ProxyResponse>k__BackingField.<Message>k__BackingField != 0)
{
}
if (" Body: " != 0)
{
}
if (request.<ProxyResponse>k__BackingField.DataAsText != 0)
{
}
num += num;
num++;
goto IL_31E;
IL_281:
int num7 = 0;
Encoding utf2 = Encoding.UTF8;
string text8 = num7 + ":" + num6;
string text10;
string text9 = "Basic " + text10;
byte[] asciibytes2 = string.Format("Proxy-Authorization: {0}", text9).GetASCIIBytes();
binaryWriter.Write(asciibytes2);
byte[] array2 = HTTPRequest.EOL;
binaryWriter.Write(array2);
array2 += array2;
goto IL_2DC;
}
break;
}
return;
IL_45F:
throw new NullReferenceException();
IL_4F7:
throw new NullReferenceException();
}
}
}
+131
View File
@@ -0,0 +1,131 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012A9 RID: 4777
[Token(Token = "0x20012A9")]
[StructLayout(3)]
public sealed class HTTPRange
{
// Token: 0x17001342 RID: 4930
// (get) Token: 0x06007705 RID: 30469 RVA: 0x0018A888 File Offset: 0x00188A88
// (set) Token: 0x06007706 RID: 30470 RVA: 0x0018A89C File Offset: 0x00188A9C
[Token(Token = "0x17001342")]
public int FirstBytePos
{
[Token(Token = "0x6007705")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
get;
[Token(Token = "0x6007706")]
[Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")]
private set;
}
// Token: 0x17001343 RID: 4931
// (get) Token: 0x06007707 RID: 30471 RVA: 0x0018A8B0 File Offset: 0x00188AB0
// (set) Token: 0x06007708 RID: 30472 RVA: 0x0018A8C4 File Offset: 0x00188AC4
[Token(Token = "0x17001343")]
public int LastBytePos
{
[Token(Token = "0x6007707")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")]
get;
[Token(Token = "0x6007708")]
[Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")]
private set;
}
// Token: 0x17001344 RID: 4932
// (get) Token: 0x06007709 RID: 30473 RVA: 0x0018A8D8 File Offset: 0x00188AD8
// (set) Token: 0x0600770A RID: 30474 RVA: 0x0018A8EC File Offset: 0x00188AEC
[Token(Token = "0x17001344")]
public int ContentLength
{
[Token(Token = "0x6007709")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
get;
[Token(Token = "0x600770A")]
[Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")]
private set;
}
// Token: 0x17001345 RID: 4933
// (get) Token: 0x0600770B RID: 30475 RVA: 0x0018A900 File Offset: 0x00188B00
// (set) Token: 0x0600770C RID: 30476 RVA: 0x0018A914 File Offset: 0x00188B14
[Token(Token = "0x17001345")]
public bool IsValid
{
[Token(Token = "0x600770B")]
[Address(RVA = "0xF123F0", Offset = "0xF10DF0", VA = "0x180F123F0")]
get;
[Token(Token = "0x600770C")]
[Address(RVA = "0xF12400", Offset = "0xF10E00", VA = "0x180F12400")]
private set;
}
// Token: 0x0600770D RID: 30477 RVA: 0x0018A928 File Offset: 0x00188B28
[Token(Token = "0x600770D")]
[Address(RVA = "0x1C93F30", Offset = "0x1C92930", VA = "0x181C93F30")]
internal HTTPRange()
{
this.ContentLength = (int)((ulong)4294967295L);
this.IsValid = false;
}
// Token: 0x0600770E RID: 30478 RVA: 0x0018A954 File Offset: 0x00188B54
[Token(Token = "0x600770E")]
[Address(RVA = "0x1C93EA0", Offset = "0x1C928A0", VA = "0x181C93EA0")]
internal HTTPRange(int contentLength)
{
this.ContentLength = contentLength;
this.IsValid = false;
}
// Token: 0x0600770F RID: 30479 RVA: 0x0018A978 File Offset: 0x00188B78
[Token(Token = "0x600770F")]
[Address(RVA = "0x1C93ED0", Offset = "0x1C928D0", VA = "0x181C93ED0")]
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: 0x06007710 RID: 30480 RVA: 0x0018A9B0 File Offset: 0x00188BB0
[Token(Token = "0x6007710")]
[Address(RVA = "0x1C93CA0", Offset = "0x1C926A0", VA = "0x181C93CA0", 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);
}
}
}
+2254
View File
@@ -0,0 +1,2254 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
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 Org.BouncyCastle.Crypto.Tls;
namespace BestHTTP
{
// Token: 0x020012B1 RID: 4785
[Token(Token = "0x20012B1")]
[StructLayout(3)]
public sealed class HTTPRequest : IEnumerator, IEnumerator<HTTPRequest>, IDisposable
{
// Token: 0x17001346 RID: 4934
// (get) Token: 0x06007729 RID: 30505 RVA: 0x0018AF78 File Offset: 0x00189178
// (set) Token: 0x0600772A RID: 30506 RVA: 0x0018AF8C File Offset: 0x0018918C
[Token(Token = "0x17001346")]
public Uri Uri
{
[Token(Token = "0x6007729")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x600772A")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
set;
}
// Token: 0x17001347 RID: 4935
// (get) Token: 0x0600772B RID: 30507 RVA: 0x0018AFA0 File Offset: 0x001891A0
// (set) Token: 0x0600772C RID: 30508 RVA: 0x0018AFB4 File Offset: 0x001891B4
[Token(Token = "0x17001347")]
public HTTPMethods MethodType
{
[Token(Token = "0x600772B")]
[Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40")]
get;
[Token(Token = "0x600772C")]
[Address(RVA = "0x55D5F0", Offset = "0x55BFF0", VA = "0x18055D5F0")]
set;
}
// Token: 0x17001348 RID: 4936
// (get) Token: 0x0600772D RID: 30509 RVA: 0x0018AFC8 File Offset: 0x001891C8
// (set) Token: 0x0600772E RID: 30510 RVA: 0x0018AFDC File Offset: 0x001891DC
[Token(Token = "0x17001348")]
public byte[] RawData
{
[Token(Token = "0x600772D")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x600772E")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
set;
}
// Token: 0x17001349 RID: 4937
// (get) Token: 0x0600772F RID: 30511 RVA: 0x0018AFF0 File Offset: 0x001891F0
// (set) Token: 0x06007730 RID: 30512 RVA: 0x0018B004 File Offset: 0x00189204
[Token(Token = "0x17001349")]
public Stream UploadStream
{
[Token(Token = "0x600772F")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
get;
[Token(Token = "0x6007730")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270")]
set;
}
// Token: 0x1700134A RID: 4938
// (get) Token: 0x06007731 RID: 30513 RVA: 0x0018B018 File Offset: 0x00189218
// (set) Token: 0x06007732 RID: 30514 RVA: 0x0018B02C File Offset: 0x0018922C
[Token(Token = "0x1700134A")]
public bool DisposeUploadStream
{
[Token(Token = "0x6007731")]
[Address(RVA = "0x4CB2D0", Offset = "0x4C9CD0", VA = "0x1804CB2D0")]
get;
[Token(Token = "0x6007732")]
[Address(RVA = "0x4CB340", Offset = "0x4C9D40", VA = "0x1804CB340")]
set;
}
// Token: 0x1700134B RID: 4939
// (get) Token: 0x06007733 RID: 30515 RVA: 0x0018B040 File Offset: 0x00189240
// (set) Token: 0x06007734 RID: 30516 RVA: 0x0018B054 File Offset: 0x00189254
[Token(Token = "0x1700134B")]
public bool UseUploadStreamLength
{
[Token(Token = "0x6007733")]
[Address(RVA = "0x727170", Offset = "0x725B70", VA = "0x180727170")]
get;
[Token(Token = "0x6007734")]
[Address(RVA = "0x7273B0", Offset = "0x725DB0", VA = "0x1807273B0")]
set;
}
// Token: 0x1700134C RID: 4940
// (get) Token: 0x06007735 RID: 30517 RVA: 0x0018B068 File Offset: 0x00189268
// (set) Token: 0x06007736 RID: 30518 RVA: 0x0018B07C File Offset: 0x0018927C
[Token(Token = "0x1700134C")]
public bool IsKeepAlive
{
[Token(Token = "0x6007735")]
[Address(RVA = "0x1C984B0", Offset = "0x1C96EB0", VA = "0x181C984B0")]
get
{
return this.isKeepAlive;
}
[Token(Token = "0x6007736")]
[Address(RVA = "0x1C988C0", Offset = "0x1C972C0", VA = "0x181C988C0")]
set
{
/*
An exception occurred when decompiling this method (06007736)
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: 0x1700134D RID: 4941
// (get) Token: 0x06007737 RID: 30519 RVA: 0x0018B0A4 File Offset: 0x001892A4
// (set) Token: 0x06007738 RID: 30520 RVA: 0x0018B0B8 File Offset: 0x001892B8
[Token(Token = "0x1700134D")]
public bool DisableCache
{
[Token(Token = "0x6007737")]
[Address(RVA = "0x1633650", Offset = "0x1632050", VA = "0x181633650")]
get
{
return this.disableCache;
}
[Token(Token = "0x6007738")]
[Address(RVA = "0x1C98820", Offset = "0x1C97220", VA = "0x181C98820")]
set
{
/*
An exception occurred when decompiling this method (06007738)
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: 0x1700134E RID: 4942
// (get) Token: 0x06007739 RID: 30521 RVA: 0x0018B0E0 File Offset: 0x001892E0
// (set) Token: 0x0600773A RID: 30522 RVA: 0x0018B0F4 File Offset: 0x001892F4
[Token(Token = "0x1700134E")]
public bool CacheOnly
{
[Token(Token = "0x6007739")]
[Address(RVA = "0x1C98400", Offset = "0x1C96E00", VA = "0x181C98400")]
get
{
return this.cacheOnly;
}
[Token(Token = "0x600773A")]
[Address(RVA = "0x1C987A0", Offset = "0x1C971A0", VA = "0x181C987A0")]
set
{
/*
An exception occurred when decompiling this method (0600773A)
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: 0x1700134F RID: 4943
// (get) Token: 0x0600773B RID: 30523 RVA: 0x0018B11C File Offset: 0x0018931C
// (set) Token: 0x0600773C RID: 30524 RVA: 0x0018B130 File Offset: 0x00189330
[Token(Token = "0x1700134F")]
public bool UseStreaming
{
[Token(Token = "0x600773B")]
[Address(RVA = "0x6A8C40", Offset = "0x6A7640", VA = "0x1806A8C40")]
get
{
return this.useStreaming;
}
[Token(Token = "0x600773C")]
[Address(RVA = "0x1C98A10", Offset = "0x1C97410", VA = "0x181C98A10")]
set
{
/*
An exception occurred when decompiling this method (0600773C)
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: 0x17001350 RID: 4944
// (get) Token: 0x0600773D RID: 30525 RVA: 0x0018B158 File Offset: 0x00189358
// (set) Token: 0x0600773E RID: 30526 RVA: 0x0018B16C File Offset: 0x0018936C
[Token(Token = "0x17001350")]
public int StreamFragmentSize
{
[Token(Token = "0x600773D")]
[Address(RVA = "0x3E2510", Offset = "0x3E0F10", VA = "0x1803E2510")]
get
{
return this.streamFragmentSize;
}
[Token(Token = "0x600773E")]
[Address(RVA = "0x1C98950", Offset = "0x1C97350", VA = "0x181C98950")]
set
{
/*
An exception occurred when decompiling this method (0600773E)
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: 0x17001351 RID: 4945
// (get) Token: 0x0600773F RID: 30527 RVA: 0x0018B194 File Offset: 0x00189394
// (set) Token: 0x06007740 RID: 30528 RVA: 0x0018B1A8 File Offset: 0x001893A8
[Token(Token = "0x17001351")]
public int MaxFragmentQueueLength
{
[Token(Token = "0x600773F")]
[Address(RVA = "0x446CA0", Offset = "0x4456A0", VA = "0x180446CA0")]
get;
[Token(Token = "0x6007740")]
[Address(RVA = "0x4564B0", Offset = "0x454EB0", VA = "0x1804564B0")]
set;
}
// Token: 0x17001352 RID: 4946
// (get) Token: 0x06007741 RID: 30529 RVA: 0x0018B1BC File Offset: 0x001893BC
// (set) Token: 0x06007742 RID: 30530 RVA: 0x0018B1D0 File Offset: 0x001893D0
[Token(Token = "0x17001352")]
public OnRequestFinishedDelegate Callback
{
[Token(Token = "0x6007741")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get;
[Token(Token = "0x6007742")]
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")]
set;
}
// Token: 0x17001353 RID: 4947
// (get) Token: 0x06007743 RID: 30531 RVA: 0x0018B1E4 File Offset: 0x001893E4
// (set) Token: 0x06007744 RID: 30532 RVA: 0x0018B1F8 File Offset: 0x001893F8
[Token(Token = "0x17001353")]
public bool DisableRetry
{
[Token(Token = "0x6007743")]
[Address(RVA = "0x5682D0", Offset = "0x566CD0", VA = "0x1805682D0")]
get;
[Token(Token = "0x6007744")]
[Address(RVA = "0xA4F860", Offset = "0xA4E260", VA = "0x180A4F860")]
set;
}
// Token: 0x17001354 RID: 4948
// (get) Token: 0x06007745 RID: 30533 RVA: 0x0018B20C File Offset: 0x0018940C
// (set) Token: 0x06007746 RID: 30534 RVA: 0x0018B220 File Offset: 0x00189420
[Token(Token = "0x17001354")]
public bool IsRedirected
{
[Token(Token = "0x6007745")]
[Address(RVA = "0x568290", Offset = "0x566C90", VA = "0x180568290")]
get;
[Token(Token = "0x6007746")]
[Address(RVA = "0x5685C0", Offset = "0x566FC0", VA = "0x1805685C0")]
internal set;
}
// Token: 0x17001355 RID: 4949
// (get) Token: 0x06007747 RID: 30535 RVA: 0x0018B234 File Offset: 0x00189434
// (set) Token: 0x06007748 RID: 30536 RVA: 0x0018B248 File Offset: 0x00189448
[Token(Token = "0x17001355")]
public Uri RedirectUri
{
[Token(Token = "0x6007747")]
[Address(RVA = "0x48F050", Offset = "0x48DA50", VA = "0x18048F050")]
get;
[Token(Token = "0x6007748")]
[Address(RVA = "0x52F860", Offset = "0x52E260", VA = "0x18052F860")]
internal set;
}
// Token: 0x17001356 RID: 4950
// (get) Token: 0x06007749 RID: 30537 RVA: 0x0018B25C File Offset: 0x0018945C
[Token(Token = "0x17001356")]
public Uri CurrentUri
{
[Token(Token = "0x6007749")]
[Address(RVA = "0x1C98480", Offset = "0x1C96E80", VA = "0x181C98480")]
get
{
if (this.<IsRedirected>k__BackingField)
{
return this.<RedirectUri>k__BackingField;
}
return this.<Uri>k__BackingField;
}
}
// Token: 0x17001357 RID: 4951
// (get) Token: 0x0600774A RID: 30538 RVA: 0x0018B280 File Offset: 0x00189480
// (set) Token: 0x0600774B RID: 30539 RVA: 0x0018B294 File Offset: 0x00189494
[Token(Token = "0x17001357")]
public HTTPResponse Response
{
[Token(Token = "0x600774A")]
[Address(RVA = "0x4D2570", Offset = "0x4D0F70", VA = "0x1804D2570")]
get;
[Token(Token = "0x600774B")]
[Address(RVA = "0x7D4760", Offset = "0x7D3160", VA = "0x1807D4760")]
internal set;
}
// Token: 0x17001358 RID: 4952
// (get) Token: 0x0600774C RID: 30540 RVA: 0x0018B2A8 File Offset: 0x001894A8
// (set) Token: 0x0600774D RID: 30541 RVA: 0x0018B2BC File Offset: 0x001894BC
[Token(Token = "0x17001358")]
public HTTPResponse ProxyResponse
{
[Token(Token = "0x600774C")]
[Address(RVA = "0x501250", Offset = "0x4FFC50", VA = "0x180501250")]
get;
[Token(Token = "0x600774D")]
[Address(RVA = "0x52F850", Offset = "0x52E250", VA = "0x18052F850")]
internal set;
}
// Token: 0x17001359 RID: 4953
// (get) Token: 0x0600774E RID: 30542 RVA: 0x0018B2D0 File Offset: 0x001894D0
// (set) Token: 0x0600774F RID: 30543 RVA: 0x0018B2E4 File Offset: 0x001894E4
[Token(Token = "0x17001359")]
public Exception Exception
{
[Token(Token = "0x600774E")]
[Address(RVA = "0x52F5A0", Offset = "0x52DFA0", VA = "0x18052F5A0")]
get;
[Token(Token = "0x600774F")]
[Address(RVA = "0x52F840", Offset = "0x52E240", VA = "0x18052F840")]
internal set;
}
// Token: 0x1700135A RID: 4954
// (get) Token: 0x06007750 RID: 30544 RVA: 0x0018B2F8 File Offset: 0x001894F8
// (set) Token: 0x06007751 RID: 30545 RVA: 0x0018B30C File Offset: 0x0018950C
[Token(Token = "0x1700135A")]
public object Tag
{
[Token(Token = "0x6007750")]
[Address(RVA = "0x6361F0", Offset = "0x634BF0", VA = "0x1806361F0")]
get;
[Token(Token = "0x6007751")]
[Address(RVA = "0x636220", Offset = "0x634C20", VA = "0x180636220")]
set;
}
// Token: 0x1700135B RID: 4955
// (get) Token: 0x06007752 RID: 30546 RVA: 0x0018B320 File Offset: 0x00189520
// (set) Token: 0x06007753 RID: 30547 RVA: 0x0018B334 File Offset: 0x00189534
[Token(Token = "0x1700135B")]
public Credentials Credentials
{
[Token(Token = "0x6007752")]
[Address(RVA = "0x4BD780", Offset = "0x4BC180", VA = "0x1804BD780")]
get;
[Token(Token = "0x6007753")]
[Address(RVA = "0x58B330", Offset = "0x589D30", VA = "0x18058B330")]
set;
}
// Token: 0x1700135C RID: 4956
// (get) Token: 0x06007754 RID: 30548 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x1700135C")]
public bool HasProxy
{
[Token(Token = "0x6007754")]
[Address(RVA = "0x1C98490", Offset = "0x1C96E90", VA = "0x181C98490")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700135D RID: 4957
// (get) Token: 0x06007755 RID: 30549 RVA: 0x0018B348 File Offset: 0x00189548
// (set) Token: 0x06007756 RID: 30550 RVA: 0x0018B35C File Offset: 0x0018955C
[Token(Token = "0x1700135D")]
public Proxy Proxy
{
[Token(Token = "0x6007755")]
[Address(RVA = "0x4D66C0", Offset = "0x4D50C0", VA = "0x1804D66C0")]
get;
[Token(Token = "0x6007756")]
[Address(RVA = "0x4D6780", Offset = "0x4D5180", VA = "0x1804D6780")]
set;
}
// Token: 0x1700135E RID: 4958
// (get) Token: 0x06007757 RID: 30551 RVA: 0x0018B370 File Offset: 0x00189570
// (set) Token: 0x06007758 RID: 30552 RVA: 0x0018B384 File Offset: 0x00189584
[Token(Token = "0x1700135E")]
public int MaxRedirects
{
[Token(Token = "0x6007757")]
[Address(RVA = "0xE35290", Offset = "0xE33C90", VA = "0x180E35290")]
get;
[Token(Token = "0x6007758")]
[Address(RVA = "0xE4A550", Offset = "0xE48F50", VA = "0x180E4A550")]
set;
}
// Token: 0x1700135F RID: 4959
// (get) Token: 0x06007759 RID: 30553 RVA: 0x0018B398 File Offset: 0x00189598
// (set) Token: 0x0600775A RID: 30554 RVA: 0x0018B3AC File Offset: 0x001895AC
[Token(Token = "0x1700135F")]
public bool UseAlternateSSL
{
[Token(Token = "0x6007759")]
[Address(RVA = "0xE4A540", Offset = "0xE48F40", VA = "0x180E4A540")]
get;
[Token(Token = "0x600775A")]
[Address(RVA = "0xE4A560", Offset = "0xE48F60", VA = "0x180E4A560")]
set;
}
// Token: 0x17001360 RID: 4960
// (get) Token: 0x0600775B RID: 30555 RVA: 0x0018B3C0 File Offset: 0x001895C0
// (set) Token: 0x0600775C RID: 30556 RVA: 0x0018B3D4 File Offset: 0x001895D4
[Token(Token = "0x17001360")]
public bool IsCookiesEnabled
{
[Token(Token = "0x600775B")]
[Address(RVA = "0x1C984A0", Offset = "0x1C96EA0", VA = "0x181C984A0")]
get;
[Token(Token = "0x600775C")]
[Address(RVA = "0x1C988B0", Offset = "0x1C972B0", VA = "0x181C988B0")]
set;
}
// Token: 0x17001361 RID: 4961
// (get) Token: 0x0600775D RID: 30557 RVA: 0x0018B3E8 File Offset: 0x001895E8
// (set) Token: 0x0600775E RID: 30558 RVA: 0x0018B410 File Offset: 0x00189610
[Token(Token = "0x17001361")]
public List<Cookie> Cookies
{
[Token(Token = "0x600775D")]
[Address(RVA = "0x1C98410", Offset = "0x1C96E10", VA = "0x181C98410")]
get
{
List<Cookie> list = this.customCookies;
if (list == 0)
{
List<Cookie> list2 = new List();
this.customCookies = list2;
}
return list;
}
[Token(Token = "0x600775E")]
[Address(RVA = "0x3D3450", Offset = "0x3D1E50", VA = "0x1803D3450")]
set
{
this.customCookies = value;
}
}
// Token: 0x17001362 RID: 4962
// (get) Token: 0x0600775F RID: 30559 RVA: 0x0018B424 File Offset: 0x00189624
// (set) Token: 0x06007760 RID: 30560 RVA: 0x0018B438 File Offset: 0x00189638
[Token(Token = "0x17001362")]
public HTTPFormUsage FormUsage
{
[Token(Token = "0x600775F")]
[Address(RVA = "0x7D79A0", Offset = "0x7D63A0", VA = "0x1807D79A0")]
get;
[Token(Token = "0x6007760")]
[Address(RVA = "0x7D7A80", Offset = "0x7D6480", VA = "0x1807D7A80")]
set;
}
// Token: 0x17001363 RID: 4963
// (get) Token: 0x06007761 RID: 30561 RVA: 0x0018B44C File Offset: 0x0018964C
// (set) Token: 0x06007762 RID: 30562 RVA: 0x0018B460 File Offset: 0x00189660
[Token(Token = "0x17001363")]
public HTTPRequestStates State
{
[Token(Token = "0x6007761")]
[Address(RVA = "0xA2AAD0", Offset = "0xA294D0", VA = "0x180A2AAD0")]
get;
[Token(Token = "0x6007762")]
[Address(RVA = "0xAD49E0", Offset = "0xAD33E0", VA = "0x180AD49E0")]
internal set;
}
// Token: 0x17001364 RID: 4964
// (get) Token: 0x06007763 RID: 30563 RVA: 0x0018B474 File Offset: 0x00189674
// (set) Token: 0x06007764 RID: 30564 RVA: 0x0018B488 File Offset: 0x00189688
[Token(Token = "0x17001364")]
public int RedirectCount
{
[Token(Token = "0x6007763")]
[Address(RVA = "0x6C10D0", Offset = "0x6BFAD0", VA = "0x1806C10D0")]
get;
[Token(Token = "0x6007764")]
[Address(RVA = "0xE4A570", Offset = "0xE48F70", VA = "0x180E4A570")]
internal set;
}
// Token: 0x140000A7 RID: 167
// (add) Token: 0x06007765 RID: 30565 RVA: 0x0018B49C File Offset: 0x0018969C
// (remove) Token: 0x06007766 RID: 30566 RVA: 0x0018B4B8 File Offset: 0x001896B8
[Token(Token = "0x140000A7")]
public event Func<HTTPRequest, X509Certificate, X509Chain, bool> CustomCertificationValidator
{
[Token(Token = "0x6007765")]
[Address(RVA = "0x1C981A0", Offset = "0x1C96BA0", VA = "0x181C981A0")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x6007766")]
[Address(RVA = "0x1C98540", Offset = "0x1C96F40", VA = "0x181C98540")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x17001365 RID: 4965
// (get) Token: 0x06007767 RID: 30567 RVA: 0x0018B4D4 File Offset: 0x001896D4
// (set) Token: 0x06007768 RID: 30568 RVA: 0x0018B4E8 File Offset: 0x001896E8
[Token(Token = "0x17001365")]
public TimeSpan ConnectTimeout
{
[Token(Token = "0x6007767")]
[Address(RVA = "0x3EFAF0", Offset = "0x3EE4F0", VA = "0x1803EFAF0")]
get;
[Token(Token = "0x6007768")]
[Address(RVA = "0x3F0040", Offset = "0x3EEA40", VA = "0x1803F0040")]
set;
}
// Token: 0x17001366 RID: 4966
// (get) Token: 0x06007769 RID: 30569 RVA: 0x0018B4FC File Offset: 0x001896FC
// (set) Token: 0x0600776A RID: 30570 RVA: 0x0018B510 File Offset: 0x00189710
[Token(Token = "0x17001366")]
public TimeSpan Timeout
{
[Token(Token = "0x6007769")]
[Address(RVA = "0x3D3180", Offset = "0x3D1B80", VA = "0x1803D3180")]
get;
[Token(Token = "0x600776A")]
[Address(RVA = "0x3D3350", Offset = "0x3D1D50", VA = "0x1803D3350")]
set;
}
// Token: 0x17001367 RID: 4967
// (get) Token: 0x0600776B RID: 30571 RVA: 0x0018B524 File Offset: 0x00189724
// (set) Token: 0x0600776C RID: 30572 RVA: 0x0018B538 File Offset: 0x00189738
[Token(Token = "0x17001367")]
public bool EnableTimoutForStreaming
{
[Token(Token = "0x600776B")]
[Address(RVA = "0x10D4F80", Offset = "0x10D3980", VA = "0x1810D4F80")]
get;
[Token(Token = "0x600776C")]
[Address(RVA = "0x10D4980", Offset = "0x10D3380", VA = "0x1810D4980")]
set;
}
// Token: 0x17001368 RID: 4968
// (get) Token: 0x0600776D RID: 30573 RVA: 0x0018B54C File Offset: 0x0018974C
// (set) Token: 0x0600776E RID: 30574 RVA: 0x0018B560 File Offset: 0x00189760
[Token(Token = "0x17001368")]
public bool EnableSafeReadOnUnknownContentLength
{
[Token(Token = "0x600776D")]
[Address(RVA = "0x10D5070", Offset = "0x10D3A70", VA = "0x1810D5070")]
get;
[Token(Token = "0x600776E")]
[Address(RVA = "0x10D4BF0", Offset = "0x10D35F0", VA = "0x1810D4BF0")]
set;
}
// Token: 0x17001369 RID: 4969
// (get) Token: 0x0600776F RID: 30575 RVA: 0x0018B574 File Offset: 0x00189774
// (set) Token: 0x06007770 RID: 30576 RVA: 0x0018B588 File Offset: 0x00189788
[Token(Token = "0x17001369")]
public int Priority
{
[Token(Token = "0x600776F")]
[Address(RVA = "0xCC2D90", Offset = "0xCC1790", VA = "0x180CC2D90")]
get;
[Token(Token = "0x6007770")]
[Address(RVA = "0xCC2E40", Offset = "0xCC1840", VA = "0x180CC2E40")]
set;
}
// Token: 0x1700136A RID: 4970
// (get) Token: 0x06007771 RID: 30577 RVA: 0x0018B59C File Offset: 0x0018979C
// (set) Token: 0x06007772 RID: 30578 RVA: 0x0018B5B0 File Offset: 0x001897B0
[Token(Token = "0x1700136A")]
public ICertificateVerifyer CustomCertificateVerifyer
{
[Token(Token = "0x6007771")]
[Address(RVA = "0x3D3300", Offset = "0x3D1D00", VA = "0x1803D3300")]
get;
[Token(Token = "0x6007772")]
[Address(RVA = "0x3D3470", Offset = "0x3D1E70", VA = "0x1803D3470")]
set;
}
// Token: 0x1700136B RID: 4971
// (get) Token: 0x06007773 RID: 30579 RVA: 0x0018B5C4 File Offset: 0x001897C4
// (set) Token: 0x06007774 RID: 30580 RVA: 0x0018B5D8 File Offset: 0x001897D8
[Token(Token = "0x1700136B")]
public IClientCredentialsProvider CustomClientCredentialsProvider
{
[Token(Token = "0x6007773")]
[Address(RVA = "0x3D32A0", Offset = "0x3D1CA0", VA = "0x1803D32A0")]
get;
[Token(Token = "0x6007774")]
[Address(RVA = "0x3D3440", Offset = "0x3D1E40", VA = "0x1803D3440")]
set;
}
// Token: 0x1700136C RID: 4972
// (get) Token: 0x06007775 RID: 30581 RVA: 0x0018B5EC File Offset: 0x001897EC
// (set) Token: 0x06007776 RID: 30582 RVA: 0x0018B600 File Offset: 0x00189800
[Token(Token = "0x1700136C")]
public List<string> CustomTLSServerNameList
{
[Token(Token = "0x6007775")]
[Address(RVA = "0x3CBF50", Offset = "0x3CA950", VA = "0x1803CBF50")]
get;
[Token(Token = "0x6007776")]
[Address(RVA = "0x3F0030", Offset = "0x3EEA30", VA = "0x1803F0030")]
set;
}
// Token: 0x1700136D RID: 4973
// (get) Token: 0x06007777 RID: 30583 RVA: 0x0018B614 File Offset: 0x00189814
// (set) Token: 0x06007778 RID: 30584 RVA: 0x0018B628 File Offset: 0x00189828
[Token(Token = "0x1700136D")]
public SupportedProtocols ProtocolHandler
{
[Token(Token = "0x6007777")]
[Address(RVA = "0xACB270", Offset = "0xAC9C70", VA = "0x180ACB270")]
get;
[Token(Token = "0x6007778")]
[Address(RVA = "0x1C98940", Offset = "0x1C97340", VA = "0x181C98940")]
set;
}
// Token: 0x140000A8 RID: 168
// (add) Token: 0x06007779 RID: 30585 RVA: 0x0018B63C File Offset: 0x0018983C
// (remove) Token: 0x0600777A RID: 30586 RVA: 0x0018B670 File Offset: 0x00189870
[Token(Token = "0x140000A8")]
public event OnBeforeRedirectionDelegate OnBeforeRedirection
{
[Token(Token = "0x6007779")]
[Address(RVA = "0x1C982D0", Offset = "0x1C96CD0", VA = "0x181C982D0")]
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 = "0x600777A")]
[Address(RVA = "0x1C98670", Offset = "0x1C97070", VA = "0x181C98670")]
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: 0x140000A9 RID: 169
// (add) Token: 0x0600777B RID: 30587 RVA: 0x0018B6A4 File Offset: 0x001898A4
// (remove) Token: 0x0600777C RID: 30588 RVA: 0x0018B6D8 File Offset: 0x001898D8
[Token(Token = "0x140000A9")]
public event OnBeforeHeaderSendDelegate OnBeforeHeaderSend
{
[Token(Token = "0x600777B")]
[Address(RVA = "0x1C98240", Offset = "0x1C96C40", VA = "0x181C98240")]
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 = "0x600777C")]
[Address(RVA = "0x1C985E0", Offset = "0x1C96FE0", VA = "0x181C985E0")]
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: 0x140000AA RID: 170
// (add) Token: 0x0600777D RID: 30589 RVA: 0x0018B70C File Offset: 0x0018990C
// (remove) Token: 0x0600777E RID: 30590 RVA: 0x0018B728 File Offset: 0x00189928
[Token(Token = "0x140000AA")]
public event Action<HTTPRequest, Stream> OnSendingHeaders
{
[Token(Token = "0x600777D")]
[Address(RVA = "0x1C98360", Offset = "0x1C96D60", VA = "0x181C98360")]
[CompilerGenerated]
add
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
[Token(Token = "0x600777E")]
[Address(RVA = "0x1C98700", Offset = "0x1C97100", VA = "0x181C98700")]
[CompilerGenerated]
remove
{
Delegate @delegate;
while (@delegate != 0 && @delegate == 0)
{
}
while (@delegate != this)
{
}
}
}
// Token: 0x1700136E RID: 4974
// (get) Token: 0x0600777F RID: 30591 RVA: 0x0018B744 File Offset: 0x00189944
// (set) Token: 0x06007780 RID: 30592 RVA: 0x0018B758 File Offset: 0x00189958
[Token(Token = "0x1700136E")]
public bool TryToMinimizeTCPLatency
{
[Token(Token = "0x600777F")]
[Address(RVA = "0x1684CD0", Offset = "0x16836D0", VA = "0x181684CD0")]
get;
[Token(Token = "0x6007780")]
[Address(RVA = "0xF98F40", Offset = "0xF97940", VA = "0x180F98F40")]
set;
}
// Token: 0x1700136F RID: 4975
// (get) Token: 0x06007781 RID: 30593 RVA: 0x0018B76C File Offset: 0x0018996C
// (set) Token: 0x06007782 RID: 30594 RVA: 0x0018B780 File Offset: 0x00189980
[Token(Token = "0x1700136F")]
internal long Downloaded
{
[Token(Token = "0x6007781")]
[Address(RVA = "0x3D3280", Offset = "0x3D1C80", VA = "0x1803D3280")]
get;
[Token(Token = "0x6007782")]
[Address(RVA = "0x3D3420", Offset = "0x3D1E20", VA = "0x1803D3420")]
set;
}
// Token: 0x17001370 RID: 4976
// (get) Token: 0x06007783 RID: 30595 RVA: 0x0018B794 File Offset: 0x00189994
// (set) Token: 0x06007784 RID: 30596 RVA: 0x0018B7A8 File Offset: 0x001899A8
[Token(Token = "0x17001370")]
internal long DownloadLength
{
[Token(Token = "0x6007783")]
[Address(RVA = "0x3CBF20", Offset = "0x3CA920", VA = "0x1803CBF20")]
get;
[Token(Token = "0x6007784")]
[Address(RVA = "0x3CBFB0", Offset = "0x3CA9B0", VA = "0x1803CBFB0")]
set;
}
// Token: 0x17001371 RID: 4977
// (get) Token: 0x06007785 RID: 30597 RVA: 0x0018B7BC File Offset: 0x001899BC
// (set) Token: 0x06007786 RID: 30598 RVA: 0x0018B7D0 File Offset: 0x001899D0
[Token(Token = "0x17001371")]
internal bool DownloadProgressChanged
{
[Token(Token = "0x6007785")]
[Address(RVA = "0x16FD880", Offset = "0x16FC280", VA = "0x1816FD880")]
get;
[Token(Token = "0x6007786")]
[Address(RVA = "0x1C988A0", Offset = "0x1C972A0", VA = "0x181C988A0")]
set;
}
// Token: 0x17001372 RID: 4978
// (get) Token: 0x06007787 RID: 30599 RVA: 0x0018B7E4 File Offset: 0x001899E4
[Token(Token = "0x17001372")]
internal long UploadStreamLength
{
[Token(Token = "0x6007787")]
[Address(RVA = "0x1C984C0", Offset = "0x1C96EC0", VA = "0x181C984C0")]
get
{
if (this.<UploadStream>k__BackingField != (ulong)0L && this.<UseUploadStreamLength>k__BackingField)
{
bool canWrite = this.<UploadStream>k__BackingField.CanWrite;
}
throw new NullReferenceException();
}
}
// Token: 0x17001373 RID: 4979
// (get) Token: 0x06007788 RID: 30600 RVA: 0x0018B818 File Offset: 0x00189A18
// (set) Token: 0x06007789 RID: 30601 RVA: 0x0018B82C File Offset: 0x00189A2C
[Token(Token = "0x17001373")]
internal long Uploaded
{
[Token(Token = "0x6007788")]
[Address(RVA = "0xA01750", Offset = "0xA00150", VA = "0x180A01750")]
get;
[Token(Token = "0x6007789")]
[Address(RVA = "0xA5DB40", Offset = "0xA5C540", VA = "0x180A5DB40")]
set;
}
// Token: 0x17001374 RID: 4980
// (get) Token: 0x0600778A RID: 30602 RVA: 0x0018B840 File Offset: 0x00189A40
// (set) Token: 0x0600778B RID: 30603 RVA: 0x0018B854 File Offset: 0x00189A54
[Token(Token = "0x17001374")]
internal long UploadLength
{
[Token(Token = "0x600778A")]
[Address(RVA = "0x50B760", Offset = "0x50A160", VA = "0x18050B760")]
get;
[Token(Token = "0x600778B")]
[Address(RVA = "0x103E550", Offset = "0x103CF50", VA = "0x18103E550")]
set;
}
// Token: 0x17001375 RID: 4981
// (get) Token: 0x0600778C RID: 30604 RVA: 0x0018B868 File Offset: 0x00189A68
// (set) Token: 0x0600778D RID: 30605 RVA: 0x0018B87C File Offset: 0x00189A7C
[Token(Token = "0x17001375")]
internal bool UploadProgressChanged
{
[Token(Token = "0x600778C")]
[Address(RVA = "0xC94530", Offset = "0xC92F30", VA = "0x180C94530")]
get;
[Token(Token = "0x600778D")]
[Address(RVA = "0x1C98A00", Offset = "0x1C97400", VA = "0x181C98A00")]
set;
}
// Token: 0x17001376 RID: 4982
// (get) Token: 0x0600778E RID: 30606 RVA: 0x0018B890 File Offset: 0x00189A90
// (set) Token: 0x0600778F RID: 30607 RVA: 0x0018B8A4 File Offset: 0x00189AA4
[Token(Token = "0x17001376")]
private Dictionary<string, List<string>> Headers
{
[Token(Token = "0x600778E")]
[Address(RVA = "0x50B6F0", Offset = "0x50A0F0", VA = "0x18050B6F0")]
get;
[Token(Token = "0x600778F")]
[Address(RVA = "0x103E600", Offset = "0x103D000", VA = "0x18103E600")]
set;
}
// Token: 0x06007790 RID: 30608 RVA: 0x0018B8B8 File Offset: 0x00189AB8
[Token(Token = "0x6007790")]
[Address(RVA = "0x1C97AE0", Offset = "0x1C964E0", VA = "0x181C97AE0")]
public HTTPRequest(Uri uri)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06007791 RID: 30609 RVA: 0x0018B8D8 File Offset: 0x00189AD8
[Token(Token = "0x6007791")]
[Address(RVA = "0x1C97610", Offset = "0x1C96010", VA = "0x181C97610")]
public HTTPRequest(Uri uri, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06007792 RID: 30610 RVA: 0x0018B8F4 File Offset: 0x00189AF4
[Token(Token = "0x6007792")]
[Address(RVA = "0x1C979F0", Offset = "0x1C963F0", VA = "0x181C979F0")]
public HTTPRequest(Uri uri, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
bool <IsCachingDisabled>k__BackingField = HTTPManager.<IsCachingDisabled>k__BackingField;
}
// Token: 0x06007793 RID: 30611 RVA: 0x0018B90C File Offset: 0x00189B0C
[Token(Token = "0x6007793")]
[Address(RVA = "0x1C975E0", Offset = "0x1C95FE0", VA = "0x181C975E0")]
public HTTPRequest(Uri uri, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
}
// Token: 0x06007794 RID: 30612 RVA: 0x0018B91C File Offset: 0x00189B1C
[Token(Token = "0x6007794")]
[Address(RVA = "0x1C97740", Offset = "0x1C96140", VA = "0x181C97740")]
public HTTPRequest(Uri uri, HTTPMethods methodType)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x06007795 RID: 30613 RVA: 0x0018B938 File Offset: 0x00189B38
[Token(Token = "0x6007795")]
[Address(RVA = "0x1C97890", Offset = "0x1C96290", VA = "0x181C97890")]
public HTTPRequest(Uri uri, HTTPMethods methodType, OnRequestFinishedDelegate callback)
{
bool <KeepAliveDefaultValue>k__BackingField = HTTPManager.<KeepAliveDefaultValue>k__BackingField;
}
// Token: 0x06007796 RID: 30614 RVA: 0x0018B954 File Offset: 0x00189B54
[Token(Token = "0x6007796")]
[Address(RVA = "0x1C974D0", Offset = "0x1C95ED0", VA = "0x181C974D0")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, OnRequestFinishedDelegate callback)
{
}
// Token: 0x06007797 RID: 30615 RVA: 0x0018B968 File Offset: 0x00189B68
[Token(Token = "0x6007797")]
[Address(RVA = "0x1C97C00", Offset = "0x1C96600", VA = "0x181C97C00")]
public HTTPRequest(Uri uri, HTTPMethods methodType, bool isKeepAlive, bool disableCache, OnRequestFinishedDelegate callback)
{
/*
An exception occurred when decompiling this method (06007797)
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: 0x06007798 RID: 30616 RVA: 0x0018BAE8 File Offset: 0x00189CE8
[Token(Token = "0x6007798")]
[Address(RVA = "0x1C94420", Offset = "0x1C92E20", VA = "0x181C94420")]
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: 0x06007799 RID: 30617 RVA: 0x0018BB24 File Offset: 0x00189D24
[Token(Token = "0x6007799")]
[Address(RVA = "0x1C944E0", Offset = "0x1C92EE0", VA = "0x181C944E0")]
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: 0x0600779A RID: 30618 RVA: 0x0018BB60 File Offset: 0x00189D60
[Token(Token = "0x600779A")]
[Address(RVA = "0x1C94330", Offset = "0x1C92D30", VA = "0x181C94330")]
public void AddBinaryData(string fieldName, byte[] content)
{
int num = 0;
int num2 = 0;
this.AddBinaryData(fieldName, content, num2, num);
}
// Token: 0x0600779B RID: 30619 RVA: 0x0018BB7C File Offset: 0x00189D7C
[Token(Token = "0x600779B")]
[Address(RVA = "0x1C94350", Offset = "0x1C92D50", VA = "0x181C94350")]
public void AddBinaryData(string fieldName, byte[] content, string fileName)
{
int num = 0;
this.AddBinaryData(fieldName, content, fileName, num);
}
// Token: 0x0600779C RID: 30620 RVA: 0x0018BB98 File Offset: 0x00189D98
[Token(Token = "0x600779C")]
[Address(RVA = "0x1C94370", Offset = "0x1C92D70", VA = "0x181C94370")]
public void AddBinaryData(string fieldName, byte[] content, string fileName, string mimeType)
{
if (this.FieldCollector == 0)
{
HTTPFormBase httpformBase = new HTTPFormBase();
this.FieldCollector = httpformBase;
}
}
// Token: 0x0600779D RID: 30621 RVA: 0x0018BBC4 File Offset: 0x00189DC4
[Token(Token = "0x600779D")]
[Address(RVA = "0x1042980", Offset = "0x1041380", VA = "0x181042980")]
public void SetForm(HTTPFormBase form)
{
this.FormImpl = form;
}
// Token: 0x0600779E RID: 30622 RVA: 0x0018BBD8 File Offset: 0x00189DD8
[Token(Token = "0x600779E")]
[Address(RVA = "0x1C95AC0", Offset = "0x1C944C0", VA = "0x181C95AC0")]
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: 0x0600779F RID: 30623 RVA: 0x0018BC14 File Offset: 0x00189E14
[Token(Token = "0x600779F")]
[Address(RVA = "0x1C94840", Offset = "0x1C93240", VA = "0x181C94840")]
public void ClearForm()
{
int num = 0;
this.FormImpl = num;
this.FieldCollector = num;
}
// Token: 0x060077A0 RID: 30624 RVA: 0x0018BC34 File Offset: 0x00189E34
[Token(Token = "0x60077A0")]
[Address(RVA = "0x1C95D60", Offset = "0x1C94760", VA = "0x181C95D60")]
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 text;
httpmultiPartForm.Boundary = text;
this.FormImpl = httpmultiPartForm;
string text2 = httpmultiPartForm.ToString();
}
return formImpl;
}
// Token: 0x060077A1 RID: 30625 RVA: 0x0018BCB4 File Offset: 0x00189EB4
[Token(Token = "0x60077A1")]
[Address(RVA = "0x1C94590", Offset = "0x1C92F90", VA = "0x181C94590")]
public void AddHeader(string name, string value)
{
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(name, list);
}
list.Add(value);
}
// Token: 0x060077A2 RID: 30626 RVA: 0x0018BD04 File Offset: 0x00189F04
[Token(Token = "0x60077A2")]
[Address(RVA = "0x1C96A90", Offset = "0x1C95490", VA = "0x181C96A90")]
public void SetHeader(string name, string value)
{
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(name, list);
}
list.Clear();
list.Add(value);
}
// Token: 0x060077A3 RID: 30627 RVA: 0x0018BD58 File Offset: 0x00189F58
[Token(Token = "0x60077A3")]
[Address(RVA = "0x1C95C60", Offset = "0x1C94660", VA = "0x181C95C60")]
public bool RemoveHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
return dictionary.Remove(name);
}
}
// Token: 0x060077A4 RID: 30628 RVA: 0x0018BD7C File Offset: 0x00189F7C
[Token(Token = "0x60077A4")]
[Address(RVA = "0x1C95BF0", Offset = "0x1C945F0", VA = "0x181C95BF0")]
public bool HasHeader(string name)
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary == 0)
{
}
return dictionary.ContainsKey(name);
}
// Token: 0x060077A5 RID: 30629 RVA: 0x0018BDA0 File Offset: 0x00189FA0
[Token(Token = "0x60077A5")]
[Address(RVA = "0x1C95A20", Offset = "0x1C94420", VA = "0x181C95A20")]
public string GetFirstHeaderValue(string name)
{
bool flag;
if (this.<Headers>k__BackingField != 0 && flag && flag > false && !flag)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
}
throw new NullReferenceException();
}
// Token: 0x060077A6 RID: 30630 RVA: 0x0018BDD0 File Offset: 0x00189FD0
[Token(Token = "0x60077A6")]
[Address(RVA = "0x1C95B70", Offset = "0x1C94570", VA = "0x181C95B70")]
public List<string> GetHeaderValues(string name)
{
bool flag;
if (this.<Headers>k__BackingField == 0 || flag)
{
}
throw new NullReferenceException();
}
// Token: 0x060077A7 RID: 30631 RVA: 0x0018BDF4 File Offset: 0x00189FF4
[Token(Token = "0x60077A7")]
[Address(RVA = "0x1C95CC0", Offset = "0x1C946C0", VA = "0x181C95CC0")]
public void RemoveHeaders()
{
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary != 0)
{
dictionary.Clear();
return;
}
}
// Token: 0x060077A8 RID: 30632 RVA: 0x0018BE14 File Offset: 0x0018A014
[Token(Token = "0x60077A8")]
[Address(RVA = "0x1C96C60", Offset = "0x1C95660", VA = "0x181C96C60")]
public void SetRangeHeader(int firstBytePos)
{
string text = string.Format("bytes={0}-", firstBytePos);
this.SetHeader("Range", text);
}
// Token: 0x060077A9 RID: 30633 RVA: 0x0018BE3C File Offset: 0x0018A03C
[Token(Token = "0x60077A9")]
[Address(RVA = "0x1C96BC0", Offset = "0x1C955C0", VA = "0x181C96BC0")]
public void SetRangeHeader(int firstBytePos, int lastBytePos)
{
string text = string.Format("bytes={0}-{1}", firstBytePos, lastBytePos);
this.SetHeader("Range", text);
}
// Token: 0x060077AA RID: 30634 RVA: 0x0018BE64 File Offset: 0x0018A064
[Token(Token = "0x60077AA")]
[Address(RVA = "0x1C958C0", Offset = "0x1C942C0", VA = "0x181C958C0")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback)
{
int num = 0;
this.EnumerateHeaders(callback, num != 0);
}
// Token: 0x060077AB RID: 30635 RVA: 0x0018BE7C File Offset: 0x0018A07C
[Token(Token = "0x60077AB")]
[Address(RVA = "0x1C94B20", Offset = "0x1C93520", VA = "0x181C94B20")]
public void EnumerateHeaders(OnHeaderEnumerationDelegate callback, bool callBeforeSendCallback)
{
for (;;)
{
int num = 0;
Dictionary<string, List<string>> dictionary = this.<Headers>k__BackingField;
if (dictionary == 0 || !dictionary.ContainsKey("Host"))
{
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
if (this.<Uri>k__BackingField.Port != 80)
{
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
if (this.<Uri>k__BackingField.Port != 443)
{
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
string authority = this.<Uri>k__BackingField.Authority;
}
}
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
string host = this.<Uri>k__BackingField.Host;
this.SetHeader("Host", host);
}
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
if (dictionary2 == 0 || !dictionary2.ContainsKey("Referer"))
{
int hashCode = this.<Uri>k__BackingField.GetHashCode();
}
}
Dictionary<string, List<string>> dictionary3 = this.<Headers>k__BackingField;
if (dictionary3 == 0 || !dictionary3.ContainsKey("Accept-Encoding"))
{
this.AddHeader("Accept-Encoding", "gzip, identity");
}
if (this.<Proxy>k__BackingField > num)
{
Dictionary<string, List<string>> dictionary4 = this.<Headers>k__BackingField;
if (dictionary4 == 0 || !dictionary4.ContainsKey("Proxy-Connection"))
{
if ((this.isKeepAlive ? 1 : 0) == num)
{
}
this.AddHeader("Proxy-Connection", "Close");
}
}
Dictionary<string, List<string>> dictionary5 = this.<Headers>k__BackingField;
if (dictionary5 == 0 || !dictionary5.ContainsKey("Connection"))
{
if ((this.isKeepAlive ? 1 : 0) == num)
{
}
this.AddHeader("Connection", "Close, TE");
}
Dictionary<string, List<string>> dictionary6 = this.<Headers>k__BackingField;
if (dictionary6 == 0 || !dictionary6.ContainsKey("TE"))
{
this.AddHeader("TE", "identity");
}
Dictionary<string, List<string>> dictionary7 = this.<Headers>k__BackingField;
if (dictionary7 == 0 || !dictionary7.ContainsKey("User-Agent"))
{
this.AddHeader("User-Agent", "BestHTTP");
}
if (this.<UploadStream>k__BackingField == num)
{
goto IL_1FD;
}
long uploadStreamLength = this.UploadStreamLength;
this.SetHeader("Transfer-Encoding", "Chunked");
Dictionary<string, List<string>> dictionary8 = this.<Headers>k__BackingField;
if (dictionary8 == 0 || !dictionary8.ContainsKey("Content-Type"))
{
this.SetHeader("Content-Type", "application/octet-stream");
goto IL_1FD;
}
IL_271:
Dictionary<string, List<string>> dictionary9 = this.<Headers>k__BackingField;
if (dictionary9 == 0 || !dictionary9.ContainsKey("Content-Length"))
{
}
Proxy proxy = this.<Proxy>k__BackingField;
if (proxy == 0)
{
goto IL_30A;
}
Credentials credentials = proxy.<Credentials>k__BackingField;
if (credentials == 0)
{
goto IL_30A;
}
AuthenticationTypes <Type>k__BackingField = credentials.<Type>k__BackingField;
if (<Type>k__BackingField != AuthenticationTypes.Unknown)
{
if (<Type>k__BackingField == AuthenticationTypes.Unknown)
{
goto IL_341;
}
if (<Type>k__BackingField != AuthenticationTypes.Basic)
{
goto IL_30A;
}
}
Digest digest = DigestStore.Get(proxy.<Address>k__BackingField);
if (digest == 0)
{
goto IL_30A;
}
Proxy proxy2 = this.<Proxy>k__BackingField;
int num2 = 0;
Credentials credentials2 = proxy2.<Credentials>k__BackingField;
string text = digest.GenerateResponseHeader(this, credentials2, num2 != 0);
if (text == 0)
{
this.SetHeader("Proxy-Authorization", text);
goto IL_30A;
}
goto IL_30A;
IL_406:
if ((this.<IsCookiesEnabled>k__BackingField ? 1 : 0) != num)
{
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
List<Cookie> list = CookieJar.Get(this.<Uri>k__BackingField);
}
if (num == 0)
{
goto IL_48F;
}
string text2;
if (this.customCookies != 0)
{
int num3 = 0;
HTTPRequest.<>c__DisplayClass239_0 CS$<>8__locals1;
int num4;
CS$<>8__locals1.FieldGetter(num3, text2, num4);
List<Cookie> list2 = this.customCookies;
int num5 = 0;
ThrowHelper.ThrowArgumentOutOfRangeException();
CS$<>8__locals1.customCookie = num5;
Predicate<Cookie> predicate = delegate(Cookie c)
{
Cookie customCookie3 = CS$<>8__locals1.customCookie;
string <Name>k__BackingField = c.<Name>k__BackingField;
string <Name>k__BackingField2 = customCookie3.<Name>k__BackingField;
return <Name>k__BackingField.Equals(<Name>k__BackingField2);
};
Cookie customCookie = CS$<>8__locals1.customCookie;
Cookie customCookie2 = CS$<>8__locals1.customCookie;
num++;
uint num6;
num6 += (uint)8;
List<Cookie> list3 = this.customCookies;
goto IL_48F;
}
IL_492:
if (num == 0)
{
goto IL_50C;
}
string empty = string.Empty;
if (this.<IsRedirected>k__BackingField)
{
}
bool flag = HTTPProtocolFactory.IsSecureProtocol(this.<Uri>k__BackingField);
List.Enumerator enumerator;
string text4;
if (enumerator != 0)
{
if (enumerator != 0)
{
while (flag == enumerator)
{
}
}
ulong num7;
if (num7 != (ulong)0L)
{
}
string text3 = empty + "; ";
text4 = text3 + text3;
DateTime utcNow = DateTime.UtcNow;
}
int num8;
if (num8 != -1)
{
if (!string.IsNullOrEmpty(text4))
{
this.SetHeader("Cookie", text4);
goto IL_50C;
}
goto IL_50C;
}
IL_523:
if (num8 != 0)
{
continue;
}
ILogger logger = HTTPManager.Logger;
IL_535:
if (text4 == 0 || this.<Headers>k__BackingField == 0)
{
break;
}
Dictionary.Enumerator enumerator2;
if (enumerator2 != 0)
{
}
num8++;
if (num8 != -1)
{
}
if (num8 == 0)
{
break;
}
continue;
IL_50C:
if (this._onBeforeHeaderSend != (ulong)0L)
{
this._onBeforeHeaderSend(this);
goto IL_523;
}
goto IL_535;
IL_48F:
num8 = 0;
goto IL_492;
IL_30A:
Credentials credentials3 = this.<Credentials>k__BackingField;
if (credentials3 == 0)
{
goto IL_406;
}
AuthenticationTypes <Type>k__BackingField2 = credentials3.<Type>k__BackingField;
if (<Type>k__BackingField2 != AuthenticationTypes.Unknown)
{
if (<Type>k__BackingField2 == AuthenticationTypes.Unknown)
{
goto IL_388;
}
if (<Type>k__BackingField2 != AuthenticationTypes.Basic)
{
goto IL_406;
}
}
if ((this.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
goto IL_341;
}
IL_3C6:
Digest digest2 = DigestStore.Get(this.<Uri>k__BackingField);
if (digest2 == 0)
{
goto IL_406;
}
int num9 = 0;
Credentials credentials4 = this.<Credentials>k__BackingField;
text2 = digest2.GenerateResponseHeader(this, credentials4, num9 != 0);
if (text2 == 0)
{
int num4 = 0;
this.SetHeader("Authorization", text2);
goto IL_406;
}
goto IL_406;
IL_388:
Encoding utf = Encoding.UTF8;
Credentials credentials5 = this.<Credentials>k__BackingField;
string <Password>k__BackingField = credentials5.<Password>k__BackingField;
string text5 = credentials5.<UserName>k__BackingField + ":" + <Password>k__BackingField;
string text7;
string text6 = "Basic " + text7;
goto IL_3C6;
IL_341:
Encoding utf2 = Encoding.UTF8;
Credentials credentials6 = this.<Proxy>k__BackingField.<Credentials>k__BackingField;
string <UserName>k__BackingField = credentials6.<UserName>k__BackingField;
string <Password>k__BackingField2 = credentials6.<Password>k__BackingField;
string text8 = <UserName>k__BackingField + ":" + <Password>k__BackingField2;
string text10;
string text9 = "Basic " + text10;
goto IL_388;
IL_1FD:
if (this.<RawData>k__BackingField == 0)
{
if (this.FormImpl == num)
{
HTTPFormBase fieldCollector = this.FieldCollector;
if (fieldCollector == 0 || fieldCollector.<Fields>k__BackingField == 0)
{
goto IL_237;
}
}
HTTPFormBase httpformBase = this.SelectFormImplementation();
if (this.FormImpl != 0)
{
}
}
IL_237:
if (this.<RawData>k__BackingField != num)
{
goto IL_271;
}
if (this.FormImpl == num)
{
HTTPFormBase fieldCollector2 = this.FieldCollector;
if (fieldCollector2 == 0 || fieldCollector2.IsEmpty)
{
goto IL_271;
}
}
HTTPFormBase httpformBase2 = this.SelectFormImplementation();
if (this.FormImpl != 0)
{
goto IL_271;
}
goto IL_271;
}
}
// Token: 0x060077AC RID: 30636 RVA: 0x0018C3EC File Offset: 0x0018A5EC
[Token(Token = "0x60077AC")]
[Address(RVA = "0x1C95EC0", Offset = "0x1C948C0", VA = "0x181C95EC0")]
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: 0x060077AD RID: 30637 RVA: 0x0018C44C File Offset: 0x0018A64C
[Token(Token = "0x60077AD")]
[Address(RVA = "0x1C94900", Offset = "0x1C93300", VA = "0x181C94900")]
public string DumpHeaders()
{
int num;
do
{
num = 0;
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream(5120);
this.SendHeaders(bufferPoolMemoryStream);
byte[] array = bufferPoolMemoryStream.ToArray();
int length;
StringBuilder stringBuilder = new StringBuilder(length);
length = array.Length;
int length2 = array.Length;
if (num < length2)
{
byte b;
StringBuilder stringBuilder2 = stringBuilder.Append((char)b);
num++;
}
int hashCode = stringBuilder.GetHashCode();
if (bufferPoolMemoryStream != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
throw new IndexOutOfRangeException();
}
// Token: 0x060077AE RID: 30638 RVA: 0x0018C4D8 File Offset: 0x0018A6D8
[Token(Token = "0x60077AE")]
[Address(RVA = "0x1C95980", Offset = "0x1C94380", VA = "0x181C95980")]
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: 0x060077AF RID: 30639 RVA: 0x0018C520 File Offset: 0x0018A720
[Token(Token = "0x60077AF")]
[Address(RVA = "0x1C96010", Offset = "0x1C94A10", VA = "0x181C96010")]
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)
{
byte[] array3;
VariableSizedBufferPool.Release(array3);
}
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[] eol3 = HTTPRequest.EOL;
int num8 = writeOnlyBufferedStream.ReadByte();
byte[] eol4 = HTTPRequest.EOL;
int num9 = writeOnlyBufferedStream.ReadByte();
byte[] array4;
VariableSizedBufferPool.Release(array4);
}
if (this.<UploadStream>k__BackingField != (ulong)0L)
{
}
memoryStream.Dispose();
if (writeOnlyBufferedStream != 0)
{
}
if (num != -1)
{
ILogger logger2 = HTTPManager.Logger;
num++;
}
if (num != 0)
{
goto IL_224;
}
Stream stream2 = this.<UploadStream>k__BackingField;
if (stream2 != 0 && this.<DisposeUploadStream>k__BackingField)
{
stream2.Dispose();
}
if (num != -1)
{
}
}
while (num != 0);
return;
IL_224:
throw new NullReferenceException();
}
// Token: 0x060077B0 RID: 30640 RVA: 0x0018C764 File Offset: 0x0018A964
[Token(Token = "0x60077B0")]
[Address(RVA = "0x1C96CE0", Offset = "0x1C956E0", VA = "0x181C96CE0")]
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: 0x060077B1 RID: 30641 RVA: 0x0018C7B0 File Offset: 0x0018A9B0
[Token(Token = "0x60077B1")]
[Address(RVA = "0x1C946B0", Offset = "0x1C930B0", VA = "0x181C946B0")]
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: 0x060077B2 RID: 30642 RVA: 0x0018C7E8 File Offset: 0x0018A9E8
[Token(Token = "0x60077B2")]
[Address(RVA = "0x1C94800", Offset = "0x1C93200", VA = "0x181C94800")]
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: 0x060077B3 RID: 30643 RVA: 0x0018C814 File Offset: 0x0018AA14
[Token(Token = "0x60077B3")]
[Address(RVA = "0x1C958D0", Offset = "0x1C942D0", VA = "0x181C958D0")]
internal void FinishStreaming()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0 && this.useStreaming)
{
if (HTTPManager.Logger == 0)
{
httpresponse.VerboseLogging("FinishStreaming");
}
httpresponse.<IsStreamingFinished>k__BackingField = true;
httpresponse.Dispose();
return;
}
}
// Token: 0x060077B4 RID: 30644 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60077B4")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60")]
internal void Prepare()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060077B5 RID: 30645 RVA: 0x0018C860 File Offset: 0x0018AA60
[Token(Token = "0x60077B5")]
[Address(RVA = "0x1C94780", Offset = "0x1C93180", VA = "0x181C94780")]
internal bool CallCustomCertificationValidator(X509Certificate cert, X509Chain chain)
{
Func<HTTPRequest, X509Certificate, X509Chain, bool> customCertificationValidator = this.CustomCertificationValidator;
return customCertificationValidator == 0 || customCertificationValidator(this, cert, chain) != null;
}
// Token: 0x060077B6 RID: 30646 RVA: 0x0018C884 File Offset: 0x0018AA84
[Token(Token = "0x60077B6")]
[Address(RVA = "0x1C96A30", Offset = "0x1C95430", VA = "0x181C96A30")]
public HTTPRequest Send()
{
return HTTPManager.SendRequest(this);
}
// Token: 0x060077B7 RID: 30647 RVA: 0x0018C898 File Offset: 0x0018AA98
[Token(Token = "0x60077B7")]
[Address(RVA = "0x1C93F60", Offset = "0x1C92960", VA = "0x181C93F60")]
public void Abort()
{
/*
An exception occurred when decompiling this method (060077B7)
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: 0x060077B8 RID: 30648 RVA: 0x0018C970 File Offset: 0x0018AB70
[Token(Token = "0x60077B8")]
[Address(RVA = "0x1C94860", Offset = "0x1C93260", VA = "0x181C94860")]
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: 0x060077B9 RID: 30649 RVA: 0x0018C9BC File Offset: 0x0018ABBC
[Token(Token = "0x60077B9")]
[Address(RVA = "0x1C96DC0", Offset = "0x1C957C0", VA = "0x181C96DC0")]
private void VerboseLogging(string str)
{
ILogger logger = HTTPManager.Logger;
if (this.<IsRedirected>k__BackingField)
{
}
int hashCode = this.<Uri>k__BackingField.GetHashCode();
}
// Token: 0x17001377 RID: 4983
// (get) Token: 0x060077BA RID: 30650 RVA: 0x0018C9EC File Offset: 0x0018ABEC
[Token(Token = "0x17001377")]
public object Current
{
[Token(Token = "0x60077BA")]
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "5")]
get
{
}
}
// Token: 0x060077BB RID: 30651 RVA: 0x0018C9FC File Offset: 0x0018ABFC
[Token(Token = "0x60077BB")]
[Address(RVA = "0x1C95C50", Offset = "0x1C94650", VA = "0x181C95C50", Slot = "4")]
public bool MoveNext()
{
return this.<State>k__BackingField < HTTPRequestStates.Finished;
}
// Token: 0x060077BC RID: 30652 RVA: 0x0018CA14 File Offset: 0x0018AC14
[Token(Token = "0x60077BC")]
[Address(RVA = "0x1C95D10", Offset = "0x1C94710", VA = "0x181C95D10", Slot = "6")]
public void Reset()
{
/*
An exception occurred when decompiling this method (060077BC)
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: 0x17001378 RID: 4984
// (get) Token: 0x060077BD RID: 30653 RVA: 0x0018CA28 File Offset: 0x0018AC28
[Token(Token = "0x17001378")]
HTTPRequest IEnumerator<HTTPRequest>.Current
{
[Token(Token = "0x60077BD")]
[Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70", Slot = "7")]
get
{
return this;
}
}
// Token: 0x060077BE RID: 30654 RVA: 0x0018CA38 File Offset: 0x0018AC38
[Token(Token = "0x60077BE")]
[Address(RVA = "0x1C948E0", Offset = "0x1C932E0", VA = "0x181C948E0", Slot = "8")]
public void Dispose()
{
HTTPResponse httpresponse = this.<Response>k__BackingField;
if (httpresponse != 0)
{
httpresponse.Dispose();
return;
}
}
// Token: 0x060077BF RID: 30655 RVA: 0x0018CA58 File Offset: 0x0018AC58
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60077BF")]
[Address(RVA = "0x1C96EA0", Offset = "0x1C958A0", VA = "0x181C96EA0")]
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: 0x04005637 RID: 22071
[Token(Token = "0x4005637")]
public static readonly byte[] EOL;
// Token: 0x04005638 RID: 22072
[Token(Token = "0x4005638")]
public static readonly string[] MethodNames;
// Token: 0x04005639 RID: 22073
[Token(Token = "0x4005639")]
public static int UploadChunkSize;
// Token: 0x04005640 RID: 22080
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4005640")]
public OnUploadProgressDelegate OnUploadProgress;
// Token: 0x04005643 RID: 22083
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4005643")]
public OnDownloadProgressDelegate OnProgress;
// Token: 0x04005644 RID: 22084
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4005644")]
public OnRequestFinishedDelegate OnUpgraded;
// Token: 0x04005651 RID: 22097
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4005651")]
private List<Cookie> customCookies;
// Token: 0x0400565F RID: 22111
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
[Token(Token = "0x400565F")]
private OnBeforeRedirectionDelegate onBeforeRedirection;
// Token: 0x04005660 RID: 22112
[global::Cpp2IlInjected.FieldOffset(Offset = "0x108")]
[Token(Token = "0x4005660")]
private OnBeforeHeaderSendDelegate _onBeforeHeaderSend;
// Token: 0x04005669 RID: 22121
[global::Cpp2IlInjected.FieldOffset(Offset = "0x149")]
[Token(Token = "0x4005669")]
private bool isKeepAlive;
// Token: 0x0400566A RID: 22122
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14A")]
[Token(Token = "0x400566A")]
private bool disableCache;
// Token: 0x0400566B RID: 22123
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14B")]
[Token(Token = "0x400566B")]
private bool cacheOnly;
// Token: 0x0400566C RID: 22124
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14C")]
[Token(Token = "0x400566C")]
private int streamFragmentSize;
// Token: 0x0400566D RID: 22125
[global::Cpp2IlInjected.FieldOffset(Offset = "0x150")]
[Token(Token = "0x400566D")]
private bool useStreaming;
// Token: 0x0400566F RID: 22127
[global::Cpp2IlInjected.FieldOffset(Offset = "0x160")]
[Token(Token = "0x400566F")]
private HTTPFormBase FieldCollector;
// Token: 0x04005670 RID: 22128
[global::Cpp2IlInjected.FieldOffset(Offset = "0x168")]
[Token(Token = "0x4005670")]
private HTTPFormBase FormImpl;
}
}
@@ -0,0 +1,37 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012AA RID: 4778
[Token(Token = "0x20012AA")]
[StructLayout(3, Size = 4)]
public enum HTTPRequestStates
{
// Token: 0x0400562F RID: 22063
[Token(Token = "0x400562F")]
Initial,
// Token: 0x04005630 RID: 22064
[Token(Token = "0x4005630")]
Queued,
// Token: 0x04005631 RID: 22065
[Token(Token = "0x4005631")]
Processing,
// Token: 0x04005632 RID: 22066
[Token(Token = "0x4005632")]
Finished,
// Token: 0x04005633 RID: 22067
[Token(Token = "0x4005633")]
Error,
// Token: 0x04005634 RID: 22068
[Token(Token = "0x4005634")]
Aborted,
// Token: 0x04005635 RID: 22069
[Token(Token = "0x4005635")]
ConnectionTimedOut,
// Token: 0x04005636 RID: 22070
[Token(Token = "0x4005636")]
TimedOut
}
}
+1471
View File
@@ -0,0 +1,1471 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
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: 0x020012B5 RID: 4789
[Token(Token = "0x20012B5")]
[StructLayout(3)]
public class HTTPResponse : IDisposable
{
// Token: 0x1700137A RID: 4986
// (get) Token: 0x060077C6 RID: 30662 RVA: 0x0018CBA0 File Offset: 0x0018ADA0
// (set) Token: 0x060077C7 RID: 30663 RVA: 0x0018CBB4 File Offset: 0x0018ADB4
[Token(Token = "0x1700137A")]
public int VersionMajor
{
[Token(Token = "0x60077C6")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
get;
[Token(Token = "0x60077C7")]
[Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")]
protected set;
}
// Token: 0x1700137B RID: 4987
// (get) Token: 0x060077C8 RID: 30664 RVA: 0x0018CBC8 File Offset: 0x0018ADC8
// (set) Token: 0x060077C9 RID: 30665 RVA: 0x0018CBDC File Offset: 0x0018ADDC
[Token(Token = "0x1700137B")]
public int VersionMinor
{
[Token(Token = "0x60077C8")]
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")]
get;
[Token(Token = "0x60077C9")]
[Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")]
protected set;
}
// Token: 0x1700137C RID: 4988
// (get) Token: 0x060077CA RID: 30666 RVA: 0x0018CBF0 File Offset: 0x0018ADF0
// (set) Token: 0x060077CB RID: 30667 RVA: 0x0018CC04 File Offset: 0x0018AE04
[Token(Token = "0x1700137C")]
public int StatusCode
{
[Token(Token = "0x60077CA")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
get;
[Token(Token = "0x60077CB")]
[Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")]
protected set;
}
// Token: 0x1700137D RID: 4989
// (get) Token: 0x060077CC RID: 30668 RVA: 0x0018CC18 File Offset: 0x0018AE18
[Token(Token = "0x1700137D")]
public bool IsSuccess
{
[Token(Token = "0x60077CC")]
[Address(RVA = "0x1C9D020", Offset = "0x1C9BA20", VA = "0x181C9D020")]
get
{
int num = this.<StatusCode>k__BackingField;
return true;
}
}
// Token: 0x1700137E RID: 4990
// (get) Token: 0x060077CD RID: 30669 RVA: 0x0018CC38 File Offset: 0x0018AE38
// (set) Token: 0x060077CE RID: 30670 RVA: 0x0018CC4C File Offset: 0x0018AE4C
[Token(Token = "0x1700137E")]
public string Message
{
[Token(Token = "0x60077CD")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
get;
[Token(Token = "0x60077CE")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")]
protected set;
}
// Token: 0x1700137F RID: 4991
// (get) Token: 0x060077CF RID: 30671 RVA: 0x0018CC60 File Offset: 0x0018AE60
// (set) Token: 0x060077D0 RID: 30672 RVA: 0x0018CC74 File Offset: 0x0018AE74
[Token(Token = "0x1700137F")]
public bool IsStreamed
{
[Token(Token = "0x60077CF")]
[Address(RVA = "0x651230", Offset = "0x64FC30", VA = "0x180651230")]
get;
[Token(Token = "0x60077D0")]
[Address(RVA = "0x6C60C0", Offset = "0x6C4AC0", VA = "0x1806C60C0")]
protected set;
}
// Token: 0x17001380 RID: 4992
// (get) Token: 0x060077D1 RID: 30673 RVA: 0x0018CC88 File Offset: 0x0018AE88
// (set) Token: 0x060077D2 RID: 30674 RVA: 0x0018CC9C File Offset: 0x0018AE9C
[Token(Token = "0x17001380")]
public bool IsStreamingFinished
{
[Token(Token = "0x60077D1")]
[Address(RVA = "0x74C4C0", Offset = "0x74AEC0", VA = "0x18074C4C0")]
get;
[Token(Token = "0x60077D2")]
[Address(RVA = "0x4564C0", Offset = "0x454EC0", VA = "0x1804564C0")]
internal set;
}
// Token: 0x17001381 RID: 4993
// (get) Token: 0x060077D3 RID: 30675 RVA: 0x0018CCB0 File Offset: 0x0018AEB0
// (set) Token: 0x060077D4 RID: 30676 RVA: 0x0018CCC4 File Offset: 0x0018AEC4
[Token(Token = "0x17001381")]
public bool IsFromCache
{
[Token(Token = "0x60077D3")]
[Address(RVA = "0x456460", Offset = "0x454E60", VA = "0x180456460")]
get;
[Token(Token = "0x60077D4")]
[Address(RVA = "0x456490", Offset = "0x454E90", VA = "0x180456490")]
internal set;
}
// Token: 0x17001382 RID: 4994
// (get) Token: 0x060077D5 RID: 30677 RVA: 0x0018CCD8 File Offset: 0x0018AED8
// (set) Token: 0x060077D6 RID: 30678 RVA: 0x0018CCEC File Offset: 0x0018AEEC
[Token(Token = "0x17001382")]
public HTTPCacheFileInfo CacheFileInfo
{
[Token(Token = "0x60077D5")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
get;
[Token(Token = "0x60077D6")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")]
internal set;
}
// Token: 0x17001383 RID: 4995
// (get) Token: 0x060077D7 RID: 30679 RVA: 0x0018CD00 File Offset: 0x0018AF00
// (set) Token: 0x060077D8 RID: 30680 RVA: 0x0018CD14 File Offset: 0x0018AF14
[Token(Token = "0x17001383")]
public bool IsCacheOnly
{
[Token(Token = "0x60077D7")]
[Address(RVA = "0x52F470", Offset = "0x52DE70", VA = "0x18052F470")]
get;
[Token(Token = "0x60077D8")]
[Address(RVA = "0x52F720", Offset = "0x52E120", VA = "0x18052F720")]
private set;
}
// Token: 0x17001384 RID: 4996
// (get) Token: 0x060077D9 RID: 30681 RVA: 0x0018CD28 File Offset: 0x0018AF28
// (set) Token: 0x060077DA RID: 30682 RVA: 0x0018CD3C File Offset: 0x0018AF3C
[Token(Token = "0x17001384")]
public Dictionary<string, List<string>> Headers
{
[Token(Token = "0x60077D9")]
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")]
get;
[Token(Token = "0x60077DA")]
[Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460")]
protected set;
}
// Token: 0x17001385 RID: 4997
// (get) Token: 0x060077DB RID: 30683 RVA: 0x0018CD50 File Offset: 0x0018AF50
// (set) Token: 0x060077DC RID: 30684 RVA: 0x0018CD64 File Offset: 0x0018AF64
[Token(Token = "0x17001385")]
public byte[] Data
{
[Token(Token = "0x60077DB")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get;
[Token(Token = "0x60077DC")]
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")]
internal set;
}
// Token: 0x17001386 RID: 4998
// (get) Token: 0x060077DD RID: 30685 RVA: 0x0018CD78 File Offset: 0x0018AF78
// (set) Token: 0x060077DE RID: 30686 RVA: 0x0018CD8C File Offset: 0x0018AF8C
[Token(Token = "0x17001386")]
public bool IsUpgraded
{
[Token(Token = "0x60077DD")]
[Address(RVA = "0x446CB0", Offset = "0x4456B0", VA = "0x180446CB0")]
get;
[Token(Token = "0x60077DE")]
[Address(RVA = "0x534E20", Offset = "0x533820", VA = "0x180534E20")]
protected set;
}
// Token: 0x17001387 RID: 4999
// (get) Token: 0x060077DF RID: 30687 RVA: 0x0018CDA0 File Offset: 0x0018AFA0
// (set) Token: 0x060077E0 RID: 30688 RVA: 0x0018CDB4 File Offset: 0x0018AFB4
[Token(Token = "0x17001387")]
public List<Cookie> Cookies
{
[Token(Token = "0x60077DF")]
[Address(RVA = "0x4B81A0", Offset = "0x4B6BA0", VA = "0x1804B81A0")]
get;
[Token(Token = "0x60077E0")]
[Address(RVA = "0x3EDEB0", Offset = "0x3EC8B0", VA = "0x1803EDEB0")]
internal set;
}
// Token: 0x17001388 RID: 5000
// (get) Token: 0x060077E1 RID: 30689 RVA: 0x0018CDC8 File Offset: 0x0018AFC8
[Token(Token = "0x17001388")]
public string DataAsText
{
[Token(Token = "0x60077E1")]
[Address(RVA = "0x1C9CEB0", Offset = "0x1C9B8B0", VA = "0x181C9CEB0")]
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: 0x17001389 RID: 5001
// (get) Token: 0x060077E2 RID: 30690 RVA: 0x0018CE20 File Offset: 0x0018B020
[Token(Token = "0x17001389")]
public Texture2D DataAsTexture2D
{
[Token(Token = "0x60077E2")]
[Address(RVA = "0x1C9CF50", Offset = "0x1C9B950", VA = "0x181C9CF50")]
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: 0x1700138A RID: 5002
// (get) Token: 0x060077E3 RID: 30691 RVA: 0x0018CE84 File Offset: 0x0018B084
// (set) Token: 0x060077E4 RID: 30692 RVA: 0x0018CE98 File Offset: 0x0018B098
[Token(Token = "0x1700138A")]
public bool IsClosedManually
{
[Token(Token = "0x60077E3")]
[Address(RVA = "0x6374D0", Offset = "0x635ED0", VA = "0x1806374D0")]
get;
[Token(Token = "0x60077E4")]
[Address(RVA = "0x6374E0", Offset = "0x635EE0", VA = "0x1806374E0")]
protected set;
}
// Token: 0x060077E5 RID: 30693 RVA: 0x0018CEAC File Offset: 0x0018B0AC
[Token(Token = "0x60077E5")]
[Address(RVA = "0x1C9CDF0", Offset = "0x1C9B7F0", VA = "0x181C9CDF0")]
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: 0x060077E6 RID: 30694 RVA: 0x0018CF04 File Offset: 0x0018B104
[Token(Token = "0x60077E6")]
[Address(RVA = "0x1C9C3B0", Offset = "0x1C9ADB0", VA = "0x181C9C3B0", 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;
if (HTTPManager.Logger == 0)
{
int num3 = this.<VersionMajor>k__BackingField;
string text4 = string.Format("HTTP Version: '{0}.{1}'", num3, num3);
this.VerboseLogging(text4);
}
Stream stream2 = this.Stream;
string text6;
if (HTTPManager.Logger == 0)
{
string text5 = string.Format("Status Code: '{0}'", text6);
this.VerboseLogging(text5);
}
bool flag;
if (!this.baseRequest.<DisableRetry>k__BackingField && !flag)
{
goto IL_27C;
}
int num4 = int.Parse(text6);
this.<StatusCode>k__BackingField = num4;
int stringLength = text6.m_stringLength;
if (stringLength > 0)
{
char c = text6[stringLength];
int stringLength2 = text6.m_stringLength;
char c2 = text6[stringLength2];
Stream stream3 = this.Stream;
string text7;
this.<Message>k__BackingField = text7;
if (HTTPManager.Logger != 0)
{
goto IL_1CA;
}
string text8 = this.<Message>k__BackingField;
string text9 = string.Format("Status Message: '{0}'", text8);
this.VerboseLogging(text9);
}
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.<IsRedirected>k__BackingField)
{
continue;
}
int hashCode = httprequest.<RedirectUri>k__BackingField.m_String.GetHashCode();
string text10 = string.Format("{0} - Skipping Status Message reading!", hashCode);
string empty = string.Empty;
this.<Message>k__BackingField = empty;
IL_1CA:
Stream stream4 = this.Stream;
this.ReadHeaders(stream4);
if (this.<StatusCode>k__BackingField != 101)
{
}
if (this.HasHeaderWithValue("connection", "upgrade"))
{
}
bool flag2 = this.GetHeaderValues("upgrade") != 0;
this.<IsUpgraded>k__BackingField = flag2;
if (flag2 && HTTPManager.Logger == 0)
{
this.VerboseLogging("Request Upgraded!");
}
if (readPayloadData)
{
break;
}
}
HTTPRequest httprequest2 = this.baseRequest;
if (!httprequest2.<DisableRetry>k__BackingField && !httprequest2.<DisableRetry>k__BackingField)
{
goto Block_13;
}
}
return this.ReadPayload(forceReadRawContentLength);
Block_13:
int num5 = 0;
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
int hashCode2 = num5.GetHashCode();
string text11 = string.Format("{0} - Failed to read Status Line! Retry is enabled, returning with false.", hashCode2);
IL_27C:
throw new NullReferenceException();
}
// Token: 0x060077E7 RID: 30695 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60077E7")]
[Address(RVA = "0x1C9B050", Offset = "0x1C99A50", VA = "0x181C9B050")]
protected bool ReadPayload(int forceReadRawContentLength)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060077E8 RID: 30696 RVA: 0x0018D194 File Offset: 0x0018B394
[Token(Token = "0x60077E8")]
[Address(RVA = "0x1C9AF00", Offset = "0x1C99900", VA = "0x181C9AF00")]
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: 0x060077E9 RID: 30697 RVA: 0x0018D1F4 File Offset: 0x0018B3F4
[Token(Token = "0x60077E9")]
[Address(RVA = "0x1C98A90", Offset = "0x1C97490", VA = "0x181C98A90")]
protected void AddHeader(string name, string value)
{
string text = name.ToLower();
if (this.<Headers>k__BackingField == 0)
{
Dictionary<string, List<string>> dictionary = new Dictionary();
this.<Headers>k__BackingField = dictionary;
}
bool flag;
List<string> list;
if (!flag)
{
Dictionary<string, List<string>> dictionary2 = this.<Headers>k__BackingField;
list = new List(1);
dictionary2.Add(text, list);
}
list.Add(value);
}
// Token: 0x060077EA RID: 30698 RVA: 0x0018D24C File Offset: 0x0018B44C
[Token(Token = "0x60077EA")]
[Address(RVA = "0x1C99CF0", Offset = "0x1C986F0", VA = "0x181C99CF0")]
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: 0x060077EB RID: 30699 RVA: 0x0018D280 File Offset: 0x0018B480
[Token(Token = "0x60077EB")]
[Address(RVA = "0x1C99C40", Offset = "0x1C98640", VA = "0x181C99C40")]
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: 0x060077EC RID: 30700 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60077EC")]
[Address(RVA = "0x1C9A260", Offset = "0x1C98C60", VA = "0x181C9A260")]
public bool HasHeaderWithValue(string headerName, string value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060077ED RID: 30701 RVA: 0x0018D2B8 File Offset: 0x0018B4B8
[Token(Token = "0x60077ED")]
[Address(RVA = "0x1C9A310", Offset = "0x1C98D10", VA = "0x181C9A310")]
public bool HasHeader(string headerName)
{
return this.GetHeaderValues(headerName) != 0;
}
// Token: 0x060077EE RID: 30702 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60077EE")]
[Address(RVA = "0x1C99D90", Offset = "0x1C98790", VA = "0x181C99D90")]
public HTTPRange GetRange()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060077EF RID: 30703 RVA: 0x0018D2D4 File Offset: 0x0018B4D4
[Token(Token = "0x60077EF")]
[Address(RVA = "0x1C9B7D0", Offset = "0x1C9A1D0", VA = "0x181C9B7D0")]
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;
if (num != -1)
{
}
}
while (num != 0);
string text;
return text;
}
// Token: 0x060077F0 RID: 30704 RVA: 0x0018D34C File Offset: 0x0018B54C
[Token(Token = "0x60077F0")]
[Address(RVA = "0x1C9BAD0", Offset = "0x1C9A4D0", VA = "0x181C9BAD0")]
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;
if (num != -1)
{
}
}
while (num != 0);
string text;
return text;
}
// Token: 0x060077F1 RID: 30705 RVA: 0x0018D3CC File Offset: 0x0018B5CC
[Token(Token = "0x60077F1")]
[Address(RVA = "0x1C9A440", Offset = "0x1C98E40", VA = "0x181C9A440")]
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 != stream && num4 != (int)blocker2 && num4 != -1 && !char.IsWhiteSpace((char)num5))
{
num++;
}
Encoding utf = Encoding.UTF8;
if (num != -1)
{
}
}
while (num != 0);
string text;
return text;
}
// Token: 0x060077F2 RID: 30706 RVA: 0x0018D434 File Offset: 0x0018B634
[Token(Token = "0x60077F2")]
[Address(RVA = "0x1C9A6E0", Offset = "0x1C990E0", VA = "0x181C9A6E0")]
protected int ReadChunkLength(Stream stream)
{
/*
An exception occurred when decompiling this method (060077F2)
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: 0x060077F3 RID: 30707 RVA: 0x0018D490 File Offset: 0x0018B690
[Token(Token = "0x60077F3")]
[Address(RVA = "0x1C9A800", Offset = "0x1C99200", VA = "0x181C9A800")]
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);
}
if (HTTPManager.Logger == 0)
{
string text;
this.VerboseLogging(text);
}
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream();
int num3 = this.ReadChunkLength(stream);
if (HTTPManager.Logger == 0)
{
string text2;
this.VerboseLogging(text2);
}
ulong num4;
byte[] array = VariableSizedBufferPool.Get((long)Mathf.NextPowerOfTwo(num3), num4 != 0UL);
this.baseRequest.<DownloadLength>k__BackingField = (long)num3;
HTTPRequest httprequest = this.baseRequest;
int num5 = this.<StatusCode>k__BackingField;
if (num3 <= 99 || num5 != 304)
{
}
uint num6;
bool flag2 = num6 != (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 (num3 != 0)
{
num3 -= num;
stream.SetLength((long)num3);
HTTPRequest httprequest2 = this.baseRequest;
httprequest3 = this.baseRequest;
if (!this.IsSuccess)
{
}
uint num7;
bool flag4 = num7 != (uint)0;
httprequest3.<DownloadProgressChanged>k__BackingField = flag4;
if (num < num3)
{
}
if (!this.baseRequest.useStreaming)
{
int num8 = bufferPoolMemoryStream.ReadByte();
}
if (httprequest3 == 0)
{
}
byte[] array2;
if (array2 != 0)
{
int length = array2.Length;
int num9 = 0;
this.FeedStreamFragment(array2, num9, length);
}
ulong num10;
string text3 = HTTPResponse.ReadTo(stream, (byte)num10);
num3 = this.ReadChunkLength(stream);
if (HTTPManager.Logger == 0)
{
string text4;
this.VerboseLogging(text4);
}
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 num11 = 0;
this.FeedStreamFragment(array3, num11, length2);
}
this.FlushRemainingFragmentBuffer();
}
this.ReadHeaders(stream);
if (!this.baseRequest.useStreaming)
{
byte[] array4 = this.DecodeStream(bufferPoolMemoryStream);
this.<Data>k__BackingField = array4;
}
if (bufferPoolMemoryStream != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
this.CloseDecompressors();
}
// Token: 0x060077F4 RID: 30708 RVA: 0x0018D72C File Offset: 0x0018B92C
[Token(Token = "0x60077F4")]
[Address(RVA = "0x1C9B210", Offset = "0x1C99C10", VA = "0x181C9B210")]
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 != -1)
{
}
if (num == 0)
{
break;
}
}
}
this.CloseDecompressors();
}
// Token: 0x060077F5 RID: 30709 RVA: 0x0018D8FC File Offset: 0x0018BAFC
[Token(Token = "0x60077F5")]
[Address(RVA = "0x1C9BDE0", Offset = "0x1C9A7E0", VA = "0x181C9BDE0")]
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;
int num12 = 0;
if (stream != 0)
{
}
if ((num11 != -1 && "{il2cpp array field local18->}" == (ulong)493L) || num12 == 0)
{
break;
}
continue;
IL_B3:
int num13 = array.Length;
num13 -= 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: 0x060077F6 RID: 30710 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60077F6")]
[Address(RVA = "0x1C98F90", Offset = "0x1C97990", VA = "0x181C98F90")]
protected byte[] DecodeStream(BufferPoolMemoryStream streamToDecode)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060077F7 RID: 30711 RVA: 0x0018DBA4 File Offset: 0x0018BDA4
[Token(Token = "0x60077F7")]
[Address(RVA = "0x1C98F20", Offset = "0x1C97920", VA = "0x181C98F20")]
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: 0x060077F8 RID: 30712 RVA: 0x0018DBFC File Offset: 0x0018BDFC
[Token(Token = "0x60077F8")]
[Address(RVA = "0x1C99280", Offset = "0x1C97C80", VA = "0x181C99280")]
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: 0x060077F9 RID: 30713 RVA: 0x0018DC64 File Offset: 0x0018BE64
[Token(Token = "0x60077F9")]
[Address(RVA = "0x1C98DF0", Offset = "0x1C977F0", VA = "0x181C98DF0")]
protected void BeginReceiveStreamFragments()
{
HTTPRequest httprequest = this.baseRequest;
if (!httprequest.disableCache && httprequest.useStreaming && !this.<IsFromCache>k__BackingField)
{
if (httprequest.<IsRedirected>k__BackingField)
{
}
Uri <Uri>k__BackingField = httprequest.<Uri>k__BackingField;
HTTPMethods <MethodType>k__BackingField = httprequest.<MethodType>k__BackingField;
if (HTTPCacheService.IsCacheble(<Uri>k__BackingField, <MethodType>k__BackingField, this))
{
HTTPRequest httprequest2 = this.baseRequest;
if (httprequest2.<IsRedirected>k__BackingField)
{
}
Stream stream = HTTPCacheService.PrepareStreamed(httprequest2.<Uri>k__BackingField, this);
this.cacheStream = stream;
}
}
this.allFragmentSize = (int)((ulong)0L);
}
// Token: 0x060077FA RID: 30714 RVA: 0x0018DCEC File Offset: 0x0018BEEC
[Token(Token = "0x60077FA")]
[Address(RVA = "0x1C99630", Offset = "0x1C98030", VA = "0x181C99630")]
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: 0x060077FB RID: 30715 RVA: 0x0018DE14 File Offset: 0x0018C014
[Token(Token = "0x60077FB")]
[Address(RVA = "0x1C99900", Offset = "0x1C98300", VA = "0x181C99900")]
protected void FlushRemainingFragmentBuffer()
{
int num = 0;
if (this.fragmentBuffer != num)
{
byte[] array = this.fragmentBuffer;
this.AddStreamedFragment(array);
this.fragmentBuffer = num;
this.fragmentBufferDataLength = num;
}
Stream stream = this.cacheStream;
if (stream != 0)
{
stream.Dispose();
HTTPRequest httprequest = this.baseRequest;
this.cacheStream = num;
if ((httprequest.<IsRedirected>k__BackingField ? 1 : 0) != num)
{
}
Uri <Uri>k__BackingField = httprequest.<Uri>k__BackingField;
int num2 = this.allFragmentSize;
HTTPCacheService.SetBodyLength(<Uri>k__BackingField, num2);
}
AutoResetEvent autoResetEvent = this.fragmentWaitEvent;
this.fragmentWaitEvent = num;
if (autoResetEvent != 0)
{
}
}
// Token: 0x060077FC RID: 30716 RVA: 0x0018DEA8 File Offset: 0x0018C0A8
[Token(Token = "0x60077FC")]
[Address(RVA = "0x1C98BB0", Offset = "0x1C975B0", VA = "0x181C98BB0")]
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();
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x060077FD RID: 30717 RVA: 0x0018DF68 File Offset: 0x0018C168
[Token(Token = "0x60077FD")]
[Address(RVA = "0x1C9CCF0", Offset = "0x1C9B6F0", VA = "0x181C9CCF0")]
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: 0x060077FE RID: 30718 RVA: 0x0018DFC8 File Offset: 0x0018C1C8
[Token(Token = "0x60077FE")]
[Address(RVA = "0x1C99A50", Offset = "0x1C98450", VA = "0x181C99A50")]
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 (this != (ulong)(-1L))
{
}
if (num == 0)
{
break;
}
}
}
return flag;
}
// Token: 0x060077FF RID: 30719 RVA: 0x0018E074 File Offset: 0x0018C274
[Token(Token = "0x60077FF")]
[Address(RVA = "0x1C99FD0", Offset = "0x1C989D0", VA = "0x181C99FD0")]
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();
}
if (HTTPManager.Logger == 0)
{
int size = list2._size;
string text = string.Format("GetStreamedFragments - returning with {0:N0} fragments", size);
this.VerboseLogging(text);
}
}
if (HTTPManager.Logger == 0)
{
this.VerboseLogging("GetStreamedFragments - no fragments, returning with null");
}
Monitor.Exit(syncRoot);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x06007800 RID: 30720 RVA: 0x0018E12C File Offset: 0x0018C32C
[Token(Token = "0x6007800")]
[Address(RVA = "0x1C9A330", Offset = "0x1C98D30", VA = "0x181C9A330")]
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);
if (num != -1)
{
}
}
while (num != 0);
return flag;
}
// Token: 0x06007801 RID: 30721 RVA: 0x0018E184 File Offset: 0x0018C384
[Token(Token = "0x6007801")]
[Address(RVA = "0x1C99870", Offset = "0x1C98270", VA = "0x181C99870")]
internal void FinishStreaming()
{
if (HTTPManager.Logger == 0)
{
this.VerboseLogging("FinishStreaming");
}
this.<IsStreamingFinished>k__BackingField = true;
this.Dispose();
}
// Token: 0x06007802 RID: 30722 RVA: 0x0018E1BC File Offset: 0x0018C3BC
[Token(Token = "0x6007802")]
[Address(RVA = "0x1C9CBC0", Offset = "0x1C9B5C0", VA = "0x181C9CBC0")]
private void VerboseLogging(string str)
{
if (HTTPManager.Logger == 0)
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
HTTPRequest httprequest = this.baseRequest;
if (httprequest.<IsRedirected>k__BackingField)
{
}
int hashCode = httprequest.<Uri>k__BackingField.GetHashCode();
}
}
// Token: 0x06007803 RID: 30723 RVA: 0x0018E200 File Offset: 0x0018C400
[Token(Token = "0x6007803")]
[Address(RVA = "0x1C99550", Offset = "0x1C97F50", VA = "0x181C99550", 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: 0x04005674 RID: 22132
[Token(Token = "0x4005674")]
internal const byte CR = 13;
// Token: 0x04005675 RID: 22133
[Token(Token = "0x4005675")]
internal const byte LF = 10;
// Token: 0x04005676 RID: 22134
[Token(Token = "0x4005676")]
public const int MinBufferSize = 4096;
// Token: 0x04005684 RID: 22148
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4005684")]
protected string dataAsText;
// Token: 0x04005685 RID: 22149
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4005685")]
protected Texture2D texture;
// Token: 0x04005687 RID: 22151
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x4005687")]
internal HTTPRequest baseRequest;
// Token: 0x04005688 RID: 22152
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x4005688")]
protected Stream Stream;
// Token: 0x04005689 RID: 22153
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x4005689")]
protected List<byte[]> streamedFragments;
// Token: 0x0400568A RID: 22154
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x400568A")]
protected object SyncRoot;
// Token: 0x0400568B RID: 22155
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x400568B")]
protected byte[] fragmentBuffer;
// Token: 0x0400568C RID: 22156
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400568C")]
protected int fragmentBufferDataLength;
// Token: 0x0400568D RID: 22157
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400568D")]
protected Stream cacheStream;
// Token: 0x0400568E RID: 22158
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400568E")]
protected int allFragmentSize;
// Token: 0x0400568F RID: 22159
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400568F")]
private BufferPoolMemoryStream decompressorInputStream;
// Token: 0x04005690 RID: 22160
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4005690")]
private BufferPoolMemoryStream decompressorOutputStream;
// Token: 0x04005691 RID: 22161
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4005691")]
private GZipStream decompressorGZipStream;
// Token: 0x04005692 RID: 22162
[Token(Token = "0x4005692")]
private const int MinLengthToDecompress = 256;
// Token: 0x04005693 RID: 22163
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4005693")]
private AutoResetEvent fragmentWaitEvent;
}
}
@@ -0,0 +1,207 @@
using System;
using System.Runtime.InteropServices;
using System.Threading;
using BestHTTP.Caching;
using BestHTTP.Cookies;
using BestHTTP.Logger;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP
{
// Token: 0x020012B6 RID: 4790
[Token(Token = "0x20012B6")]
[ExecuteInEditMode]
[StructLayout(3)]
public sealed class HTTPUpdateDelegator : MonoBehaviour
{
// Token: 0x1700138B RID: 5003
// (get) Token: 0x06007804 RID: 30724 RVA: 0x0018E248 File Offset: 0x0018C448
// (set) Token: 0x06007805 RID: 30725 RVA: 0x0018E25C File Offset: 0x0018C45C
[Token(Token = "0x1700138B")]
public static HTTPUpdateDelegator Instance
{
[Token(Token = "0x6007804")]
[Address(RVA = "0x2686800", Offset = "0x2685200", VA = "0x182686800")]
get;
[Token(Token = "0x6007805")]
[Address(RVA = "0x2686A40", Offset = "0x2685440", VA = "0x182686A40")]
private set;
}
// Token: 0x1700138C RID: 5004
// (get) Token: 0x06007806 RID: 30726 RVA: 0x0018E270 File Offset: 0x0018C470
// (set) Token: 0x06007807 RID: 30727 RVA: 0x0018E284 File Offset: 0x0018C484
[Token(Token = "0x1700138C")]
public static bool IsCreated
{
[Token(Token = "0x6007806")]
[Address(RVA = "0x2686860", Offset = "0x2685260", VA = "0x182686860")]
get;
[Token(Token = "0x6007807")]
[Address(RVA = "0x2686B00", Offset = "0x2685500", VA = "0x182686B00")]
private set;
}
// Token: 0x1700138D RID: 5005
// (get) Token: 0x06007808 RID: 30728 RVA: 0x0018E298 File Offset: 0x0018C498
// (set) Token: 0x06007809 RID: 30729 RVA: 0x0018E2AC File Offset: 0x0018C4AC
[Token(Token = "0x1700138D")]
public static bool IsThreaded
{
[Token(Token = "0x6007808")]
[Address(RVA = "0x2686920", Offset = "0x2685320", VA = "0x182686920")]
get;
[Token(Token = "0x6007809")]
[Address(RVA = "0x2686BC0", Offset = "0x26855C0", VA = "0x182686BC0")]
set;
}
// Token: 0x1700138E RID: 5006
// (get) Token: 0x0600780A RID: 30730 RVA: 0x0018E2C0 File Offset: 0x0018C4C0
// (set) Token: 0x0600780B RID: 30731 RVA: 0x0018E2D4 File Offset: 0x0018C4D4
[Token(Token = "0x1700138E")]
public static bool IsThreadRunning
{
[Token(Token = "0x600780A")]
[Address(RVA = "0x26868C0", Offset = "0x26852C0", VA = "0x1826868C0")]
get;
[Token(Token = "0x600780B")]
[Address(RVA = "0x2686B60", Offset = "0x2685560", VA = "0x182686B60")]
private set;
}
// Token: 0x1700138F RID: 5007
// (get) Token: 0x0600780C RID: 30732 RVA: 0x0018E2E8 File Offset: 0x0018C4E8
// (set) Token: 0x0600780D RID: 30733 RVA: 0x0018E2FC File Offset: 0x0018C4FC
[Token(Token = "0x1700138F")]
public static int ThreadFrequencyInMS
{
[Token(Token = "0x600780C")]
[Address(RVA = "0x2686980", Offset = "0x2685380", VA = "0x182686980")]
get;
[Token(Token = "0x600780D")]
[Address(RVA = "0x2686C20", Offset = "0x2685620", VA = "0x182686C20")]
set;
}
// Token: 0x0600780F RID: 30735 RVA: 0x0018E320 File Offset: 0x0018C520
[Token(Token = "0x600780F")]
[Address(RVA = "0x26859A0", Offset = "0x26843A0", VA = "0x1826859A0")]
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: 0x06007810 RID: 30736 RVA: 0x0018E3AC File Offset: 0x0018C5AC
[Token(Token = "0x6007810")]
[Address(RVA = "0x26861D0", Offset = "0x2684BD0", VA = "0x1826861D0")]
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: 0x06007811 RID: 30737 RVA: 0x0018E414 File Offset: 0x0018C614
[Token(Token = "0x6007811")]
[Address(RVA = "0x26863D0", Offset = "0x2684DD0", VA = "0x1826863D0")]
private void ThreadFunc(object obj)
{
int num;
do
{
num = 0;
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
HTTPManager.OnUpdate();
BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger;
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x06007812 RID: 30738 RVA: 0x0018E448 File Offset: 0x0018C648
[Token(Token = "0x6007812")]
[Address(RVA = "0x2686670", Offset = "0x2685070", VA = "0x182686670")]
private void Update()
{
this.Setup();
HTTPManager.OnUpdate();
}
// Token: 0x06007813 RID: 30739 RVA: 0x0018E464 File Offset: 0x0018C664
[Token(Token = "0x6007813")]
[Address(RVA = "0x2686140", Offset = "0x2684B40", VA = "0x182686140")]
private void OnDisable()
{
BestHTTP.Logger.ILogger logger = HTTPManager.Logger;
this.OnApplicationQuit();
}
// Token: 0x06007814 RID: 30740 RVA: 0x0018E488 File Offset: 0x0018C688
[Token(Token = "0x6007814")]
[Address(RVA = "0x2685D40", Offset = "0x2684740", VA = "0x182685D40")]
private void OnApplicationPause(bool isPaused)
{
HTTPUpdateDelegator.OnApplicationForegroundStateChanged(isPaused);
}
// Token: 0x06007815 RID: 30741 RVA: 0x0018E4A8 File Offset: 0x0018C6A8
[Token(Token = "0x6007815")]
[Address(RVA = "0x2685DF0", Offset = "0x26847F0", VA = "0x182685DF0")]
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: 0x06007816 RID: 30742 RVA: 0x0018E504 File Offset: 0x0018C704
[Token(Token = "0x6007816")]
[Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")]
public HTTPUpdateDelegator()
{
}
// Token: 0x04005699 RID: 22169
[Token(Token = "0x4005699")]
public static Func<bool> OnBeforeApplicationQuit;
// Token: 0x0400569A RID: 22170
[Token(Token = "0x400569A")]
public static Action<bool> OnApplicationForegroundStateChanged;
// Token: 0x0400569B RID: 22171
[Token(Token = "0x400569B")]
private static bool IsSetupCalled;
}
}
+27
View File
@@ -0,0 +1,27 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012B4 RID: 4788
[Token(Token = "0x20012B4")]
[StructLayout(3)]
public interface IProtocol
{
// Token: 0x17001379 RID: 4985
// (get) Token: 0x060077C4 RID: 30660
[Token(Token = "0x17001379")]
bool IsClosed
{
[Token(Token = "0x60077C4")]
[Address(Slot = "0")]
get;
}
// Token: 0x060077C5 RID: 30661
[Token(Token = "0x60077C5")]
[Address(Slot = "1")]
void HandleEvents();
}
}
+483
View File
@@ -0,0 +1,483 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.JSON
{
// Token: 0x020019A1 RID: 6561
[Token(Token = "0x20019A1")]
[StructLayout(3)]
public class Json
{
// Token: 0x0600B03E RID: 45118 RVA: 0x00293870 File Offset: 0x00291A70
[Token(Token = "0x600B03E")]
[Address(RVA = "0x2687150", Offset = "0x2685B50", VA = "0x182687150")]
public static object Decode(string json)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600B03F RID: 45119 RVA: 0x0029388C File Offset: 0x00291A8C
[Token(Token = "0x600B03F")]
[Address(RVA = "0x26871A0", Offset = "0x2685BA0", VA = "0x1826871A0")]
public static object Decode(string json, ref bool success)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600B040 RID: 45120 RVA: 0x002938A8 File Offset: 0x00291AA8
[Token(Token = "0x600B040")]
[Address(RVA = "0x2687280", Offset = "0x2685C80", VA = "0x182687280")]
public static string Encode(object json)
{
StringBuilder stringBuilder = new StringBuilder(2000);
if (Json.SerializeValue(json, stringBuilder))
{
}
throw new NullReferenceException();
}
// Token: 0x0600B041 RID: 45121 RVA: 0x002938D4 File Offset: 0x00291AD4
[Token(Token = "0x600B041")]
[Address(RVA = "0x26879B0", Offset = "0x26863B0", VA = "0x1826879B0")]
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: 0x0600B042 RID: 45122 RVA: 0x0029393C File Offset: 0x00291B3C
[Token(Token = "0x600B042")]
[Address(RVA = "0x2687740", Offset = "0x2686140", VA = "0x182687740")]
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: 0x0600B043 RID: 45123 RVA: 0x0029397C File Offset: 0x00291B7C
[Token(Token = "0x600B043")]
[Address(RVA = "0x2687E00", Offset = "0x2686800", VA = "0x182687E00")]
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: 0x0600B044 RID: 45124 RVA: 0x00293A50 File Offset: 0x00291C50
[Token(Token = "0x600B044")]
[Address(RVA = "0x2687AE0", Offset = "0x26864E0", VA = "0x182687AE0")]
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: 0x0600B045 RID: 45125 RVA: 0x00293AE8 File Offset: 0x00291CE8
[Token(Token = "0x600B045")]
[Address(RVA = "0x2687840", Offset = "0x2686240", VA = "0x182687840")]
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: 0x0600B046 RID: 45126 RVA: 0x00293B24 File Offset: 0x00291D24
[Token(Token = "0x600B046")]
[Address(RVA = "0x2687310", Offset = "0x2685D10", VA = "0x182687310")]
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: 0x0600B047 RID: 45127 RVA: 0x00293B54 File Offset: 0x00291D54
[Token(Token = "0x600B047")]
[Address(RVA = "0x26871F0", Offset = "0x2685BF0", VA = "0x1826871F0")]
protected static void EatWhitespace(char[] json, ref int index)
{
int length = json.Length;
int num;
if (num != -1)
{
}
}
// Token: 0x0600B048 RID: 45128 RVA: 0x00293B74 File Offset: 0x00291D74
[Token(Token = "0x600B048")]
[Address(RVA = "0x26873A0", Offset = "0x2685DA0", VA = "0x1826873A0")]
protected static int LookAhead(char[] json, int index)
{
return Json.NextToken(json, index);
}
// Token: 0x0600B049 RID: 45129 RVA: 0x00293B88 File Offset: 0x00291D88
[Token(Token = "0x600B049")]
[Address(RVA = "0x26873C0", Offset = "0x2685DC0", VA = "0x1826873C0")]
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: 0x0600B04A RID: 45130 RVA: 0x00293BC4 File Offset: 0x00291DC4
[Token(Token = "0x600B04A")]
[Address(RVA = "0x2688800", Offset = "0x2687200", VA = "0x182688800")]
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: 0x0600B04B RID: 45131 RVA: 0x00293CC0 File Offset: 0x00291EC0
[Token(Token = "0x600B04B")]
[Address(RVA = "0x26883F0", Offset = "0x2686DF0", VA = "0x1826883F0")]
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: 0x0600B04C RID: 45132 RVA: 0x00293D24 File Offset: 0x00291F24
[Token(Token = "0x600B04C")]
[Address(RVA = "0x2688230", Offset = "0x2686C30", VA = "0x182688230")]
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: 0x0600B04D RID: 45133 RVA: 0x00293D78 File Offset: 0x00291F78
[Token(Token = "0x600B04D")]
[Address(RVA = "0x2688560", Offset = "0x2686F60", VA = "0x182688560")]
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: 0x0600B04E RID: 45134 RVA: 0x00293E78 File Offset: 0x00292078
[Token(Token = "0x600B04E")]
[Address(RVA = "0x2688340", Offset = "0x2686D40", VA = "0x182688340")]
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: 0x0600B04F RID: 45135 RVA: 0x00293EA4 File Offset: 0x002920A4
[Token(Token = "0x600B04F")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Json()
{
}
// Token: 0x040073DA RID: 29658
[Token(Token = "0x40073DA")]
private const int TOKEN_NONE = 0;
// Token: 0x040073DB RID: 29659
[Token(Token = "0x40073DB")]
private const int TOKEN_CURLY_OPEN = 1;
// Token: 0x040073DC RID: 29660
[Token(Token = "0x40073DC")]
private const int TOKEN_CURLY_CLOSE = 2;
// Token: 0x040073DD RID: 29661
[Token(Token = "0x40073DD")]
private const int TOKEN_SQUARED_OPEN = 3;
// Token: 0x040073DE RID: 29662
[Token(Token = "0x40073DE")]
private const int TOKEN_SQUARED_CLOSE = 4;
// Token: 0x040073DF RID: 29663
[Token(Token = "0x40073DF")]
private const int TOKEN_COLON = 5;
// Token: 0x040073E0 RID: 29664
[Token(Token = "0x40073E0")]
private const int TOKEN_COMMA = 6;
// Token: 0x040073E1 RID: 29665
[Token(Token = "0x40073E1")]
private const int TOKEN_STRING = 7;
// Token: 0x040073E2 RID: 29666
[Token(Token = "0x40073E2")]
private const int TOKEN_NUMBER = 8;
// Token: 0x040073E3 RID: 29667
[Token(Token = "0x40073E3")]
private const int TOKEN_TRUE = 9;
// Token: 0x040073E4 RID: 29668
[Token(Token = "0x40073E4")]
private const int TOKEN_FALSE = 10;
// Token: 0x040073E5 RID: 29669
[Token(Token = "0x40073E5")]
private const int TOKEN_NULL = 11;
// Token: 0x040073E6 RID: 29670
[Token(Token = "0x40073E6")]
private const int BUILDER_CAPACITY = 2000;
}
}
@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200129D RID: 4765
[Token(Token = "0x200129D")]
[StructLayout(3)]
internal sealed class KeepAliveHeader
{
// Token: 0x17001326 RID: 4902
// (get) Token: 0x06007698 RID: 30360 RVA: 0x00187D3C File Offset: 0x00185F3C
// (set) Token: 0x06007699 RID: 30361 RVA: 0x00187D50 File Offset: 0x00185F50
[Token(Token = "0x17001326")]
public TimeSpan TimeOut
{
[Token(Token = "0x6007698")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get;
[Token(Token = "0x6007699")]
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
private set;
}
// Token: 0x17001327 RID: 4903
// (get) Token: 0x0600769A RID: 30362 RVA: 0x00187D64 File Offset: 0x00185F64
// (set) Token: 0x0600769B RID: 30363 RVA: 0x00187D78 File Offset: 0x00185F78
[Token(Token = "0x17001327")]
public int MaxRequests
{
[Token(Token = "0x600769A")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
get;
[Token(Token = "0x600769B")]
[Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")]
private set;
}
// Token: 0x0600769C RID: 30364 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600769C")]
[Address(RVA = "0x2688CC0", Offset = "0x26876C0", VA = "0x182688CC0")]
public void Parse(List<string> headerValues)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600769D RID: 30365 RVA: 0x00187D8C File Offset: 0x00185F8C
[Token(Token = "0x600769D")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public KeepAliveHeader()
{
}
}
}
@@ -0,0 +1,226 @@
using System;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
using UnityEngine;
namespace BestHTTP.Logger
{
// Token: 0x0200199E RID: 6558
[Token(Token = "0x200199E")]
[StructLayout(3)]
public class DefaultLogger : ILogger
{
// Token: 0x17001C66 RID: 7270
// (get) Token: 0x0600B01A RID: 45082 RVA: 0x00293548 File Offset: 0x00291748
// (set) Token: 0x0600B01B RID: 45083 RVA: 0x0029355C File Offset: 0x0029175C
[Token(Token = "0x17001C66")]
public Loglevels Level
{
[Token(Token = "0x600B01A")]
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
get;
[Token(Token = "0x600B01B")]
[Address(RVA = "0x559450", Offset = "0x557E50", VA = "0x180559450", Slot = "5")]
set;
}
// Token: 0x17001C67 RID: 7271
// (get) Token: 0x0600B01C RID: 45084 RVA: 0x00293570 File Offset: 0x00291770
// (set) Token: 0x0600B01D RID: 45085 RVA: 0x00293584 File Offset: 0x00291784
[Token(Token = "0x17001C67")]
public string FormatVerbose
{
[Token(Token = "0x600B01C")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "6")]
get;
[Token(Token = "0x600B01D")]
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280", Slot = "7")]
set;
}
// Token: 0x17001C68 RID: 7272
// (get) Token: 0x0600B01E RID: 45086 RVA: 0x00293598 File Offset: 0x00291798
// (set) Token: 0x0600B01F RID: 45087 RVA: 0x002935AC File Offset: 0x002917AC
[Token(Token = "0x17001C68")]
public string FormatInfo
{
[Token(Token = "0x600B01E")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "8")]
get;
[Token(Token = "0x600B01F")]
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260", Slot = "9")]
set;
}
// Token: 0x17001C69 RID: 7273
// (get) Token: 0x0600B020 RID: 45088 RVA: 0x002935C0 File Offset: 0x002917C0
// (set) Token: 0x0600B021 RID: 45089 RVA: 0x002935D4 File Offset: 0x002917D4
[Token(Token = "0x17001C69")]
public string FormatWarn
{
[Token(Token = "0x600B020")]
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "10")]
get;
[Token(Token = "0x600B021")]
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270", Slot = "11")]
set;
}
// Token: 0x17001C6A RID: 7274
// (get) Token: 0x0600B022 RID: 45090 RVA: 0x002935E8 File Offset: 0x002917E8
// (set) Token: 0x0600B023 RID: 45091 RVA: 0x002935FC File Offset: 0x002917FC
[Token(Token = "0x17001C6A")]
public string FormatErr
{
[Token(Token = "0x600B022")]
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250", Slot = "12")]
get;
[Token(Token = "0x600B023")]
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290", Slot = "13")]
set;
}
// Token: 0x17001C6B RID: 7275
// (get) Token: 0x0600B024 RID: 45092 RVA: 0x00293610 File Offset: 0x00291810
// (set) Token: 0x0600B025 RID: 45093 RVA: 0x00293624 File Offset: 0x00291824
[Token(Token = "0x17001C6B")]
public string FormatEx
{
[Token(Token = "0x600B024")]
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0", Slot = "14")]
get;
[Token(Token = "0x600B025")]
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00", Slot = "15")]
set;
}
// Token: 0x0600B026 RID: 45094 RVA: 0x00293638 File Offset: 0x00291838
[Token(Token = "0x600B026")]
[Address(RVA = "0x26846E0", Offset = "0x26830E0", VA = "0x1826846E0")]
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: 0x0600B027 RID: 45095 RVA: 0x00293694 File Offset: 0x00291894
[Token(Token = "0x600B027")]
[Address(RVA = "0x2684540", Offset = "0x2682F40", VA = "0x182684540", 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: 0x0600B028 RID: 45096 RVA: 0x002936C0 File Offset: 0x002918C0
[Token(Token = "0x600B028")]
[Address(RVA = "0x2684470", Offset = "0x2682E70", VA = "0x182684470", 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: 0x0600B029 RID: 45097 RVA: 0x002936EC File Offset: 0x002918EC
[Token(Token = "0x600B029")]
[Address(RVA = "0x2684610", Offset = "0x2683010", VA = "0x182684610", 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: 0x0600B02A RID: 45098 RVA: 0x00293718 File Offset: 0x00291918
[Token(Token = "0x600B02A")]
[Address(RVA = "0x2683F40", Offset = "0x2682940", VA = "0x182683F40", 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: 0x0600B02B RID: 45099 RVA: 0x00293744 File Offset: 0x00291944
[Token(Token = "0x600B02B")]
[Address(RVA = "0x2684010", Offset = "0x2682A10", VA = "0x182684010", 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;
if (ex._innerException != 0)
{
StringBuilder stringBuilder2 = stringBuilder.AppendLine();
}
}
int hashCode = stringBuilder.GetHashCode();
}
string text = this.<FormatEx>k__BackingField;
object[] array = new object[5];
DateTime now = DateTime.Now;
if (now != 0)
{
}
array[0] = now;
if (division != 0)
{
}
array[1] = division;
if (now != 0)
{
}
array[2] = now;
if ("null" != 0)
{
}
array[3] = "null";
if (ex != 0)
{
Exception innerException2 = ex.InnerException;
}
if ("null" != 0)
{
}
array[4] = "null";
Debug.LogError(string.Format(text, array));
}
// Token: 0x0600B02C RID: 45100 RVA: 0x00293858 File Offset: 0x00291A58
[Token(Token = "0x600B02C")]
[Address(RVA = "0x26843F0", Offset = "0x2682DF0", VA = "0x1826843F0")]
private string GetFormattedTime()
{
/*
An exception occurred when decompiling this method (0600B02C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.Logger.DefaultLogger::GetFormattedTime()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:DateTime(var_2_09, callgetter:DateTime(DateTime::get_Now))
}
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
*/;
}
}
}
+121
View File
@@ -0,0 +1,121 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Logger
{
// Token: 0x020019A0 RID: 6560
[Token(Token = "0x20019A0")]
[StructLayout(3)]
public interface ILogger
{
// Token: 0x17001C6C RID: 7276
// (get) Token: 0x0600B02D RID: 45101
// (set) Token: 0x0600B02E RID: 45102
[Token(Token = "0x17001C6C")]
Loglevels Level
{
[Token(Token = "0x600B02D")]
[Address(Slot = "0")]
get;
[Token(Token = "0x600B02E")]
[Address(Slot = "1")]
set;
}
// Token: 0x17001C6D RID: 7277
// (get) Token: 0x0600B02F RID: 45103
// (set) Token: 0x0600B030 RID: 45104
[Token(Token = "0x17001C6D")]
string FormatVerbose
{
[Token(Token = "0x600B02F")]
[Address(Slot = "2")]
get;
[Token(Token = "0x600B030")]
[Address(Slot = "3")]
set;
}
// Token: 0x17001C6E RID: 7278
// (get) Token: 0x0600B031 RID: 45105
// (set) Token: 0x0600B032 RID: 45106
[Token(Token = "0x17001C6E")]
string FormatInfo
{
[Token(Token = "0x600B031")]
[Address(Slot = "4")]
get;
[Token(Token = "0x600B032")]
[Address(Slot = "5")]
set;
}
// Token: 0x17001C6F RID: 7279
// (get) Token: 0x0600B033 RID: 45107
// (set) Token: 0x0600B034 RID: 45108
[Token(Token = "0x17001C6F")]
string FormatWarn
{
[Token(Token = "0x600B033")]
[Address(Slot = "6")]
get;
[Token(Token = "0x600B034")]
[Address(Slot = "7")]
set;
}
// Token: 0x17001C70 RID: 7280
// (get) Token: 0x0600B035 RID: 45109
// (set) Token: 0x0600B036 RID: 45110
[Token(Token = "0x17001C70")]
string FormatErr
{
[Token(Token = "0x600B035")]
[Address(Slot = "8")]
get;
[Token(Token = "0x600B036")]
[Address(Slot = "9")]
set;
}
// Token: 0x17001C71 RID: 7281
// (get) Token: 0x0600B037 RID: 45111
// (set) Token: 0x0600B038 RID: 45112
[Token(Token = "0x17001C71")]
string FormatEx
{
[Token(Token = "0x600B037")]
[Address(Slot = "10")]
get;
[Token(Token = "0x600B038")]
[Address(Slot = "11")]
set;
}
// Token: 0x0600B039 RID: 45113
[Token(Token = "0x600B039")]
[Address(Slot = "12")]
void Verbose(string division, string verb);
// Token: 0x0600B03A RID: 45114
[Token(Token = "0x600B03A")]
[Address(Slot = "13")]
void Information(string division, string info);
// Token: 0x0600B03B RID: 45115
[Token(Token = "0x600B03B")]
[Address(Slot = "14")]
void Warning(string division, string warn);
// Token: 0x0600B03C RID: 45116
[Token(Token = "0x600B03C")]
[Address(Slot = "15")]
void Error(string division, string err);
// Token: 0x0600B03D RID: 45117
[Token(Token = "0x600B03D")]
[Address(Slot = "16")]
void Exception(string division, string msg, Exception ex);
}
}
@@ -0,0 +1,31 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Logger
{
// Token: 0x0200199F RID: 6559
[Token(Token = "0x200199F")]
[StructLayout(3, Size = 1)]
public enum Loglevels : byte
{
// Token: 0x040073D4 RID: 29652
[Token(Token = "0x40073D4")]
All,
// Token: 0x040073D5 RID: 29653
[Token(Token = "0x40073D5")]
Information,
// Token: 0x040073D6 RID: 29654
[Token(Token = "0x40073D6")]
Warning,
// Token: 0x040073D7 RID: 29655
[Token(Token = "0x40073D7")]
Error,
// Token: 0x040073D8 RID: 29656
[Token(Token = "0x40073D8")]
Exception,
// Token: 0x040073D9 RID: 29657
[Token(Token = "0x40073D9")]
None
}
}
@@ -0,0 +1,52 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012B0 RID: 4784
[Token(Token = "0x20012B0")]
[StructLayout(3, Size = 8)]
public sealed class OnBeforeHeaderSendDelegate : MulticastDelegate
{
// Token: 0x06007725 RID: 30501 RVA: 0x0018AE9C File Offset: 0x0018909C
[Token(Token = "0x6007725")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnBeforeHeaderSendDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06007726 RID: 30502 RVA: 0x0018AEB8 File Offset: 0x001890B8
[Token(Token = "0x6007726")]
[Address(RVA = "0x6931D0", Offset = "0x691BD0", VA = "0x1806931D0", Slot = "13")]
public void Invoke(HTTPRequest req)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06007727 RID: 30503 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007727")]
[Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", 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: 0x06007728 RID: 30504 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007728")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,137 @@
using System;
using System.Reflection;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012AE RID: 4782
[Token(Token = "0x20012AE")]
[StructLayout(3, Size = 8)]
public sealed class OnBeforeRedirectionDelegate : MulticastDelegate
{
// Token: 0x0600771D RID: 30493 RVA: 0x0018AC24 File Offset: 0x00188E24
[Token(Token = "0x600771D")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnBeforeRedirectionDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x0600771E RID: 30494 RVA: 0x0018AC40 File Offset: 0x00188E40
[Token(Token = "0x600771E")]
[Address(RVA = "0xDE2690", Offset = "0xDE1090", VA = "0x180DE2690", Slot = "13")]
public bool Invoke(HTTPRequest originalRequest, HTTPResponse response, Uri redirectUri)
{
Delegate[] delegates = this.delegates;
if (delegates != 0)
{
}
int num = 0;
uint num2;
if (num2 == (uint)0)
{
return;
}
Delegate @delegate = delegates[1];
Delegate delegate2 = delegates[0];
uint num3;
if (@delegate.method_info == num3)
{
throw new ExecutionEngineException();
}
ExecutionEngineException ex;
if (ex == 0 || @delegate == (ulong)3L)
{
MethodInfo method_info = @delegate.method_info;
MethodInfo methodInfo;
if (originalRequest != (ulong)3L)
{
uint num4;
if (method_info != num4)
{
if (delegate2 != 0)
{
}
methodInfo = @delegate.method_info;
int num5 = 0;
if (num5 < redirectUri)
{
num5 += num5;
if (num5 != redirectUri)
{
num5++;
}
}
num5 += methodInfo;
num5 += 19;
methodInfo += methodInfo;
int num6 = 0;
num6 += num6;
num6++;
num6 += methodInfo;
num6 += 19;
}
if (methodInfo != 0 || methodInfo == 0)
{
goto IL_CE;
}
}
if (methodInfo == null)
{
goto IL_116;
}
if (methodInfo != 0)
{
}
if (methodInfo == 0)
{
}
IL_CE:
int num7 = 0;
if (num7 < redirectUri)
{
num7 += num7;
if (num7 != redirectUri)
{
num7++;
}
}
num7 += this;
num7 += 19;
int num8 = 0;
if (num8 < redirectUri)
{
num8 += num8;
if (num8 != redirectUri)
{
num8++;
}
}
num8 += 19;
IL_116:
if (methodInfo != 0 || num8 != 0)
{
}
}
num++;
}
// Token: 0x0600771F RID: 30495 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600771F")]
[Address(RVA = "0x438D50", Offset = "0x437750", VA = "0x180438D50", 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: 0x06007720 RID: 30496 RVA: 0x0018AD74 File Offset: 0x00188F74
[Token(Token = "0x6007720")]
[Address(RVA = "0x433E40", Offset = "0x432840", VA = "0x180433E40", Slot = "15")]
public bool EndInvoke(IAsyncResult result)
{
throw new NullReferenceException();
}
}
}
@@ -0,0 +1,52 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x020012AC RID: 4780
[Token(Token = "0x20012AC")]
[StructLayout(3, Size = 8)]
public sealed class OnDownloadProgressDelegate : MulticastDelegate
{
// Token: 0x06007715 RID: 30485 RVA: 0x0018AB3C File Offset: 0x00188D3C
[Token(Token = "0x6007715")]
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
public OnDownloadProgressDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x06007716 RID: 30486 RVA: 0x0018AB58 File Offset: 0x00188D58
[Token(Token = "0x6007716")]
[Address(RVA = "0x2688F20", Offset = "0x2687920", VA = "0x182688F20", 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: 0x06007717 RID: 30487 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007717")]
[Address(RVA = "0x2688E80", Offset = "0x2687880", VA = "0x182688E80", 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: 0x06007718 RID: 30488 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007718")]
[Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}

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