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.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.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.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: 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::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.k__BackingField.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.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: 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.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: 0x06007681 RID: 30337 RVA: 0x00187720 File Offset: 0x00185920 [Token(Token = "0x6007681")] [Address(RVA = "0x1F01560", Offset = "0x1EFFF60", VA = "0x181F01560")] 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: 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.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; } }