using System; using BestHTTP.Logger; using Cpp2IlInjected; namespace BestHTTP { // Token: 0x0200196B RID: 6507 [Token(Token = "0x200196B")] internal abstract class ConnectionBase : IDisposable { // Token: 0x170017CC RID: 6092 // (get) Token: 0x060096B7 RID: 38583 RVA: 0x001EA884 File Offset: 0x001E8A84 // (set) Token: 0x060096B8 RID: 38584 RVA: 0x001EA898 File Offset: 0x001E8A98 [Token(Token = "0x170017CC")] public string ServerAddress { [Token(Token = "0x60096B7")] [Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")] get; [Token(Token = "0x60096B8")] [Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")] protected set; } // Token: 0x170017CD RID: 6093 // (get) Token: 0x060096B9 RID: 38585 RVA: 0x001EA8AC File Offset: 0x001E8AAC // (set) Token: 0x060096BA RID: 38586 RVA: 0x001EA8C0 File Offset: 0x001E8AC0 [Token(Token = "0x170017CD")] public HTTPConnectionStates State { [Token(Token = "0x60096B9")] [Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")] get; [Token(Token = "0x60096BA")] [Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")] protected set; } // Token: 0x170017CE RID: 6094 // (get) Token: 0x060096BB RID: 38587 RVA: 0x001EA8D4 File Offset: 0x001E8AD4 [Token(Token = "0x170017CE")] public bool IsFree { [Token(Token = "0x60096BB")] [Address(RVA = "0x2405B30", Offset = "0x2404B30", VA = "0x182405B30")] get { HTTPConnectionStates httpconnectionStates = this.k__BackingField; return httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates == HTTPConnectionStates.Free; } } // Token: 0x170017CF RID: 6095 // (get) Token: 0x060096BC RID: 38588 RVA: 0x001EA8F4 File Offset: 0x001E8AF4 [Token(Token = "0x170017CF")] public bool IsActive { [Token(Token = "0x60096BC")] [Address(RVA = "0x2405B10", Offset = "0x2404B10", VA = "0x182405B10")] get { HTTPConnectionStates httpconnectionStates = this.k__BackingField; return 0 < 6; } } // Token: 0x170017D0 RID: 6096 // (get) Token: 0x060096BD RID: 38589 RVA: 0x001EA90C File Offset: 0x001E8B0C // (set) Token: 0x060096BE RID: 38590 RVA: 0x001EA920 File Offset: 0x001E8B20 [Token(Token = "0x170017D0")] public HTTPRequest CurrentRequest { [Token(Token = "0x60096BD")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get; [Token(Token = "0x60096BE")] [Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")] protected set; } // Token: 0x170017D1 RID: 6097 // (get) Token: 0x060096BF RID: 38591 RVA: 0x001EA934 File Offset: 0x001E8B34 [Token(Token = "0x170017D1")] public virtual bool IsRemovable { [Token(Token = "0x60096BF")] [Address(RVA = "0x2405B50", Offset = "0x2404B50", VA = "0x182405B50", Slot = "5")] get { HTTPConnectionStates httpconnectionStates = this.k__BackingField; if (httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates != HTTPConnectionStates.Free) { } DateTime utcNow = DateTime.UtcNow; DateTime lastProcessTime = this.LastProcessTime; TimeSpan timeSpan = utcNow - lastProcessTime; TimeSpan k__BackingField = HTTPManager.k__BackingField; return timeSpan > k__BackingField; } } // Token: 0x170017D2 RID: 6098 // (get) Token: 0x060096C0 RID: 38592 RVA: 0x001EA97C File Offset: 0x001E8B7C // (set) Token: 0x060096C1 RID: 38593 RVA: 0x001EA990 File Offset: 0x001E8B90 [Token(Token = "0x170017D2")] public DateTime StartTime { [Token(Token = "0x60096C0")] [Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")] get; [Token(Token = "0x60096C1")] [Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")] protected set; } // Token: 0x170017D3 RID: 6099 // (get) Token: 0x060096C2 RID: 38594 RVA: 0x001EA9A4 File Offset: 0x001E8BA4 // (set) Token: 0x060096C3 RID: 38595 RVA: 0x001EA9B8 File Offset: 0x001E8BB8 [Token(Token = "0x170017D3")] public DateTime TimedOutStart { [Token(Token = "0x60096C2")] [Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")] get; [Token(Token = "0x60096C3")] [Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")] protected set; } // Token: 0x170017D4 RID: 6100 // (get) Token: 0x060096C4 RID: 38596 RVA: 0x001EA9CC File Offset: 0x001E8BCC [Token(Token = "0x170017D4")] public bool HasProxy { [Token(Token = "0x60096C4")] [Address(RVA = "0x2405AF0", Offset = "0x2404AF0", VA = "0x182405AF0")] get { /* An exception occurred when decompiling this method (060096C4) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.ConnectionBase::get_HasProxy() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_00: brtrue(IL_00, cne:bool(ldfld:HTTPRequest(ConnectionBase::k__BackingField, ldloc:ConnectionBase(this)), ldc.i4:int32[exp:HTTPRequest](0))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } } // Token: 0x170017D5 RID: 6101 // (get) Token: 0x060096C5 RID: 38597 RVA: 0x001EA9E4 File Offset: 0x001E8BE4 // (set) Token: 0x060096C6 RID: 38598 RVA: 0x001EA9F8 File Offset: 0x001E8BF8 [Token(Token = "0x170017D5")] public Uri LastProcessedUri { [Token(Token = "0x60096C5")] [Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")] get; [Token(Token = "0x60096C6")] [Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0")] protected set; } // Token: 0x060096C7 RID: 38599 RVA: 0x001EAA0C File Offset: 0x001E8C0C [Token(Token = "0x60096C7")] [Address(RVA = "0x24059E0", Offset = "0x24049E0", VA = "0x1824059E0")] public ConnectionBase(string serverAddress) { int num = 0; this.ThreadFunc(num); this.ServerAddress = serverAddress; this.State = (HTTPConnectionStates)((ulong)0L); DateTime utcNow = DateTime.UtcNow; this.LastProcessTime = utcNow; this.IsThreaded = true; } // Token: 0x060096C8 RID: 38600 RVA: 0x001EAA48 File Offset: 0x001E8C48 [Token(Token = "0x60096C8")] [Address(RVA = "0x2405A60", Offset = "0x2404A60", VA = "0x182405A60")] public ConnectionBase(string serverAddress, bool threaded) { int num = 0; this.ThreadFunc(num); this.ServerAddress = serverAddress; this.State = (HTTPConnectionStates)((ulong)0L); DateTime utcNow = DateTime.UtcNow; this.LastProcessTime = utcNow; this.IsThreaded = threaded; } // Token: 0x060096C9 RID: 38601 [Token(Token = "0x60096C9")] [Address(Slot = "6")] internal abstract void Abort(HTTPConnectionStates hTTPConnectionStates); // Token: 0x060096CA RID: 38602 RVA: 0x001EAA84 File Offset: 0x001E8C84 [Token(Token = "0x60096CA")] [Address(RVA = "0x2405760", Offset = "0x2404760", VA = "0x182405760")] internal void Process(HTTPRequest request) { /* An exception occurred when decompiling this method (060096CA) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.ConnectionBase::Process(BestHTTP.HTTPRequest) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_41: stloc:Exception(var_4_4B, newobj:Exception(Exception::.ctor, ldstr:string("Connection already processing a request!"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060096CB RID: 38603 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60096CB")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "7")] protected virtual void ThreadFunc(object param) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060096CC RID: 38604 RVA: 0x001EAAE0 File Offset: 0x001E8CE0 [Token(Token = "0x60096CC")] [Address(RVA = "0x2405520", Offset = "0x2404520", VA = "0x182405520")] internal void HandleProgressCallback() { ILogger logger = HTTPManager.Logger; ILogger logger2 = HTTPManager.Logger; this.k__BackingField.k__BackingField = false; } // Token: 0x060096CD RID: 38605 RVA: 0x001EAB2C File Offset: 0x001E8D2C [Token(Token = "0x60096CD")] [Address(RVA = "0x2405420", Offset = "0x2404420", VA = "0x182405420")] internal void HandleCallback() { this.HandleProgressCallback(); HTTPRequest httprequest = this.k__BackingField; if (this.k__BackingField != HTTPConnectionStates.Upgraded) { httprequest.CallCallback(); } if (httprequest != 0) { HTTPResponse k__BackingField = httprequest.k__BackingField; if (k__BackingField != 0 && k__BackingField.k__BackingField) { httprequest.UpgradeCallback(); } } this.k__BackingField = (HTTPConnectionStates)((ulong)4L); ILogger logger = HTTPManager.Logger; } // Token: 0x060096CE RID: 38606 RVA: 0x001EAB90 File Offset: 0x001E8D90 [Token(Token = "0x60096CE")] [Address(RVA = "0x2405920", Offset = "0x2404920", VA = "0x182405920")] internal void Recycle(HTTPConnectionRecycledDelegate onConnectionRecycled) { this.OnConnectionRecycled = onConnectionRecycled; if (this.k__BackingField == HTTPConnectionStates.Redirected) { DateTime minValue = DateTime.MinValue; this.LastProcessTime = minValue; HTTPRequest httprequest = this.k__BackingField; this.k__BackingField = (HTTPConnectionStates)((ulong)6L); if (httprequest != 0) { httprequest.Dispose(); } HTTPConnectionRecycledDelegate onConnectionRecycled2 = this.OnConnectionRecycled; this.k__BackingField = (ulong)0L; this.OnConnectionRecycled = (ulong)0L; } } // Token: 0x060096CF RID: 38607 RVA: 0x001EABF0 File Offset: 0x001E8DF0 [Token(Token = "0x60096CF")] [Address(RVA = "0x2405870", Offset = "0x2404870", VA = "0x182405870")] protected void RecycleNow() { if (this.k__BackingField <= HTTPConnectionStates.Processing) { DateTime minValue = DateTime.MinValue; this.LastProcessTime = minValue; } HTTPRequest httprequest = this.k__BackingField; this.k__BackingField = (HTTPConnectionStates)((ulong)6L); if (httprequest != 0) { httprequest.Dispose(); } HTTPConnectionRecycledDelegate onConnectionRecycled = this.OnConnectionRecycled; this.k__BackingField = (ulong)0L; if (onConnectionRecycled != 0) { onConnectionRecycled(this); this.OnConnectionRecycled = (ulong)0L; } } // Token: 0x170017D6 RID: 6102 // (get) Token: 0x060096D0 RID: 38608 RVA: 0x001EAC54 File Offset: 0x001E8E54 // (set) Token: 0x060096D1 RID: 38609 RVA: 0x001EAC68 File Offset: 0x001E8E68 [Token(Token = "0x170017D6")] private protected bool IsDisposed { [Token(Token = "0x60096D0")] [Address(RVA = "0x794070", Offset = "0x793070", VA = "0x180794070")] protected get; [Token(Token = "0x60096D1")] [Address(RVA = "0x7937C0", Offset = "0x7927C0", VA = "0x1807937C0")] private set; } // Token: 0x060096D2 RID: 38610 RVA: 0x001EAC7C File Offset: 0x001E8E7C [Token(Token = "0x60096D2")] [Address(RVA = "0x2405330", Offset = "0x2404330", VA = "0x182405330", Slot = "4")] public void Dispose() { GC.SuppressFinalize(this); } // Token: 0x060096D3 RID: 38611 RVA: 0x001EAC90 File Offset: 0x001E8E90 [Token(Token = "0x60096D3")] [Address(RVA = "0x2405320", Offset = "0x2404320", VA = "0x182405320", Slot = "8")] protected virtual void Dispose(bool disposing) { this.k__BackingField = true; } // Token: 0x060096D4 RID: 38612 RVA: 0x001EACA4 File Offset: 0x001E8EA4 [Token(Token = "0x60096D4")] [Address(RVA = "0x24053A0", Offset = "0x24043A0", VA = "0x1824053A0", Slot = "1")] protected override void Finalize() { int num; do { num = 0; int num2 = 0; this.ThreadFunc(num2); int num3 = 0; this.ThreadFunc(num3); } while (num != 0); } // Token: 0x0400662D RID: 26157 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400662D")] protected DateTime LastProcessTime; // Token: 0x0400662E RID: 26158 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400662E")] protected HTTPConnectionRecycledDelegate OnConnectionRecycled; // Token: 0x0400662F RID: 26159 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400662F")] private bool IsThreaded; } }