using System; using BestHTTP.Logger; using Cpp2IlInjected; namespace BestHTTP { // Token: 0x0200188B RID: 6283 [Token(Token = "0x200188B")] internal abstract class ConnectionBase : IDisposable { // Token: 0x1700172F RID: 5935 // (get) Token: 0x060092E9 RID: 37609 RVA: 0x001E17C0 File Offset: 0x001DF9C0 // (set) Token: 0x060092EA RID: 37610 RVA: 0x001E17D4 File Offset: 0x001DF9D4 [Token(Token = "0x1700172F")] public string ServerAddress { [Token(Token = "0x60092E9")] [Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")] get; [Token(Token = "0x60092EA")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")] protected set; } // Token: 0x17001730 RID: 5936 // (get) Token: 0x060092EB RID: 37611 RVA: 0x001E17E8 File Offset: 0x001DF9E8 // (set) Token: 0x060092EC RID: 37612 RVA: 0x001E17FC File Offset: 0x001DF9FC [Token(Token = "0x17001730")] public HTTPConnectionStates State { [Token(Token = "0x60092EB")] [Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")] get; [Token(Token = "0x60092EC")] [Address(RVA = "0x41F740", Offset = "0x41E540", VA = "0x18041F740")] protected set; } // Token: 0x17001731 RID: 5937 // (get) Token: 0x060092ED RID: 37613 RVA: 0x001E1810 File Offset: 0x001DFA10 [Token(Token = "0x17001731")] public bool IsFree { [Token(Token = "0x60092ED")] [Address(RVA = "0x1961C30", Offset = "0x1960A30", VA = "0x181961C30")] get { HTTPConnectionStates httpconnectionStates = this.k__BackingField; return httpconnectionStates == HTTPConnectionStates.Initial || httpconnectionStates == HTTPConnectionStates.Free; } } // Token: 0x17001732 RID: 5938 // (get) Token: 0x060092EE RID: 37614 RVA: 0x001E1830 File Offset: 0x001DFA30 [Token(Token = "0x17001732")] public bool IsActive { [Token(Token = "0x60092EE")] [Address(RVA = "0x1961C10", Offset = "0x1960A10", VA = "0x181961C10")] get { HTTPConnectionStates httpconnectionStates = this.k__BackingField; return 0 < 6; } } // Token: 0x17001733 RID: 5939 // (get) Token: 0x060092EF RID: 37615 RVA: 0x001E1848 File Offset: 0x001DFA48 // (set) Token: 0x060092F0 RID: 37616 RVA: 0x001E185C File Offset: 0x001DFA5C [Token(Token = "0x17001733")] public HTTPRequest CurrentRequest { [Token(Token = "0x60092EF")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get; [Token(Token = "0x60092F0")] [Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")] protected set; } // Token: 0x17001734 RID: 5940 // (get) Token: 0x060092F1 RID: 37617 RVA: 0x001E1870 File Offset: 0x001DFA70 [Token(Token = "0x17001734")] public virtual bool IsRemovable { [Token(Token = "0x60092F1")] [Address(RVA = "0x1961C50", Offset = "0x1960A50", VA = "0x181961C50", Slot = "5")] get { HTTPConnectionStates httpconnectionStates = this.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: 0x17001735 RID: 5941 // (get) Token: 0x060092F2 RID: 37618 RVA: 0x001E18B8 File Offset: 0x001DFAB8 // (set) Token: 0x060092F3 RID: 37619 RVA: 0x001E18CC File Offset: 0x001DFACC [Token(Token = "0x17001735")] public DateTime StartTime { [Token(Token = "0x60092F2")] [Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")] get; [Token(Token = "0x60092F3")] [Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")] protected set; } // Token: 0x17001736 RID: 5942 // (get) Token: 0x060092F4 RID: 37620 RVA: 0x001E18E0 File Offset: 0x001DFAE0 // (set) Token: 0x060092F5 RID: 37621 RVA: 0x001E18F4 File Offset: 0x001DFAF4 [Token(Token = "0x17001736")] public DateTime TimedOutStart { [Token(Token = "0x60092F4")] [Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")] get; [Token(Token = "0x60092F5")] [Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")] protected set; } // Token: 0x17001737 RID: 5943 // (get) Token: 0x060092F6 RID: 37622 RVA: 0x001E1908 File Offset: 0x001DFB08 [Token(Token = "0x17001737")] public bool HasProxy { [Token(Token = "0x60092F6")] [Address(RVA = "0x1961BF0", Offset = "0x19609F0", VA = "0x181961BF0")] get { /* An exception occurred when decompiling this method (060092F6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.ConnectionBase::get_HasProxy() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_00: brtrue(IL_00, cne:bool(ldfld:HTTPRequest(ConnectionBase::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: 0x17001738 RID: 5944 // (get) Token: 0x060092F7 RID: 37623 RVA: 0x001E1920 File Offset: 0x001DFB20 // (set) Token: 0x060092F8 RID: 37624 RVA: 0x001E1934 File Offset: 0x001DFB34 [Token(Token = "0x17001738")] public Uri LastProcessedUri { [Token(Token = "0x60092F7")] [Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")] get; [Token(Token = "0x60092F8")] [Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")] protected set; } // Token: 0x060092F9 RID: 37625 RVA: 0x001E1948 File Offset: 0x001DFB48 [Token(Token = "0x60092F9")] [Address(RVA = "0x1961AE0", Offset = "0x19608E0", VA = "0x181961AE0")] public ConnectionBase(string serverAddress) { int num = 0; this.ThreadFunc(num); this.ServerAddress = serverAddress; this.State = (HTTPConnectionStates)((ulong)0L); DateTime utcNow = DateTime.UtcNow; this.LastProcessTime = utcNow; this.IsThreaded = true; } // Token: 0x060092FA RID: 37626 RVA: 0x001E1984 File Offset: 0x001DFB84 [Token(Token = "0x60092FA")] [Address(RVA = "0x1961B60", Offset = "0x1960960", VA = "0x181961B60")] public ConnectionBase(string serverAddress, bool threaded) { int num = 0; this.ThreadFunc(num); this.ServerAddress = serverAddress; this.State = (HTTPConnectionStates)((ulong)0L); DateTime utcNow = DateTime.UtcNow; this.LastProcessTime = utcNow; this.IsThreaded = threaded; } // Token: 0x060092FB RID: 37627 [Token(Token = "0x60092FB")] [Address(Slot = "6")] internal abstract void Abort(HTTPConnectionStates hTTPConnectionStates); // Token: 0x060092FC RID: 37628 RVA: 0x001E19C0 File Offset: 0x001DFBC0 [Token(Token = "0x60092FC")] [Address(RVA = "0x1961860", Offset = "0x1960660", VA = "0x181961860")] internal void Process(HTTPRequest request) { /* An exception occurred when decompiling this method (060092FC) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.ConnectionBase::Process(BestHTTP.HTTPRequest) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_41: stloc:Exception(var_4_4B, newobj:Exception(Exception::.ctor, ldstr:string("Connection already processing a request!"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060092FD RID: 37629 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60092FD")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "7")] protected virtual void ThreadFunc(object param) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060092FE RID: 37630 RVA: 0x001E1A1C File Offset: 0x001DFC1C [Token(Token = "0x60092FE")] [Address(RVA = "0x1961620", Offset = "0x1960420", VA = "0x181961620")] internal void HandleProgressCallback() { ILogger logger = HTTPManager.Logger; ILogger logger2 = HTTPManager.Logger; this.k__BackingField.k__BackingField = false; } // Token: 0x060092FF RID: 37631 RVA: 0x001E1A68 File Offset: 0x001DFC68 [Token(Token = "0x60092FF")] [Address(RVA = "0x1961520", Offset = "0x1960320", VA = "0x181961520")] internal void HandleCallback() { this.HandleProgressCallback(); HTTPRequest httprequest = this.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: 0x06009300 RID: 37632 RVA: 0x001E1ACC File Offset: 0x001DFCCC [Token(Token = "0x6009300")] [Address(RVA = "0x1961A20", Offset = "0x1960820", VA = "0x181961A20")] internal void Recycle(HTTPConnectionRecycledDelegate onConnectionRecycled) { this.OnConnectionRecycled = onConnectionRecycled; if (this.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: 0x06009301 RID: 37633 RVA: 0x001E1B2C File Offset: 0x001DFD2C [Token(Token = "0x6009301")] [Address(RVA = "0x1961970", Offset = "0x1960770", VA = "0x181961970")] 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: 0x17001739 RID: 5945 // (get) Token: 0x06009302 RID: 37634 RVA: 0x001E1B90 File Offset: 0x001DFD90 // (set) Token: 0x06009303 RID: 37635 RVA: 0x001E1BA4 File Offset: 0x001DFDA4 [Token(Token = "0x17001739")] private protected bool IsDisposed { [Token(Token = "0x6009302")] [Address(RVA = "0x781F10", Offset = "0x780D10", VA = "0x180781F10")] protected get; [Token(Token = "0x6009303")] [Address(RVA = "0x536B80", Offset = "0x535980", VA = "0x180536B80")] private set; } // Token: 0x06009304 RID: 37636 RVA: 0x001E1BB8 File Offset: 0x001DFDB8 [Token(Token = "0x6009304")] [Address(RVA = "0x1961430", Offset = "0x1960230", VA = "0x181961430", Slot = "4")] public void Dispose() { GC.SuppressFinalize(this); } // Token: 0x06009305 RID: 37637 RVA: 0x001E1BCC File Offset: 0x001DFDCC [Token(Token = "0x6009305")] [Address(RVA = "0x1961420", Offset = "0x1960220", VA = "0x181961420", Slot = "8")] protected virtual void Dispose(bool disposing) { this.k__BackingField = true; } // Token: 0x06009306 RID: 37638 RVA: 0x001E1BE0 File Offset: 0x001DFDE0 [Token(Token = "0x6009306")] [Address(RVA = "0x19614A0", Offset = "0x19602A0", VA = "0x1819614A0", Slot = "1")] protected override void Finalize() { int num; do { num = 0; int num2 = 0; this.ThreadFunc(num2); int num3 = 0; this.ThreadFunc(num3); } while (num != 0); } // Token: 0x04006474 RID: 25716 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4006474")] protected DateTime LastProcessTime; // Token: 0x04006475 RID: 25717 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4006475")] protected HTTPConnectionRecycledDelegate OnConnectionRecycled; // Token: 0x04006476 RID: 25718 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4006476")] private bool IsThreaded; } }