This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,199 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.SignalRCore.Messages;
using BestHTTP.WebSocket;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Authentication
{
// Token: 0x020019D7 RID: 6615
[Token(Token = "0x20019D7")]
public sealed class DefaultAccessTokenAuthenticator : IAuthenticationProvider
{
// Token: 0x17001891 RID: 6289
// (get) Token: 0x06009A1E RID: 39454 RVA: 0x001F7BD4 File Offset: 0x001F5DD4
[Token(Token = "0x17001891")]
public bool IsPreAuthRequired
{
[Token(Token = "0x6009A1E")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "4")]
get
{
}
}
// Token: 0x140000CA RID: 202
// (add) Token: 0x06009A1F RID: 39455 RVA: 0x001F7BE4 File Offset: 0x001F5DE4
// (remove) Token: 0x06009A20 RID: 39456 RVA: 0x001F7C0C File Offset: 0x001F5E0C
[Token(Token = "0x140000CA")]
public event OnAuthenticationSuccededDelegate OnAuthenticationSucceded
{
[Token(Token = "0x6009A1F")]
[Address(RVA = "0x627620", Offset = "0x626620", VA = "0x180627620", Slot = "5")]
[CompilerGenerated]
add
{
OnAuthenticationSuccededDelegate onAuthenticationSucceded;
Delegate @delegate;
do
{
onAuthenticationSucceded = this.OnAuthenticationSucceded;
@delegate = Delegate.Combine(onAuthenticationSucceded, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationSucceded)
{
}
}
[Token(Token = "0x6009A20")]
[Address(RVA = "0x627760", Offset = "0x626760", VA = "0x180627760", Slot = "6")]
[CompilerGenerated]
remove
{
OnAuthenticationSuccededDelegate onAuthenticationSucceded;
Delegate @delegate;
do
{
onAuthenticationSucceded = this.OnAuthenticationSucceded;
@delegate = Delegate.Remove(onAuthenticationSucceded, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationSucceded)
{
}
}
}
// Token: 0x140000CB RID: 203
// (add) Token: 0x06009A21 RID: 39457 RVA: 0x001F7C34 File Offset: 0x001F5E34
// (remove) Token: 0x06009A22 RID: 39458 RVA: 0x001F7C5C File Offset: 0x001F5E5C
[Token(Token = "0x140000CB")]
public event OnAuthenticationFailedDelegate OnAuthenticationFailed
{
[Token(Token = "0x6009A21")]
[Address(RVA = "0x627580", Offset = "0x626580", VA = "0x180627580", Slot = "7")]
[CompilerGenerated]
add
{
OnAuthenticationFailedDelegate onAuthenticationFailed;
Delegate @delegate;
do
{
onAuthenticationFailed = this.OnAuthenticationFailed;
@delegate = Delegate.Combine(onAuthenticationFailed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationFailed)
{
}
}
[Token(Token = "0x6009A22")]
[Address(RVA = "0x6276C0", Offset = "0x6266C0", VA = "0x1806276C0", Slot = "8")]
[CompilerGenerated]
remove
{
OnAuthenticationFailedDelegate onAuthenticationFailed;
Delegate @delegate;
do
{
onAuthenticationFailed = this.OnAuthenticationFailed;
@delegate = Delegate.Remove(onAuthenticationFailed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationFailed)
{
}
}
}
// Token: 0x06009A23 RID: 39459 RVA: 0x001F7C84 File Offset: 0x001F5E84
[Token(Token = "0x6009A23")]
[Address(RVA = "0x627550", Offset = "0x626550", VA = "0x180627550")]
public DefaultAccessTokenAuthenticator(HubConnection connection)
{
this.StartAuthentication();
this._connection = connection;
}
// Token: 0x06009A24 RID: 39460 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009A24")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
public void StartAuthentication()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009A25 RID: 39461 RVA: 0x001F7CA0 File Offset: 0x001F5EA0
[Token(Token = "0x6009A25")]
[Address(RVA = "0x6271E0", Offset = "0x6261E0", VA = "0x1806271E0", Slot = "10")]
public void PrepareRequest(NEBIGEDJGPP request)
{
if (HTTPProtocolFactory.GetProtocolFromUri(request.FHCKMFKKHLK) == SupportedProtocols.HTTP)
{
Uri uri = request.NJIBHKPHKFF;
HubConnection connection = this._connection;
NegotiationResult <NegotiationResult>k__BackingField = connection.<NegotiationResult>k__BackingField;
if (<NegotiationResult>k__BackingField != 0)
{
string <AccessToken>k__BackingField = <NegotiationResult>k__BackingField.<AccessToken>k__BackingField;
if (connection == 0)
{
if (uri.Query != 0)
{
}
string text = uri.Query + "&";
string scheme = uri.Scheme;
string host = uri.Host;
int port = uri.Port;
string absolutePath = uri.AbsolutePath;
string <AccessToken>k__BackingField2 = this._connection.<NegotiationResult>k__BackingField.<AccessToken>k__BackingField;
string text2 = text + "access_token=" + <AccessToken>k__BackingField2;
Uri uri2 = new UriBuilder(scheme, host, port, absolutePath, text2).Uri;
}
}
request.NJIBHKPHKFF = uri;
}
}
// Token: 0x06009A26 RID: 39462 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009A26")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "11")]
public void PrepareWebSocket(WebSocket webSocket)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009A27 RID: 39463 RVA: 0x001F7D68 File Offset: 0x001F5F68
[Token(Token = "0x6009A27")]
[Address(RVA = "0x6273B0", Offset = "0x6263B0", VA = "0x1806273B0", Slot = "12")]
public Uri PrepareUri(Uri uri)
{
HubConnection connection = this._connection;
NegotiationResult <NegotiationResult>k__BackingField = connection.<NegotiationResult>k__BackingField;
if (<NegotiationResult>k__BackingField != 0)
{
string <AccessToken>k__BackingField = <NegotiationResult>k__BackingField.<AccessToken>k__BackingField;
if (connection == 0)
{
if (uri.Query != 0)
{
}
string text = uri.Query + "&";
string scheme = uri.Scheme;
string host = uri.Host;
int port = uri.Port;
string absolutePath = uri.AbsolutePath;
string <AccessToken>k__BackingField2 = this._connection.<NegotiationResult>k__BackingField.<AccessToken>k__BackingField;
string text2 = text + "access_token=" + <AccessToken>k__BackingField2;
return new UriBuilder(scheme, host, port, absolutePath, text2).Uri;
}
}
throw new NullReferenceException();
}
// Token: 0x0400682E RID: 26670
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400682E")]
private HubConnection _connection;
}
}
@@ -0,0 +1,159 @@
using System;
using System.Runtime.CompilerServices;
using BestHTTP.WebSocket;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B4 RID: 6580
[Token(Token = "0x20019B4")]
public class BearerTokenAuthProvider : IAuthenticationProvider
{
// Token: 0x06009952 RID: 39250 RVA: 0x001F54D8 File Offset: 0x001F36D8
[Token(Token = "0x6009952")]
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
public BearerTokenAuthProvider(string accessToken)
{
this.StartAuthentication();
this.accessToken = accessToken;
}
// Token: 0x17001869 RID: 6249
// (get) Token: 0x06009953 RID: 39251 RVA: 0x001F54F4 File Offset: 0x001F36F4
[Token(Token = "0x17001869")]
public bool IsPreAuthRequired
{
[Token(Token = "0x6009953")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "4")]
get
{
}
}
// Token: 0x140000BF RID: 191
// (add) Token: 0x06009954 RID: 39252 RVA: 0x001F5504 File Offset: 0x001F3704
// (remove) Token: 0x06009955 RID: 39253 RVA: 0x001F552C File Offset: 0x001F372C
[Token(Token = "0x140000BF")]
public event OnAuthenticationSuccededDelegate OnAuthenticationSucceded
{
[Token(Token = "0x6009954")]
[Address(RVA = "0x626FF0", Offset = "0x625FF0", VA = "0x180626FF0", Slot = "5")]
[CompilerGenerated]
add
{
OnAuthenticationSuccededDelegate onAuthenticationSucceded;
Delegate @delegate;
do
{
onAuthenticationSucceded = this.OnAuthenticationSucceded;
@delegate = Delegate.Combine(onAuthenticationSucceded, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationSucceded)
{
}
}
[Token(Token = "0x6009955")]
[Address(RVA = "0x627130", Offset = "0x626130", VA = "0x180627130", Slot = "6")]
[CompilerGenerated]
remove
{
OnAuthenticationSuccededDelegate onAuthenticationSucceded;
Delegate @delegate;
do
{
onAuthenticationSucceded = this.OnAuthenticationSucceded;
@delegate = Delegate.Remove(onAuthenticationSucceded, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationSucceded)
{
}
}
}
// Token: 0x140000C0 RID: 192
// (add) Token: 0x06009956 RID: 39254 RVA: 0x001F5554 File Offset: 0x001F3754
// (remove) Token: 0x06009957 RID: 39255 RVA: 0x001F557C File Offset: 0x001F377C
[Token(Token = "0x140000C0")]
public event OnAuthenticationFailedDelegate OnAuthenticationFailed
{
[Token(Token = "0x6009956")]
[Address(RVA = "0x626F50", Offset = "0x625F50", VA = "0x180626F50", Slot = "7")]
[CompilerGenerated]
add
{
OnAuthenticationFailedDelegate onAuthenticationFailed;
Delegate @delegate;
do
{
onAuthenticationFailed = this.OnAuthenticationFailed;
@delegate = Delegate.Combine(onAuthenticationFailed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationFailed)
{
}
}
[Token(Token = "0x6009957")]
[Address(RVA = "0x627090", Offset = "0x626090", VA = "0x180627090", Slot = "8")]
[CompilerGenerated]
remove
{
OnAuthenticationFailedDelegate onAuthenticationFailed;
Delegate @delegate;
do
{
onAuthenticationFailed = this.OnAuthenticationFailed;
@delegate = Delegate.Remove(onAuthenticationFailed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onAuthenticationFailed)
{
}
}
}
// Token: 0x06009958 RID: 39256 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009958")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
public void StartAuthentication()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009959 RID: 39257 RVA: 0x001F55A4 File Offset: 0x001F37A4
[Token(Token = "0x6009959")]
[Address(RVA = "0x626E60", Offset = "0x625E60", VA = "0x180626E60", Slot = "10")]
public void PrepareRequest(NEBIGEDJGPP request)
{
string text = this.accessToken;
string text2 = "Bearer " + text;
request.MKICFHMIDJC("Authorization", text2);
}
// Token: 0x0600995A RID: 39258 RVA: 0x001F55D8 File Offset: 0x001F37D8
[Token(Token = "0x600995A")]
[Address(RVA = "0x626ED0", Offset = "0x625ED0", VA = "0x180626ED0", Slot = "11")]
public void PrepareWebSocket(WebSocket webSocket)
{
string text = this.accessToken;
HTTPRequest <InternalRequest>k__BackingField = webSocket.<InternalRequest>k__BackingField;
string text2 = "Bearer " + text;
<InternalRequest>k__BackingField.SetHeader("Authorization", text2);
}
// Token: 0x0600995B RID: 39259 RVA: 0x001F5614 File Offset: 0x001F3814
[Token(Token = "0x600995B")]
[Address(RVA = "0x4AA5C0", Offset = "0x4A95C0", VA = "0x1804AA5C0", Slot = "12")]
public Uri PrepareUri(Uri uri)
{
return uri;
}
// Token: 0x040067C1 RID: 26561
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40067C1")]
private readonly string accessToken;
}
}
@@ -0,0 +1,29 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BC RID: 6588
[Token(Token = "0x20019BC")]
internal struct CallbackDescriptor
{
// Token: 0x06009971 RID: 39281 RVA: 0x001F56D4 File Offset: 0x001F38D4
[Token(Token = "0x6009971")]
[Address(RVA = "0x4AF6A0", Offset = "0x4AE6A0", VA = "0x1804AF6A0")]
public CallbackDescriptor(Type[] paramTypes, Action<object[]> callback)
{
this.ParamTypes = paramTypes;
this.Callback = callback;
}
// Token: 0x040067DC RID: 26588
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40067DC")]
public readonly Type[] ParamTypes;
// Token: 0x040067DD RID: 26589
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x40067DD")]
public readonly Action<object[]> Callback;
}
}
@@ -0,0 +1,32 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B8 RID: 6584
[Token(Token = "0x20019B8")]
public enum ConnectionStates
{
// Token: 0x040067D1 RID: 26577
[Token(Token = "0x40067D1")]
Initial,
// Token: 0x040067D2 RID: 26578
[Token(Token = "0x40067D2")]
Authenticating,
// Token: 0x040067D3 RID: 26579
[Token(Token = "0x40067D3")]
Negotiating,
// Token: 0x040067D4 RID: 26580
[Token(Token = "0x40067D4")]
Redirected,
// Token: 0x040067D5 RID: 26581
[Token(Token = "0x40067D5")]
Connected,
// Token: 0x040067D6 RID: 26582
[Token(Token = "0x40067D6")]
CloseInitiated,
// Token: 0x040067D7 RID: 26583
[Token(Token = "0x40067D7")]
Closed
}
}
@@ -0,0 +1,165 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Encoders
{
// Token: 0x020019CD RID: 6605
[Token(Token = "0x20019CD")]
public sealed class LitJsonEncoder : IEncoder
{
// Token: 0x17001884 RID: 6276
// (get) Token: 0x060099E9 RID: 39401 RVA: 0x001F6D30 File Offset: 0x001F4F30
[Token(Token = "0x17001884")]
public string Name
{
[Token(Token = "0x60099E9")]
[Address(RVA = "0x62BE20", Offset = "0x62AE20", VA = "0x18062BE20", Slot = "4")]
get
{
return "json";
}
}
// Token: 0x060099EA RID: 39402 RVA: 0x001F6D44 File Offset: 0x001F4F44
[Token(Token = "0x60099EA")]
[Address(RVA = "0x62B950", Offset = "0x62A950", VA = "0x18062B950")]
public LitJsonEncoder()
{
KJBJHOONAKL<int, long> <>9__2_ = LitJsonEncoder.<>c.<>9__2_0;
if (<>9__2_ == 0)
{
LitJsonEncoder.<>c.<>9__2_0 = delegate(int input)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
}
NOEIKACMNJH.EDOFHMLFIHF<int, long>(<>9__2_);
KJBJHOONAKL<long, int> kjbjhoonakl;
if (LitJsonEncoder.<>c.<>9__2_1 == 0)
{
kjbjhoonakl = delegate(long input)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
LitJsonEncoder.<>c.<>9__2_1 = kjbjhoonakl;
}
NOEIKACMNJH.EDOFHMLFIHF<long, int>(kjbjhoonakl);
KJBJHOONAKL<double, int> kjbjhoonakl2;
if (LitJsonEncoder.<>c.<>9__2_2 == 0)
{
kjbjhoonakl2 = delegate(double input)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
LitJsonEncoder.<>c.<>9__2_2 = kjbjhoonakl2;
}
NOEIKACMNJH.EDOFHMLFIHF<double, int>(kjbjhoonakl2);
KJBJHOONAKL<string, DateTime> kjbjhoonakl3;
if (LitJsonEncoder.<>c.<>9__2_3 == 0)
{
kjbjhoonakl3 = delegate(string input)
{
DateTime dateTime = Convert.ToDateTime(input);
DateTime dateTime2;
return dateTime2;
};
LitJsonEncoder.<>c.<>9__2_3 = kjbjhoonakl3;
}
NOEIKACMNJH.EDOFHMLFIHF<string, DateTime>(kjbjhoonakl3);
KJBJHOONAKL<double, float> kjbjhoonakl4;
if (LitJsonEncoder.<>c.<>9__2_4 == 0)
{
kjbjhoonakl4 = delegate(double input)
{
};
LitJsonEncoder.<>c.<>9__2_4 = kjbjhoonakl4;
}
NOEIKACMNJH.EDOFHMLFIHF<double, float>(kjbjhoonakl4);
KJBJHOONAKL<string, byte[]> kjbjhoonakl5;
if (LitJsonEncoder.<>c.<>9__2_5 == 0)
{
kjbjhoonakl5 = (string input) => Convert.FromBase64String(input);
LitJsonEncoder.<>c.<>9__2_5 = kjbjhoonakl5;
}
NOEIKACMNJH.EDOFHMLFIHF<string, byte[]>(kjbjhoonakl5);
}
// Token: 0x060099EB RID: 39403 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099EB")]
[Address(RVA = "0x22BC110", Offset = "0x22BB110", VA = "0x1822BC110", Slot = "6")]
public T DecodeAs<T>(string text)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099EC RID: 39404 RVA: 0x001F6E3C File Offset: 0x001F503C
[Token(Token = "0x60099EC")]
[Address(RVA = "0x22BC1B0", Offset = "0x22BB1B0", VA = "0x1822BC1B0", Slot = "8")]
public T DecodeAs<T>(byte[] data)
{
/*
An exception occurred when decompiling this method (060099EC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling T BestHTTP.SignalRCore.Encoders.LitJsonEncoder::DecodeAs<T>(System.Byte[])
---> 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: 0x060099ED RID: 39405 RVA: 0x001F6E50 File Offset: 0x001F5050
[Token(Token = "0x60099ED")]
[Address(RVA = "0x246D1F0", Offset = "0x246C1F0", VA = "0x18246D1F0", Slot = "7")]
public byte[] EncodeAsBinary<T>(T value)
{
/*
An exception occurred when decompiling this method (060099ED)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SignalRCore.Encoders.LitJsonEncoder::EncodeAsBinary<T>(T)
---> 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: 0x060099EE RID: 39406 RVA: 0x001F6E64 File Offset: 0x001F5064
[Token(Token = "0x60099EE")]
[Address(RVA = "0x25F8660", Offset = "0x25F7660", VA = "0x1825F8660", Slot = "5")]
public string EncodeAsText<T>(T value)
{
string text;
return text;
}
// Token: 0x060099EF RID: 39407 RVA: 0x001F6E74 File Offset: 0x001F5074
[Token(Token = "0x60099EF")]
[Address(RVA = "0x62B8E0", Offset = "0x62A8E0", VA = "0x18062B8E0", Slot = "9")]
public object ConvertTo(Type toType, object obj)
{
string text = NOEIKACMNJH.MFFBDFHINID(obj);
return NOEIKACMNJH.IGOEEFAAPKD(toType, text);
}
}
}
@@ -0,0 +1,1012 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BestHTTP.Extensions;
using BestHTTP.Futures;
using BestHTTP.Logger;
using BestHTTP.SignalRCore.Authentication;
using BestHTTP.SignalRCore.Messages;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BF RID: 6591
[Token(Token = "0x20019BF")]
public sealed class HubConnection : IHeartbeat
{
// Token: 0x17001875 RID: 6261
// (get) Token: 0x0600997E RID: 39294 RVA: 0x001F5818 File Offset: 0x001F3A18
// (set) Token: 0x0600997F RID: 39295 RVA: 0x001F582C File Offset: 0x001F3A2C
[Token(Token = "0x17001875")]
public Uri Uri
{
[Token(Token = "0x600997E")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x600997F")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x17001876 RID: 6262
// (get) Token: 0x06009980 RID: 39296 RVA: 0x001F5840 File Offset: 0x001F3A40
// (set) Token: 0x06009981 RID: 39297 RVA: 0x001F5854 File Offset: 0x001F3A54
[Token(Token = "0x17001876")]
public ConnectionStates State
{
[Token(Token = "0x6009980")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x6009981")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
private set;
}
// Token: 0x17001877 RID: 6263
// (get) Token: 0x06009982 RID: 39298 RVA: 0x001F5868 File Offset: 0x001F3A68
// (set) Token: 0x06009983 RID: 39299 RVA: 0x001F587C File Offset: 0x001F3A7C
[Token(Token = "0x17001877")]
public ITransport Transport
{
[Token(Token = "0x6009982")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x6009983")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
private set;
}
// Token: 0x17001878 RID: 6264
// (get) Token: 0x06009984 RID: 39300 RVA: 0x001F5890 File Offset: 0x001F3A90
// (set) Token: 0x06009985 RID: 39301 RVA: 0x001F58A4 File Offset: 0x001F3AA4
[Token(Token = "0x17001878")]
public IProtocol Protocol
{
[Token(Token = "0x6009984")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x6009985")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
private set;
}
// Token: 0x140000C2 RID: 194
// (add) Token: 0x06009986 RID: 39302 RVA: 0x001F58B8 File Offset: 0x001F3AB8
// (remove) Token: 0x06009987 RID: 39303 RVA: 0x001F58E0 File Offset: 0x001F3AE0
[Token(Token = "0x140000C2")]
public event Action<HubConnection, Uri, Uri> OnRedirected
{
[Token(Token = "0x6009986")]
[Address(RVA = "0x62A970", Offset = "0x629970", VA = "0x18062A970")]
[CompilerGenerated]
add
{
Action<HubConnection, Uri, Uri> onRedirected;
Delegate @delegate;
do
{
onRedirected = this.OnRedirected;
@delegate = Delegate.Combine(onRedirected, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onRedirected)
{
}
}
[Token(Token = "0x6009987")]
[Address(RVA = "0x62AC90", Offset = "0x629C90", VA = "0x18062AC90")]
[CompilerGenerated]
remove
{
Action<HubConnection, Uri, Uri> onRedirected;
Delegate @delegate;
do
{
onRedirected = this.OnRedirected;
@delegate = Delegate.Remove(onRedirected, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onRedirected)
{
}
}
}
// Token: 0x140000C3 RID: 195
// (add) Token: 0x06009988 RID: 39304 RVA: 0x001F5908 File Offset: 0x001F3B08
// (remove) Token: 0x06009989 RID: 39305 RVA: 0x001F5930 File Offset: 0x001F3B30
[Token(Token = "0x140000C3")]
public event Action<HubConnection> OnConnected
{
[Token(Token = "0x6009988")]
[Address(RVA = "0x62A790", Offset = "0x629790", VA = "0x18062A790")]
[CompilerGenerated]
add
{
Action<HubConnection> onConnected;
Delegate @delegate;
do
{
onConnected = this.OnConnected;
@delegate = Delegate.Combine(onConnected, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onConnected)
{
}
}
[Token(Token = "0x6009989")]
[Address(RVA = "0x62AAB0", Offset = "0x629AB0", VA = "0x18062AAB0")]
[CompilerGenerated]
remove
{
Action<HubConnection> onConnected;
Delegate @delegate;
do
{
onConnected = this.OnConnected;
@delegate = Delegate.Remove(onConnected, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onConnected)
{
}
}
}
// Token: 0x140000C4 RID: 196
// (add) Token: 0x0600998A RID: 39306 RVA: 0x001F5958 File Offset: 0x001F3B58
// (remove) Token: 0x0600998B RID: 39307 RVA: 0x001F5980 File Offset: 0x001F3B80
[Token(Token = "0x140000C4")]
public event Action<HubConnection, string> OnError
{
[Token(Token = "0x600998A")]
[Address(RVA = "0x62A830", Offset = "0x629830", VA = "0x18062A830")]
[CompilerGenerated]
add
{
Action<HubConnection, string> onError;
Delegate @delegate;
do
{
onError = this.OnError;
@delegate = Delegate.Combine(onError, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onError)
{
}
}
[Token(Token = "0x600998B")]
[Address(RVA = "0x62AB50", Offset = "0x629B50", VA = "0x18062AB50")]
[CompilerGenerated]
remove
{
Action<HubConnection, string> onError;
Delegate @delegate;
do
{
onError = this.OnError;
@delegate = Delegate.Remove(onError, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onError)
{
}
}
}
// Token: 0x140000C5 RID: 197
// (add) Token: 0x0600998C RID: 39308 RVA: 0x001F59A8 File Offset: 0x001F3BA8
// (remove) Token: 0x0600998D RID: 39309 RVA: 0x001F59D0 File Offset: 0x001F3BD0
[Token(Token = "0x140000C5")]
public event Action<HubConnection> OnClosed
{
[Token(Token = "0x600998C")]
[Address(RVA = "0x62A6F0", Offset = "0x6296F0", VA = "0x18062A6F0")]
[CompilerGenerated]
add
{
Action<HubConnection> onClosed;
Delegate @delegate;
do
{
onClosed = this.OnClosed;
@delegate = Delegate.Combine(onClosed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onClosed)
{
}
}
[Token(Token = "0x600998D")]
[Address(RVA = "0x62AA10", Offset = "0x629A10", VA = "0x18062AA10")]
[CompilerGenerated]
remove
{
Action<HubConnection> onClosed;
Delegate @delegate;
do
{
onClosed = this.OnClosed;
@delegate = Delegate.Remove(onClosed, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onClosed)
{
}
}
}
// Token: 0x140000C6 RID: 198
// (add) Token: 0x0600998E RID: 39310 RVA: 0x001F59F8 File Offset: 0x001F3BF8
// (remove) Token: 0x0600998F RID: 39311 RVA: 0x001F5A20 File Offset: 0x001F3C20
[Token(Token = "0x140000C6")]
public event Func<HubConnection, Message, bool> OnMessage
{
[Token(Token = "0x600998E")]
[Address(RVA = "0x62A8D0", Offset = "0x6298D0", VA = "0x18062A8D0")]
[CompilerGenerated]
add
{
Func<HubConnection, Message, bool> onMessage;
Delegate @delegate;
do
{
onMessage = this.OnMessage;
@delegate = Delegate.Combine(onMessage, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onMessage)
{
}
}
[Token(Token = "0x600998F")]
[Address(RVA = "0x62ABF0", Offset = "0x629BF0", VA = "0x18062ABF0")]
[CompilerGenerated]
remove
{
Func<HubConnection, Message, bool> onMessage;
Delegate @delegate;
do
{
onMessage = this.OnMessage;
@delegate = Delegate.Remove(onMessage, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onMessage)
{
}
}
}
// Token: 0x17001879 RID: 6265
// (get) Token: 0x06009990 RID: 39312 RVA: 0x001F5A48 File Offset: 0x001F3C48
// (set) Token: 0x06009991 RID: 39313 RVA: 0x001F5A5C File Offset: 0x001F3C5C
[Token(Token = "0x17001879")]
public IAuthenticationProvider AuthenticationProvider
{
[Token(Token = "0x6009990")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get;
[Token(Token = "0x6009991")]
[Address(RVA = "0x417A10", Offset = "0x416A10", VA = "0x180417A10")]
set;
}
// Token: 0x1700187A RID: 6266
// (get) Token: 0x06009992 RID: 39314 RVA: 0x001F5A70 File Offset: 0x001F3C70
// (set) Token: 0x06009993 RID: 39315 RVA: 0x001F5A84 File Offset: 0x001F3C84
[Token(Token = "0x1700187A")]
public NegotiationResult NegotiationResult
{
[Token(Token = "0x6009992")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get;
[Token(Token = "0x6009993")]
[Address(RVA = "0x417A20", Offset = "0x416A20", VA = "0x180417A20")]
private set;
}
// Token: 0x1700187B RID: 6267
// (get) Token: 0x06009994 RID: 39316 RVA: 0x001F5A98 File Offset: 0x001F3C98
// (set) Token: 0x06009995 RID: 39317 RVA: 0x001F5AAC File Offset: 0x001F3CAC
[Token(Token = "0x1700187B")]
public HubOptions Options
{
[Token(Token = "0x6009994")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x6009995")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
private set;
}
// Token: 0x1700187C RID: 6268
// (get) Token: 0x06009996 RID: 39318 RVA: 0x001F5AC0 File Offset: 0x001F3CC0
// (set) Token: 0x06009997 RID: 39319 RVA: 0x001F5AD4 File Offset: 0x001F3CD4
[Token(Token = "0x1700187C")]
public int RedirectCount
{
[Token(Token = "0x6009996")]
[Address(RVA = "0x483230", Offset = "0x482230", VA = "0x180483230")]
get;
[Token(Token = "0x6009997")]
[Address(RVA = "0x4833D0", Offset = "0x4823D0", VA = "0x1804833D0")]
private set;
}
// Token: 0x06009998 RID: 39320 RVA: 0x001F5AE8 File Offset: 0x001F3CE8
[Token(Token = "0x6009998")]
[Address(RVA = "0x62A430", Offset = "0x629430", VA = "0x18062A430")]
public HubConnection(Uri hubUri, IProtocol protocol)
{
HubOptions hubOptions = new HubOptions();
hubOptions.<SkipNegotiation>k__BackingField = false;
hubOptions.<PreferedTransport>k__BackingField = (TransportTypes)((ulong)0L);
TimeSpan timeSpan;
hubOptions.<PingInterval>k__BackingField = timeSpan;
hubOptions.<MaxRedirects>k__BackingField = (int)((ulong)100L);
}
// Token: 0x06009999 RID: 39321 RVA: 0x001F5B1C File Offset: 0x001F3D1C
[Token(Token = "0x6009999")]
[Address(RVA = "0x62A510", Offset = "0x629510", VA = "0x18062A510")]
public HubConnection(Uri hubUri, IProtocol protocol, HubOptions options)
{
Dictionary<long, Action<Message>> dictionary = new Dictionary();
this.invocations = dictionary;
Dictionary<string, Subscription> dictionary2 = new Dictionary(StringComparer._ordinalIgnoreCase);
this.subscriptions = dictionary2;
base..ctor();
int num = 0;
this.Uri = hubUri;
this.State = (ConnectionStates)num;
this.Options = options;
this.Protocol = protocol;
num += num;
num++;
DefaultAccessTokenAuthenticator defaultAccessTokenAuthenticator;
defaultAccessTokenAuthenticator.StartAuthentication();
defaultAccessTokenAuthenticator._connection = this;
this.AuthenticationProvider = defaultAccessTokenAuthenticator;
}
// Token: 0x0600999A RID: 39322 RVA: 0x001F5B98 File Offset: 0x001F3D98
[Token(Token = "0x600999A")]
[Address(RVA = "0x629CB0", Offset = "0x628CB0", VA = "0x180629CB0")]
public void StartConnect()
{
ConnectionStates connectionStates = this.<State>k__BackingField;
if (connectionStates != ConnectionStates.Initial && connectionStates != ConnectionStates.Redirected)
{
ILogger logger = HTTPManager.Logger;
ConnectionStates connectionStates2 = this.<State>k__BackingField;
return;
}
ILogger logger2 = HTTPManager.Logger;
if (this.<AuthenticationProvider>k__BackingField != 0 && logger2 != 0)
{
ILogger logger3 = HTTPManager.Logger;
int num = 0;
this.SetState(ConnectionStates.Authenticating, num);
IAuthenticationProvider authenticationProvider = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationSuccededDelegate onAuthenticationSuccededDelegate;
onAuthenticationSuccededDelegate.method_ptr = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.method = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.m_target = this;
IAuthenticationProvider authenticationProvider2 = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationFailedDelegate onAuthenticationFailedDelegate;
onAuthenticationFailedDelegate.method_ptr = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.method = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.m_target = this;
IAuthenticationProvider authenticationProvider3 = this.<AuthenticationProvider>k__BackingField;
return;
}
this.StartNegotiation();
}
// Token: 0x0600999B RID: 39323 RVA: 0x001F5C60 File Offset: 0x001F3E60
[Token(Token = "0x600999B")]
[Address(RVA = "0x6280F0", Offset = "0x6270F0", VA = "0x1806280F0")]
private void OnAuthenticationSucceded(IAuthenticationProvider provider)
{
ILogger logger = HTTPManager.Logger;
IAuthenticationProvider authenticationProvider = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationSuccededDelegate onAuthenticationSuccededDelegate;
onAuthenticationSuccededDelegate.method_ptr = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.method = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.m_target = this;
IAuthenticationProvider authenticationProvider2 = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationFailedDelegate onAuthenticationFailedDelegate;
onAuthenticationFailedDelegate.method_ptr = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.method = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.m_target = this;
this.StartNegotiation();
}
// Token: 0x0600999C RID: 39324 RVA: 0x001F5CD4 File Offset: 0x001F3ED4
[Token(Token = "0x600999C")]
[Address(RVA = "0x627FB0", Offset = "0x626FB0", VA = "0x180627FB0")]
private void OnAuthenticationFailed(IAuthenticationProvider provider, string reason)
{
ILogger logger = HTTPManager.Logger;
string text = "OnAuthenticationFailed: " + reason;
IAuthenticationProvider authenticationProvider = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationSuccededDelegate onAuthenticationSuccededDelegate;
onAuthenticationSuccededDelegate.method_ptr = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.method = ldftn(OnAuthenticationSucceded);
onAuthenticationSuccededDelegate.m_target = this;
IAuthenticationProvider authenticationProvider2 = this.<AuthenticationProvider>k__BackingField;
OnAuthenticationFailedDelegate onAuthenticationFailedDelegate;
onAuthenticationFailedDelegate.method_ptr = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.method = ldftn(OnAuthenticationFailed);
onAuthenticationFailedDelegate.m_target = this;
this.SetState(ConnectionStates.Closed, reason);
}
// Token: 0x0600999D RID: 39325 RVA: 0x001F5D58 File Offset: 0x001F3F58
[Token(Token = "0x600999D")]
[Address(RVA = "0x629F70", Offset = "0x628F70", VA = "0x180629F70")]
private void StartNegotiation()
{
ILogger logger = HTTPManager.Logger;
if (this.<State>k__BackingField != ConnectionStates.CloseInitiated)
{
if (!this.<Options>k__BackingField.<SkipNegotiation>k__BackingField)
{
int num = 0;
this.SetState(ConnectionStates.Negotiating, num);
UriBuilder uriBuilder = new UriBuilder(this.<Uri>k__BackingField);
if (!uriBuilder._path.EndsWith("/"))
{
string text = uriBuilder._path + "/";
uriBuilder.Path = text;
}
string text2 = uriBuilder._path + "negotiate";
uriBuilder.Path = text2;
Uri uri = uriBuilder.Uri;
Action<NEBIGEDJGPP, HOOILIHKMEG> action = new Action(this.OnNegotiationRequestFinished);
int num2 = 0;
if (this.<AuthenticationProvider>k__BackingField != 0 && num2 < uri)
{
num2 += num2;
num2++;
}
NEBIGEDJGPP nebigedjgpp;
nebigedjgpp.GDOIHJPIPBM();
return;
}
ILogger logger2 = HTTPManager.Logger;
this.ConnectImpl();
}
int num3 = 0;
this.SetState(ConnectionStates.Closed, num3);
throw new NullReferenceException();
}
// Token: 0x0600999E RID: 39326 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600999E")]
[Address(RVA = "0x627A10", Offset = "0x626A10", VA = "0x180627A10")]
private void ConnectImpl()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600999F RID: 39327 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600999F")]
[Address(RVA = "0x627EC0", Offset = "0x626EC0", VA = "0x180627EC0")]
private bool IsTransportSupported(string transportName)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099A0 RID: 39328 RVA: 0x001F5E60 File Offset: 0x001F4060
[Token(Token = "0x60099A0")]
[Address(RVA = "0x628910", Offset = "0x627910", VA = "0x180628910")]
private void OnNegotiationRequestFinished(NEBIGEDJGPP req, HOOILIHKMEG resp)
{
while (this.<State>k__BackingField != ConnectionStates.CloseInitiated)
{
string text = req.GLGCGFDLEJE();
if (text == 0)
{
if (!resp.HIOBKPKOMLL)
{
int num = resp.LLODNIOIDKE;
string text2 = resp.DFPPNHINEFO;
string text3 = resp.DKPCLPHKFDI;
int num2;
string text4 = string.Format("Negotiation Request Finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", num2, text2, text3);
}
ILogger logger = HTTPManager.Logger;
string text5 = resp.DKPCLPHKFDI;
string text6 = "Negotiation Request Finished Successfully! Response: " + text5;
int num3 = 0;
NegotiationResult negotiationResult = NegotiationResult.Parse(resp.DKPCLPHKFDI, num3, this);
this.<NegotiationResult>k__BackingField = negotiationResult;
if (negotiationResult == 0)
{
continue;
}
Uri <Url>k__BackingField = this.<NegotiationResult>k__BackingField.<Url>k__BackingField;
int num4 = 0;
if (!(<Url>k__BackingField != num4))
{
this.ConnectImpl();
}
int num5 = 0;
this.SetState(ConnectionStates.Redirected, num5);
int num6 = this.<RedirectCount>k__BackingField;
num6++;
this.<RedirectCount>k__BackingField = num6;
HubOptions hubOptions = this.<Options>k__BackingField;
int <MaxRedirects>k__BackingField = hubOptions.<MaxRedirects>k__BackingField;
if (num6 < <MaxRedirects>k__BackingField)
{
Uri uri = this.<Uri>k__BackingField;
NegotiationResult negotiationResult2 = this.<NegotiationResult>k__BackingField;
Uri <Url>k__BackingField2 = negotiationResult2.<Url>k__BackingField;
this.<Uri>k__BackingField = <Url>k__BackingField2;
if (!string.IsNullOrEmpty(negotiationResult2.<AccessToken>k__BackingField))
{
string <AccessToken>k__BackingField = this.<NegotiationResult>k__BackingField.<AccessToken>k__BackingField;
BearerTokenAuthProvider bearerTokenAuthProvider;
bearerTokenAuthProvider.StartAuthentication();
bearerTokenAuthProvider.accessToken = <AccessToken>k__BackingField;
this.<AuthenticationProvider>k__BackingField = bearerTokenAuthProvider;
}
if (this.OnRedirected != (ulong)0L)
{
Action<HubConnection, Uri, Uri> onRedirected = this.OnRedirected;
Uri uri2 = this.<Uri>k__BackingField;
onRedirected(this, uri, uri2);
ILogger logger2 = HTTPManager.Logger;
}
this.StartConnect();
}
string text7 = string.Format("MaxRedirects ({0:N0}) reached!", hubOptions);
}
if ("Negotiation Request: " + text != 0)
{
break;
}
return;
}
int num7 = 0;
this.SetState(ConnectionStates.Closed, num7);
}
// Token: 0x060099A1 RID: 39329 RVA: 0x001F6018 File Offset: 0x001F4218
[Token(Token = "0x60099A1")]
[Address(RVA = "0x629BF0", Offset = "0x628BF0", VA = "0x180629BF0")]
public void StartClose()
{
ILogger logger = HTTPManager.Logger;
int num = 0;
this.SetState(ConnectionStates.CloseInitiated, num);
if (this.<Transport>k__BackingField != 0)
{
}
}
// Token: 0x060099A2 RID: 39330 RVA: 0x001F6048 File Offset: 0x001F4248
[Token(Token = "0x60099A2")]
[Address(RVA = "0x21BF840", Offset = "0x21BE840", VA = "0x1821BF840")]
public IFuture<StreamItemContainer<TResult>> Stream<TResult>(string target, params object[] args)
{
Action<Message> action;
ulong num2;
long num = this.InvokeImp(target, args, action, num2 != 0UL);
throw new NullReferenceException();
}
// Token: 0x060099A3 RID: 39331 RVA: 0x001F6068 File Offset: 0x001F4268
[Token(Token = "0x60099A3")]
[Address(RVA = "0x25F7C60", Offset = "0x25F6C60", VA = "0x1825F7C60")]
public void CancelStream<T>(StreamItemContainer<T> container)
{
container.IsCanceled = true;
}
// Token: 0x060099A4 RID: 39332 RVA: 0x001F6088 File Offset: 0x001F4288
[Token(Token = "0x60099A4")]
[Address(RVA = "0x21BF710", Offset = "0x21BE710", VA = "0x1821BF710")]
public IFuture<TResult> Invoke<TResult>(string target, params object[] args)
{
Action<Message> action;
ulong num2;
long num = this.InvokeImp(target, args, action, num2 != 0UL);
throw new NullReferenceException();
}
// Token: 0x060099A5 RID: 39333 RVA: 0x001F60A8 File Offset: 0x001F42A8
[Token(Token = "0x60099A5")]
[Address(RVA = "0x6290E0", Offset = "0x6280E0", VA = "0x1806290E0")]
public IFuture<bool> Send(string target, params object[] args)
{
Future<bool> future4 = new Future();
Future<bool> future = future4;
Action<Message> action = delegate(Message message)
{
int num = 0;
Future<bool> future3 = future;
Exception ex = new Exception(num);
future3.Fail(ex);
};
if (this.<State>k__BackingField == ConnectionStates.Connected && action != 0)
{
Dictionary<long, Action<Message>> dictionary = this.invocations;
throw new NullReferenceException();
}
Future<bool> future2 = future;
throw new NullReferenceException();
}
// Token: 0x060099A6 RID: 39334 RVA: 0x001F6104 File Offset: 0x001F4304
[Token(Token = "0x60099A6")]
[Address(RVA = "0x627D60", Offset = "0x626D60", VA = "0x180627D60")]
private long InvokeImp(string target, object[] args, Action<Message> callback, bool isStreamingInvocation = false)
{
if (this.<State>k__BackingField == ConnectionStates.Connected && callback != 0)
{
Dictionary<long, Action<Message>> dictionary = this.invocations;
throw new NullReferenceException();
}
throw new NullReferenceException();
}
// Token: 0x060099A7 RID: 39335 RVA: 0x001F6138 File Offset: 0x001F4338
[Token(Token = "0x60099A7")]
[Address(RVA = "0x628FA0", Offset = "0x627FA0", VA = "0x180628FA0")]
private void SendMessage(Message message)
{
IProtocol protocol = this.<Protocol>k__BackingField;
int num = 0;
num += num;
num++;
bool nonblocking = message.nonblocking;
object[] arguments = message.arguments;
object result = message.result;
ITransport transport = this.<Transport>k__BackingField;
DateTime utcNow = DateTime.UtcNow;
this.lastMessageSent = utcNow;
}
// Token: 0x060099A8 RID: 39336 RVA: 0x001F618C File Offset: 0x001F438C
[Token(Token = "0x60099A8")]
[Address(RVA = "0x628CE0", Offset = "0x627CE0", VA = "0x180628CE0")]
public void On(string methodName, Action callback)
{
Action<object[]> action = delegate(object[] args)
{
callback();
};
Dictionary<string, Subscription> dictionary = this.subscriptions;
bool flag;
if (!flag)
{
Dictionary<string, Subscription> dictionary2 = this.subscriptions;
List<CallbackDescriptor> list = new List(1);
Subscription subscription;
subscription.callbacks = list;
throw new NullReferenceException();
}
}
// Token: 0x060099A9 RID: 39337 RVA: 0x001F61E4 File Offset: 0x001F43E4
[Token(Token = "0x60099A9")]
[Address(RVA = "0x25F83E0", Offset = "0x25F73E0", VA = "0x1825F83E0")]
public void On<T1>(string methodName, Action<T1> callback)
{
Type[] array = new Type[1];
Type typeFromHandle = typeof(Type);
if (typeFromHandle != 0)
{
}
array[0] = typeFromHandle;
Action<object[]> action;
this.On(methodName, array, action);
}
// Token: 0x060099AA RID: 39338 RVA: 0x001F6220 File Offset: 0x001F4420
[Token(Token = "0x60099AA")]
[Address(RVA = "0x25F8200", Offset = "0x25F7200", VA = "0x1825F8200")]
public void On<T1, T2>(string methodName, Action<T1, T2> callback)
{
Type[] array = new Type[2];
Type typeFromHandle = typeof(Type);
if (typeFromHandle != 0)
{
}
array[0] = typeFromHandle;
Type type;
if (type != 0)
{
}
array[1] = type;
Action<object[]> action;
this.On(methodName, array, action);
}
// Token: 0x060099AB RID: 39339 RVA: 0x001F6268 File Offset: 0x001F4468
[Token(Token = "0x60099AB")]
[Address(RVA = "0x25F7FC0", Offset = "0x25F6FC0", VA = "0x1825F7FC0")]
public void On<T1, T2, T3>(string methodName, Action<T1, T2, T3> callback)
{
Type[] array = new Type[3];
Type typeFromHandle = typeof(Type);
if (typeFromHandle != 0)
{
}
array[0] = typeFromHandle;
Type type;
if (type != 0)
{
}
array[1] = type;
Type type2;
if (type2 != 0)
{
}
array[2] = type2;
Action<object[]> action;
this.On(methodName, array, action);
}
// Token: 0x060099AC RID: 39340 RVA: 0x001F62BC File Offset: 0x001F44BC
[Token(Token = "0x60099AC")]
[Address(RVA = "0x25F7D20", Offset = "0x25F6D20", VA = "0x1825F7D20")]
public void On<T1, T2, T3, T4>(string methodName, Action<T1, T2, T3, T4> callback)
{
Type[] array = new Type[4];
Type typeFromHandle = typeof(Type);
if (typeFromHandle != 0)
{
}
array[0] = typeFromHandle;
Type type;
if (type != 0)
{
}
array[1] = type;
Type type2;
if (type2 != 0)
{
}
array[2] = type2;
Type type3;
if (type3 != 0)
{
}
array[3] = type3;
Action<object[]> action;
this.On(methodName, array, action);
}
// Token: 0x060099AD RID: 39341 RVA: 0x001F6320 File Offset: 0x001F4520
[Token(Token = "0x60099AD")]
[Address(RVA = "0x628E70", Offset = "0x627E70", VA = "0x180628E70")]
public void On(string methodName, Type[] paramTypes, Action<object[]> callback)
{
Dictionary<string, Subscription> dictionary = this.subscriptions;
bool flag;
if (!flag)
{
Dictionary<string, Subscription> dictionary2 = this.subscriptions;
List<CallbackDescriptor> list = new List(1);
Subscription subscription;
subscription.callbacks = list;
throw new NullReferenceException();
}
}
// Token: 0x060099AE RID: 39342 RVA: 0x001F635C File Offset: 0x001F455C
[Token(Token = "0x60099AE")]
[Address(RVA = "0x628210", Offset = "0x627210", VA = "0x180628210")]
internal void OnMessages(List<Message> messages)
{
ThrowHelper.ThrowArgumentOutOfRangeException();
bool flag;
if (this.OnMessage == 0 || !flag)
{
}
ILogger logger = HTTPManager.Logger;
int num = 0;
if (logger <= (ulong)6L)
{
Dictionary<string, Subscription> dictionary = this.subscriptions;
bool flag2;
if (flag2 && num < (flag2 ? 1 : 0))
{
ThrowHelper.ThrowArgumentOutOfRangeException();
num += 2;
num += num;
IProtocol protocol = this.<Protocol>k__BackingField;
ILogger logger2 = HTTPManager.Logger;
ILogger logger3 = HTTPManager.Logger;
num++;
bool flag3;
if (flag3)
{
Dictionary<long, Action<Message>> dictionary2 = this.invocations;
bool flag4;
if (flag4)
{
ILogger logger4 = HTTPManager.Logger;
bool flag5;
if (flag5)
{
Dictionary<long, Action<Message>> dictionary3 = this.invocations;
bool flag6;
if (flag6)
{
ILogger logger5 = HTTPManager.Logger;
}
Dictionary<long, Action<Message>> dictionary4 = this.invocations;
}
}
}
}
}
}
// Token: 0x060099AF RID: 39343 RVA: 0x001F6434 File Offset: 0x001F4634
[Token(Token = "0x60099AF")]
[Address(RVA = "0x62A240", Offset = "0x629240", VA = "0x18062A240")]
private void Transport_OnStateChanged(TransportStates oldState, TransportStates newState)
{
ILogger logger = HTTPManager.Logger;
ILogger logger2 = logger;
if (logger != 0)
{
if (logger != 0)
{
if (logger == 0)
{
ITransport transport = this.<Transport>k__BackingField;
goto IL_2B;
}
if (logger2 == (ulong)1L)
{
}
}
return;
}
IL_2B:
throw new NullReferenceException();
}
// Token: 0x060099B0 RID: 39344 RVA: 0x001F6474 File Offset: 0x001F4674
[Token(Token = "0x60099B0")]
[Address(RVA = "0x6292B0", Offset = "0x6282B0", VA = "0x1806292B0")]
private void SetState(ConnectionStates state, [Optional] string errorReason)
{
ILogger logger = HTTPManager.Logger;
string[] array = new string[7];
if ("SetState - from State: '" != 0)
{
}
array[0] = "SetState - from State: '";
ConnectionStates connectionStates;
int num = connectionStates.GetHashCode();
if (num != 0)
{
}
array[1] = num;
if ("' to State: '" != 0)
{
}
array[2] = "' to State: '";
int num2;
num = num2;
if (num != 0)
{
}
array[3] = num;
if ("' errorReason: '" != 0)
{
}
array[4] = "' errorReason: '";
if (errorReason != 0)
{
}
array[5] = errorReason;
if ("'" != 0)
{
}
array[6] = "'";
string text = string.Concat(array);
ILogger logger2 = HTTPManager.Logger;
string[] array2 = new string[5];
if ("SetState - from State: '" != 0)
{
}
array2[0] = "SetState - from State: '";
ConnectionStates connectionStates2;
int num3 = connectionStates2.GetHashCode();
if (num3 != 0)
{
}
array2[1] = num3;
if ("' to State: '" != 0)
{
}
array2[2] = "' to State: '";
int num4;
num3 = num4;
if (num3 != 0)
{
}
array2[3] = num3;
if ("'" != 0)
{
}
array2[4] = "'";
string text2 = string.Concat(array2);
if (this.<State>k__BackingField != text2)
{
this.<State>k__BackingField = text2;
if (text2 <= (ulong)6L)
{
Action<HubConnection> onConnected = this.OnConnected;
if (onConnected != 0)
{
onConnected(this);
}
ILogger logger3 = HTTPManager.Logger;
HTTPManager.Heartbeats.Subscribe(this);
DateTime utcNow = DateTime.UtcNow;
this.lastMessageSent = utcNow;
}
}
}
// Token: 0x060099B1 RID: 39345 RVA: 0x001F6658 File Offset: 0x001F4858
[Token(Token = "0x60099B1")]
[Address(RVA = "0x627860", Offset = "0x626860", VA = "0x180627860", Slot = "4")]
void IHeartbeat.OnHeartbeatUpdate(TimeSpan dif)
{
if (this.<State>k__BackingField == ConnectionStates.Connected)
{
TimeSpan <PingInterval>k__BackingField = this.<Options>k__BackingField.<PingInterval>k__BackingField;
TimeSpan zero = TimeSpan.Zero;
if (<PingInterval>k__BackingField != zero)
{
DateTime utcNow = DateTime.UtcNow;
DateTime dateTime = this.lastMessageSent;
TimeSpan timeSpan = utcNow - dateTime;
TimeSpan <PingInterval>k__BackingField2 = this.<Options>k__BackingField.<PingInterval>k__BackingField;
if (timeSpan >= <PingInterval>k__BackingField2)
{
}
}
}
}
// Token: 0x040067E3 RID: 26595
[Token(Token = "0x40067E3")]
public static readonly object[] EmptyArgs = new object[0];
// Token: 0x040067F1 RID: 26609
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x40067F1")]
private long lastInvocationId;
// Token: 0x040067F2 RID: 26610
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x40067F2")]
private Dictionary<long, Action<Message>> invocations;
// Token: 0x040067F3 RID: 26611
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x40067F3")]
private Dictionary<string, Subscription> subscriptions;
// Token: 0x040067F4 RID: 26612
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x40067F4")]
private DateTime lastMessageSent;
}
}
@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BE RID: 6590
[Token(Token = "0x20019BE")]
public sealed class HubOptions
{
// Token: 0x17001871 RID: 6257
// (get) Token: 0x06009975 RID: 39285 RVA: 0x001F5744 File Offset: 0x001F3944
// (set) Token: 0x06009976 RID: 39286 RVA: 0x001F5758 File Offset: 0x001F3958
[Token(Token = "0x17001871")]
public bool SkipNegotiation
{
[Token(Token = "0x6009975")]
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
get;
[Token(Token = "0x6009976")]
[Address(RVA = "0x62ADC0", Offset = "0x629DC0", VA = "0x18062ADC0")]
set;
}
// Token: 0x17001872 RID: 6258
// (get) Token: 0x06009977 RID: 39287 RVA: 0x001F576C File Offset: 0x001F396C
// (set) Token: 0x06009978 RID: 39288 RVA: 0x001F5780 File Offset: 0x001F3980
[Token(Token = "0x17001872")]
public TransportTypes PreferedTransport
{
[Token(Token = "0x6009977")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get;
[Token(Token = "0x6009978")]
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
set;
}
// Token: 0x17001873 RID: 6259
// (get) Token: 0x06009979 RID: 39289 RVA: 0x001F5794 File Offset: 0x001F3994
// (set) Token: 0x0600997A RID: 39290 RVA: 0x001F57A8 File Offset: 0x001F39A8
[Token(Token = "0x17001873")]
public TimeSpan PingInterval
{
[Token(Token = "0x6009979")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600997A")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
set;
}
// Token: 0x17001874 RID: 6260
// (get) Token: 0x0600997B RID: 39291 RVA: 0x001F57BC File Offset: 0x001F39BC
// (set) Token: 0x0600997C RID: 39292 RVA: 0x001F57D0 File Offset: 0x001F39D0
[Token(Token = "0x17001874")]
public int MaxRedirects
{
[Token(Token = "0x600997B")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
get;
[Token(Token = "0x600997C")]
[Address(RVA = "0x62ADB0", Offset = "0x629DB0", VA = "0x18062ADB0")]
set;
}
// Token: 0x0600997D RID: 39293 RVA: 0x001F57E4 File Offset: 0x001F39E4
[Token(Token = "0x600997D")]
[Address(RVA = "0x62AD30", Offset = "0x629D30", VA = "0x18062AD30")]
public HubOptions()
{
this.SkipNegotiation = false;
this.PreferedTransport = (TransportTypes)((ulong)0L);
TimeSpan timeSpan;
this.PingInterval = timeSpan;
this.MaxRedirects = (int)((ulong)100L);
}
}
}
@@ -0,0 +1,53 @@
using System;
using BestHTTP.WebSocket;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019CA RID: 6602
[Token(Token = "0x20019CA")]
public interface IAuthenticationProvider
{
// Token: 0x1700187D RID: 6269
// (get) Token: 0x060099CB RID: 39371
[Token(Token = "0x1700187D")]
bool IsPreAuthRequired
{
[Token(Token = "0x60099CB")]
[Address(Slot = "0")]
get;
}
// Token: 0x140000C7 RID: 199
// (add) Token: 0x060099CC RID: 39372
// (remove) Token: 0x060099CD RID: 39373
[Token(Token = "0x140000C7")]
event OnAuthenticationSuccededDelegate OnAuthenticationSucceded;
// Token: 0x140000C8 RID: 200
// (add) Token: 0x060099CE RID: 39374
// (remove) Token: 0x060099CF RID: 39375
[Token(Token = "0x140000C8")]
event OnAuthenticationFailedDelegate OnAuthenticationFailed;
// Token: 0x060099D0 RID: 39376
[Token(Token = "0x60099D0")]
[Address(Slot = "5")]
void StartAuthentication();
// Token: 0x060099D1 RID: 39377
[Token(Token = "0x60099D1")]
[Address(Slot = "6")]
void PrepareRequest(NEBIGEDJGPP request);
// Token: 0x060099D2 RID: 39378
[Token(Token = "0x60099D2")]
[Address(Slot = "7")]
void PrepareWebSocket(WebSocket webSocket);
// Token: 0x060099D3 RID: 39379
[Token(Token = "0x60099D3")]
[Address(Slot = "8")]
Uri PrepareUri(Uri uri);
}
}
@@ -0,0 +1,45 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BA RID: 6586
[Token(Token = "0x20019BA")]
public interface IEncoder
{
// Token: 0x1700186E RID: 6254
// (get) Token: 0x06009965 RID: 39269
[Token(Token = "0x1700186E")]
string Name
{
[Token(Token = "0x6009965")]
[Address(Slot = "0")]
get;
}
// Token: 0x06009966 RID: 39270
[Token(Token = "0x6009966")]
[Address(Slot = "1")]
string EncodeAsText<T>(T value);
// Token: 0x06009967 RID: 39271
[Token(Token = "0x6009967")]
[Address(Slot = "2")]
T DecodeAs<T>(string text);
// Token: 0x06009968 RID: 39272
[Token(Token = "0x6009968")]
[Address(Slot = "3")]
byte[] EncodeAsBinary<T>(T value);
// Token: 0x06009969 RID: 39273
[Token(Token = "0x6009969")]
[Address(Slot = "4")]
T DecodeAs<T>(byte[] data);
// Token: 0x0600996A RID: 39274
[Token(Token = "0x600996A")]
[Address(Slot = "5")]
object ConvertTo(Type toType, object obj);
}
}
@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using BestHTTP.SignalRCore.Messages;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019CB RID: 6603
[Token(Token = "0x20019CB")]
public interface IProtocol
{
// Token: 0x1700187E RID: 6270
// (get) Token: 0x060099D4 RID: 39380
[Token(Token = "0x1700187E")]
TransferModes Type
{
[Token(Token = "0x60099D4")]
[Address(Slot = "0")]
get;
}
// Token: 0x1700187F RID: 6271
// (get) Token: 0x060099D5 RID: 39381
[Token(Token = "0x1700187F")]
IEncoder Encoder
{
[Token(Token = "0x60099D5")]
[Address(Slot = "1")]
get;
}
// Token: 0x17001880 RID: 6272
// (get) Token: 0x060099D6 RID: 39382
// (set) Token: 0x060099D7 RID: 39383
[Token(Token = "0x17001880")]
HubConnection Connection
{
[Token(Token = "0x60099D6")]
[Address(Slot = "2")]
get;
[Token(Token = "0x60099D7")]
[Address(Slot = "3")]
set;
}
// Token: 0x060099D8 RID: 39384
[Token(Token = "0x60099D8")]
[Address(Slot = "4")]
void ParseMessages(string data, ref List<Message> messages);
// Token: 0x060099D9 RID: 39385
[Token(Token = "0x60099D9")]
[Address(Slot = "5")]
void ParseMessages(byte[] data, ref List<Message> messages);
// Token: 0x060099DA RID: 39386
[Token(Token = "0x60099DA")]
[Address(Slot = "6")]
byte[] EncodeMessage(Message message);
// Token: 0x060099DB RID: 39387
[Token(Token = "0x60099DB")]
[Address(Slot = "7")]
object[] GetRealArguments(Type[] argTypes, object[] arguments);
// Token: 0x060099DC RID: 39388
[Token(Token = "0x60099DC")]
[Address(Slot = "8")]
object ConvertTo(Type toType, object obj);
}
}
@@ -0,0 +1,71 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B9 RID: 6585
[Token(Token = "0x20019B9")]
public interface ITransport
{
// Token: 0x1700186A RID: 6250
// (get) Token: 0x0600995C RID: 39260
[Token(Token = "0x1700186A")]
TransferModes TransferMode
{
[Token(Token = "0x600995C")]
[Address(Slot = "0")]
get;
}
// Token: 0x1700186B RID: 6251
// (get) Token: 0x0600995D RID: 39261
[Token(Token = "0x1700186B")]
TransportTypes TransportType
{
[Token(Token = "0x600995D")]
[Address(Slot = "1")]
get;
}
// Token: 0x1700186C RID: 6252
// (get) Token: 0x0600995E RID: 39262
[Token(Token = "0x1700186C")]
TransportStates State
{
[Token(Token = "0x600995E")]
[Address(Slot = "2")]
get;
}
// Token: 0x1700186D RID: 6253
// (get) Token: 0x0600995F RID: 39263
[Token(Token = "0x1700186D")]
string ErrorReason
{
[Token(Token = "0x600995F")]
[Address(Slot = "3")]
get;
}
// Token: 0x140000C1 RID: 193
// (add) Token: 0x06009960 RID: 39264
// (remove) Token: 0x06009961 RID: 39265
[Token(Token = "0x140000C1")]
event Action<TransportStates, TransportStates> OnStateChanged;
// Token: 0x06009962 RID: 39266
[Token(Token = "0x6009962")]
[Address(Slot = "6")]
void StartConnect();
// Token: 0x06009963 RID: 39267
[Token(Token = "0x6009963")]
[Address(Slot = "7")]
void StartClose();
// Token: 0x06009964 RID: 39268
[Token(Token = "0x6009964")]
[Address(Slot = "8")]
void Send(byte[] msg);
}
}
@@ -0,0 +1,177 @@
using System;
using System.Collections.Generic;
using System.Text;
using BestHTTP.SignalRCore.Messages;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019CC RID: 6604
[Token(Token = "0x20019CC")]
public sealed class JsonProtocol : IProtocol
{
// Token: 0x17001881 RID: 6273
// (get) Token: 0x060099DD RID: 39389 RVA: 0x001F6B88 File Offset: 0x001F4D88
[Token(Token = "0x17001881")]
public TransferModes Type
{
[Token(Token = "0x60099DD")]
[Address(RVA = "0x4E8690", Offset = "0x4E7690", VA = "0x1804E8690", Slot = "4")]
get
{
return TransferModes.Text;
}
}
// Token: 0x17001882 RID: 6274
// (get) Token: 0x060099DE RID: 39390 RVA: 0x001F6B98 File Offset: 0x001F4D98
// (set) Token: 0x060099DF RID: 39391 RVA: 0x001F6BAC File Offset: 0x001F4DAC
[Token(Token = "0x17001882")]
public IEncoder Encoder
{
[Token(Token = "0x60099DE")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "5")]
get;
[Token(Token = "0x60099DF")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x17001883 RID: 6275
// (get) Token: 0x060099E0 RID: 39392 RVA: 0x001F6BC0 File Offset: 0x001F4DC0
// (set) Token: 0x060099E1 RID: 39393 RVA: 0x001F6BD4 File Offset: 0x001F4DD4
[Token(Token = "0x17001883")]
public HubConnection Connection
{
[Token(Token = "0x60099E0")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "6")]
get;
[Token(Token = "0x60099E1")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0", Slot = "7")]
set;
}
// Token: 0x060099E2 RID: 39394 RVA: 0x001F6BE8 File Offset: 0x001F4DE8
[Token(Token = "0x60099E2")]
[Address(RVA = "0x62B800", Offset = "0x62A800", VA = "0x18062B800")]
public JsonProtocol(IEncoder encoder)
{
/*
An exception occurred when decompiling this method (060099E2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SignalRCore.JsonProtocol::.ctor(BestHTTP.SignalRCore.IEncoder)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_25:
stloc:ArgumentException(var_1_2F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Encoder must be a json encoder!")))
}
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: 0x060099E3 RID: 39395 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099E3")]
[Address(RVA = "0x62B510", Offset = "0x62A510", VA = "0x18062B510", Slot = "8")]
public void ParseMessages(string data, ref List<Message> messages)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099E4 RID: 39396 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099E4")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
public void ParseMessages(byte[] data, ref List<Message> messages)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099E5 RID: 39397 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099E5")]
[Address(RVA = "0x62AFE0", Offset = "0x629FE0", VA = "0x18062AFE0", Slot = "10")]
public byte[] EncodeMessage(Message message)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099E6 RID: 39398 RVA: 0x001F6C24 File Offset: 0x001F4E24
[Token(Token = "0x60099E6")]
[Address(RVA = "0x62B330", Offset = "0x62A330", VA = "0x18062B330", Slot = "11")]
public object[] GetRealArguments(Type[] argTypes, object[] arguments)
{
if (arguments != 0)
{
int length = arguments.Length;
if (length != 0)
{
object[] array = new object[length];
int num = 0;
int length2 = arguments.Length;
if (num < length2)
{
object obj = arguments[num];
Type type = argTypes[num];
object obj2 = this.ConvertTo(type, obj);
if (obj2 != 0)
{
}
array[0] = obj2;
num++;
}
return array;
}
}
throw new ArrayTypeMismatchException();
}
// Token: 0x060099E7 RID: 39399 RVA: 0x001F6C90 File Offset: 0x001F4E90
[Token(Token = "0x60099E7")]
[Address(RVA = "0x62AE30", Offset = "0x629E30", VA = "0x18062AE30", Slot = "12")]
public object ConvertTo(Type toType, object obj)
{
if (obj != 0)
{
if (!toType.IsPrimitive && !toType.IsSealed)
{
Type typeFromHandle = typeof(string);
int num = 0;
if (!toType.Equals(typeFromHandle))
{
IEncoder encoder = this.<Encoder>k__BackingField;
int num2 = 0;
if (num2 < num)
{
num2 += num2;
num2++;
}
}
int hashCode = obj.GetHashCode();
}
object obj2 = Convert.ChangeType(obj, toType);
}
throw new NullReferenceException();
}
// Token: 0x060099E8 RID: 39400 RVA: 0x001F6CF8 File Offset: 0x001F4EF8
[Token(Token = "0x60099E8")]
[Address(RVA = "0x62B710", Offset = "0x62A710", VA = "0x18062B710")]
public static byte[] WithSeparator(string str)
{
object obj = Encoding.UTF8.Clone();
byte[] array = new byte[str];
byte[] bytes = Encoding.UTF8.GetBytes(str);
return array;
}
// Token: 0x040067FF RID: 26623
[Token(Token = "0x40067FF")]
public const char Separator = '\u001e';
}
}
@@ -0,0 +1,28 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D1 RID: 6609
[Token(Token = "0x20019D1")]
public struct CancelInvocationMessage
{
// Token: 0x17001889 RID: 6281
// (get) Token: 0x06009A0C RID: 39436 RVA: 0x001F7814 File Offset: 0x001F5A14
[Token(Token = "0x17001889")]
public MessageTypes type
{
[Token(Token = "0x6009A0C")]
[Address(RVA = "0x6271D0", Offset = "0x6261D0", VA = "0x1806271D0")]
get
{
return MessageTypes.CancelInvocation;
}
}
// Token: 0x04006814 RID: 26644
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4006814")]
public string invocationId;
}
}
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D0 RID: 6608
[Token(Token = "0x20019D0")]
public struct InvocationMessage
{
// Token: 0x0400680F RID: 26639
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400680F")]
public MessageTypes type;
// Token: 0x04006810 RID: 26640
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4006810")]
public string invocationId;
// Token: 0x04006811 RID: 26641
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006811")]
public bool nonblocking;
// Token: 0x04006812 RID: 26642
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006812")]
public string target;
// Token: 0x04006813 RID: 26643
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006813")]
public object[] arguments;
}
}
@@ -0,0 +1,83 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D4 RID: 6612
[Token(Token = "0x20019D4")]
public struct Message
{
// Token: 0x06009A0E RID: 39438 RVA: 0x001F7834 File Offset: 0x001F5A34
[Token(Token = "0x6009A0E")]
[Address(RVA = "0x62BE50", Offset = "0x62AE50", VA = "0x18062BE50", Slot = "3")]
public override string ToString()
{
object[] array = this.arguments;
string text = this.target;
string text2 = this.invocationId;
if (array != 0)
{
}
int num;
string text3 = string.Format("[Invocation Id: {0}, Target: '{1}', Argument count: {2}]", text2, text, num);
object obj = this.item;
string text4 = this.invocationId;
int hashCode = obj.GetHashCode();
string text5 = string.Format("[StreamItem Id: {0}, Item: {1}]", text4, hashCode);
string text6 = this.error;
object obj2 = this.result;
string text7 = this.invocationId;
string text8 = string.Format("[Completion Id: {0}, Result: {1}, Error: '{2}']", text7, obj2, text6);
string text9 = this.invocationId;
string text10 = string.Format("[CancelInvocation Id: {0}]", text9);
string text11 = this.error;
if ("[Ping]" != 0)
{
}
string text12 = this.error;
string text13 = string.Format("[Close {0}]", text12);
string text14;
return text14;
}
// Token: 0x0400681E RID: 26654
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400681E")]
public MessageTypes type;
// Token: 0x0400681F RID: 26655
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x400681F")]
public string invocationId;
// Token: 0x04006820 RID: 26656
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006820")]
public bool nonblocking;
// Token: 0x04006821 RID: 26657
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006821")]
public string target;
// Token: 0x04006822 RID: 26658
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006822")]
public object[] arguments;
// Token: 0x04006823 RID: 26659
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006823")]
public object item;
// Token: 0x04006824 RID: 26660
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006824")]
public object result;
// Token: 0x04006825 RID: 26661
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006825")]
public string error;
}
}
@@ -0,0 +1,35 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D3 RID: 6611
[Token(Token = "0x20019D3")]
public enum MessageTypes
{
// Token: 0x04006816 RID: 26646
[Token(Token = "0x4006816")]
Handshake,
// Token: 0x04006817 RID: 26647
[Token(Token = "0x4006817")]
Invocation,
// Token: 0x04006818 RID: 26648
[Token(Token = "0x4006818")]
StreamItem,
// Token: 0x04006819 RID: 26649
[Token(Token = "0x4006819")]
Completion,
// Token: 0x0400681A RID: 26650
[Token(Token = "0x400681A")]
StreamInvocation,
// Token: 0x0400681B RID: 26651
[Token(Token = "0x400681B")]
CancelInvocation,
// Token: 0x0400681C RID: 26652
[Token(Token = "0x400681C")]
Ping,
// Token: 0x0400681D RID: 26653
[Token(Token = "0x400681D")]
Close
}
}
@@ -0,0 +1,166 @@
using System;
using System.Collections.Generic;
using BestHTTP.JSON;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D6 RID: 6614
[Token(Token = "0x20019D6")]
public sealed class NegotiationResult
{
// Token: 0x1700188D RID: 6285
// (get) Token: 0x06009A14 RID: 39444 RVA: 0x001F7978 File Offset: 0x001F5B78
// (set) Token: 0x06009A15 RID: 39445 RVA: 0x001F798C File Offset: 0x001F5B8C
[Token(Token = "0x1700188D")]
public string ConnectionId
{
[Token(Token = "0x6009A14")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x6009A15")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x1700188E RID: 6286
// (get) Token: 0x06009A16 RID: 39446 RVA: 0x001F79A0 File Offset: 0x001F5BA0
// (set) Token: 0x06009A17 RID: 39447 RVA: 0x001F79B4 File Offset: 0x001F5BB4
[Token(Token = "0x1700188E")]
public List<SupportedTransport> SupportedTransports
{
[Token(Token = "0x6009A16")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x6009A17")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x1700188F RID: 6287
// (get) Token: 0x06009A18 RID: 39448 RVA: 0x001F79C8 File Offset: 0x001F5BC8
// (set) Token: 0x06009A19 RID: 39449 RVA: 0x001F79DC File Offset: 0x001F5BDC
[Token(Token = "0x1700188F")]
public Uri Url
{
[Token(Token = "0x6009A18")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x6009A19")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
private set;
}
// Token: 0x17001890 RID: 6288
// (get) Token: 0x06009A1A RID: 39450 RVA: 0x001F79F0 File Offset: 0x001F5BF0
// (set) Token: 0x06009A1B RID: 39451 RVA: 0x001F7A04 File Offset: 0x001F5C04
[Token(Token = "0x17001890")]
public string AccessToken
{
[Token(Token = "0x6009A1A")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get;
[Token(Token = "0x6009A1B")]
[Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820")]
private set;
}
// Token: 0x06009A1C RID: 39452 RVA: 0x001F7A18 File Offset: 0x001F5C18
[Token(Token = "0x6009A1C")]
[Address(RVA = "0x62D0D0", Offset = "0x62C0D0", VA = "0x18062D0D0")]
internal static NegotiationResult Parse(string json, out string error, HubConnection hub)
{
int num = 0;
object obj = Json.Decode(json);
if (obj != 0 && obj != 0)
{
NegotiationResult negotiationResult = new NegotiationResult();
bool flag;
if (flag)
{
int hashCode = obj.GetHashCode();
negotiationResult.<ConnectionId>k__BackingField = hashCode;
}
bool flag2;
bool flag4;
if (flag2 && "availableTransports" != 0 && "availableTransports" != 0)
{
List<SupportedTransport> list;
List<SupportedTransport>.Enumerator enumerator = list.GetEnumerator();
bool flag3;
if (flag3)
{
if (flag4)
{
}
bool flag5;
List<string> list2;
if (flag5 && flag5)
{
List<string>.Enumerator enumerator2 = list2.GetEnumerator();
bool flag6;
if (flag6)
{
int hashCode2 = list2.GetHashCode();
}
if (num != 0)
{
throw new NullReferenceException();
}
if ((ulong)((uint)(-1)) != (ulong)(-1L))
{
}
}
SupportedTransport supportedTransport;
supportedTransport.<Name>k__BackingField = flag4;
supportedTransport.<SupportedFormats>k__BackingField = list2;
list.Add(supportedTransport);
}
if (num != 0)
{
throw new NullReferenceException();
}
negotiationResult.<SupportedTransports>k__BackingField = list;
}
bool flag7;
if (flag7)
{
int hashCode3 = flag4.GetHashCode();
bool flag8;
if (!flag8)
{
Exception ex = new Exception(string.Format("Couldn't parse url: '{0}'", json));
throw new NullReferenceException();
}
Uri uri;
if (!flag8)
{
UriBuilder uriBuilder;
uri = uriBuilder.Uri;
}
negotiationResult.<Url>k__BackingField = uri;
}
bool flag9;
if (!flag9)
{
if (!flag9)
{
goto IL_115;
}
negotiationResult.<AccessToken>k__BackingField = flag4;
}
int hashCode4 = flag4.GetHashCode();
negotiationResult.<AccessToken>k__BackingField = hashCode4;
}
IL_115:
throw new NullReferenceException();
}
// Token: 0x06009A1D RID: 39453 RVA: 0x001F7BC0 File Offset: 0x001F5DC0
[Token(Token = "0x6009A1D")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public NegotiationResult()
{
}
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D2 RID: 6610
[Token(Token = "0x20019D2")]
public struct PingMessage
{
// Token: 0x1700188A RID: 6282
// (get) Token: 0x06009A0D RID: 39437 RVA: 0x001F7824 File Offset: 0x001F5A24
[Token(Token = "0x1700188A")]
public MessageTypes type
{
[Token(Token = "0x6009A0D")]
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10")]
get
{
return MessageTypes.Ping;
}
}
}
}
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Messages
{
// Token: 0x020019D5 RID: 6613
[Token(Token = "0x20019D5")]
public sealed class SupportedTransport
{
// Token: 0x1700188B RID: 6283
// (get) Token: 0x06009A0F RID: 39439 RVA: 0x001F7904 File Offset: 0x001F5B04
// (set) Token: 0x06009A10 RID: 39440 RVA: 0x001F7918 File Offset: 0x001F5B18
[Token(Token = "0x1700188B")]
public string Name
{
[Token(Token = "0x6009A0F")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
get;
[Token(Token = "0x6009A10")]
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")]
private set;
}
// Token: 0x1700188C RID: 6284
// (get) Token: 0x06009A11 RID: 39441 RVA: 0x001F792C File Offset: 0x001F5B2C
// (set) Token: 0x06009A12 RID: 39442 RVA: 0x001F7940 File Offset: 0x001F5B40
[Token(Token = "0x1700188C")]
public List<string> SupportedFormats
{
[Token(Token = "0x6009A11")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x6009A12")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x06009A13 RID: 39443 RVA: 0x001F7954 File Offset: 0x001F5B54
[Token(Token = "0x6009A13")]
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
internal SupportedTransport(string transportName, List<string> transferFormats)
{
this.Name = transportName;
this.SupportedFormats = transferFormats;
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019C9 RID: 6601
[Token(Token = "0x20019C9")]
public sealed class OnAuthenticationFailedDelegate : MulticastDelegate
{
// Token: 0x060099C7 RID: 39367 RVA: 0x001F6AA8 File Offset: 0x001F4CA8
[Token(Token = "0x60099C7")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnAuthenticationFailedDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060099C8 RID: 39368 RVA: 0x001F6AC4 File Offset: 0x001F4CC4
[Token(Token = "0x60099C8")]
[Address(RVA = "0x62D840", Offset = "0x62C840", VA = "0x18062D840", Slot = "13")]
public void Invoke(IAuthenticationProvider provider, string reason)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060099C9 RID: 39369 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099C9")]
[Address(RVA = "0x52CC60", Offset = "0x52BC60", VA = "0x18052CC60", Slot = "14")]
public IAsyncResult BeginInvoke(IAuthenticationProvider provider, string reason, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099CA RID: 39370 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099CA")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019C8 RID: 6600
[Token(Token = "0x20019C8")]
public sealed class OnAuthenticationSuccededDelegate : MulticastDelegate
{
// Token: 0x060099C3 RID: 39363 RVA: 0x001F69D8 File Offset: 0x001F4BD8
[Token(Token = "0x60099C3")]
[Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")]
public OnAuthenticationSuccededDelegate(object @object, IntPtr method)
{
this.method = method;
this.m_target = @object;
}
// Token: 0x060099C4 RID: 39364 RVA: 0x001F69F4 File Offset: 0x001F4BF4
[Token(Token = "0x60099C4")]
[Address(RVA = "0x5FA230", Offset = "0x5F9230", VA = "0x1805FA230", Slot = "13")]
public void Invoke(IAuthenticationProvider provider)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x060099C5 RID: 39365 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099C5")]
[Address(RVA = "0x5FA200", Offset = "0x5F9200", VA = "0x1805FA200", Slot = "14")]
public IAsyncResult BeginInvoke(IAuthenticationProvider provider, AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060099C6 RID: 39366 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60099C6")]
[Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", Slot = "15")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BB RID: 6587
[Token(Token = "0x20019BB")]
public class StreamItemContainer<T>
{
// Token: 0x1700186F RID: 6255
// (get) Token: 0x0600996B RID: 39275 RVA: 0x001F5624 File Offset: 0x001F3824
// (set) Token: 0x0600996C RID: 39276 RVA: 0x001F5638 File Offset: 0x001F3838
[Token(Token = "0x1700186F")]
public List<T> Items
{
[Token(Token = "0x600996B")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get;
[Token(Token = "0x600996C")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x17001870 RID: 6256
// (get) Token: 0x0600996D RID: 39277 RVA: 0x001F564C File Offset: 0x001F384C
// (set) Token: 0x0600996E RID: 39278 RVA: 0x001F5660 File Offset: 0x001F3860
[Token(Token = "0x17001870")]
public T LastAdded
{
[Token(Token = "0x600996D")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x600996E")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
private set;
}
// Token: 0x0600996F RID: 39279 RVA: 0x001F5674 File Offset: 0x001F3874
[Token(Token = "0x600996F")]
[Address(RVA = "0x2DAACC0", Offset = "0x2DA9CC0", VA = "0x182DAACC0")]
public StreamItemContainer(long _id)
{
this.id = _id;
List list = new List();
}
// Token: 0x06009970 RID: 39280 RVA: 0x001F569C File Offset: 0x001F389C
[Token(Token = "0x6009970")]
[Address(RVA = "0x2DAABB0", Offset = "0x2DA9BB0", VA = "0x182DAABB0")]
public void AddItem(T item)
{
if (this.Items == 0)
{
List list = new List();
this.Items = list;
}
this.Items.Add(item);
}
// Token: 0x040067D8 RID: 26584
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40067D8")]
public readonly long id;
// Token: 0x040067DB RID: 26587
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40067DB")]
public bool IsCanceled;
}
}
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019BD RID: 6589
[Token(Token = "0x20019BD")]
internal sealed class Subscription
{
// Token: 0x06009972 RID: 39282 RVA: 0x001F56F0 File Offset: 0x001F38F0
[Token(Token = "0x6009972")]
[Address(RVA = "0x630280", Offset = "0x62F280", VA = "0x180630280")]
public void Add(Type[] paramTypes, Action<object[]> callback)
{
int num;
do
{
num = 0;
List<CallbackDescriptor> list = this.callbacks;
List<CallbackDescriptor> list2 = this.callbacks;
Monitor.Exit(list);
}
while (num != 0);
}
// Token: 0x06009973 RID: 39283 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6009973")]
[Address(RVA = "0x630370", Offset = "0x62F370", VA = "0x180630370")]
public void Remove(Action<object[]> callback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06009974 RID: 39284 RVA: 0x001F5720 File Offset: 0x001F3920
[Token(Token = "0x6009974")]
[Address(RVA = "0x6304C0", Offset = "0x62F4C0", VA = "0x1806304C0")]
public Subscription()
{
List<CallbackDescriptor> list = new List(1);
this.callbacks = list;
base..ctor();
}
// Token: 0x040067DE RID: 26590
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40067DE")]
public List<CallbackDescriptor> callbacks;
}
}
@@ -0,0 +1,17 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B6 RID: 6582
[Token(Token = "0x20019B6")]
public enum TransferModes
{
// Token: 0x040067C7 RID: 26567
[Token(Token = "0x40067C7")]
Binary,
// Token: 0x040067C8 RID: 26568
[Token(Token = "0x40067C8")]
Text
}
}
@@ -0,0 +1,29 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B7 RID: 6583
[Token(Token = "0x20019B7")]
public enum TransportStates
{
// Token: 0x040067CA RID: 26570
[Token(Token = "0x40067CA")]
Initial,
// Token: 0x040067CB RID: 26571
[Token(Token = "0x40067CB")]
Connecting,
// Token: 0x040067CC RID: 26572
[Token(Token = "0x40067CC")]
Connected,
// Token: 0x040067CD RID: 26573
[Token(Token = "0x40067CD")]
Closing,
// Token: 0x040067CE RID: 26574
[Token(Token = "0x40067CE")]
Failed,
// Token: 0x040067CF RID: 26575
[Token(Token = "0x40067CF")]
Closed
}
}
@@ -0,0 +1,14 @@
using System;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore
{
// Token: 0x020019B5 RID: 6581
[Token(Token = "0x20019B5")]
public enum TransportTypes
{
// Token: 0x040067C5 RID: 26565
[Token(Token = "0x40067C5")]
WebSocket
}
}
@@ -0,0 +1,549 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using BestHTTP.Decompression.Zlib;
using BestHTTP.JSON;
using BestHTTP.Logger;
using BestHTTP.SignalRCore.Messages;
using BestHTTP.WebSocket;
using BestHTTP.WebSocket.Extensions;
using Cpp2IlInjected;
namespace BestHTTP.SignalRCore.Transports
{
// Token: 0x020019CF RID: 6607
[Token(Token = "0x20019CF")]
internal sealed class WebSocketTransport : ITransport
{
// Token: 0x17001885 RID: 6277
// (get) Token: 0x060099F8 RID: 39416 RVA: 0x001F6EF8 File Offset: 0x001F50F8
[Token(Token = "0x17001885")]
public TransportTypes TransportType
{
[Token(Token = "0x60099F8")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "5")]
get
{
}
}
// Token: 0x17001886 RID: 6278
// (get) Token: 0x060099F9 RID: 39417 RVA: 0x001F6F08 File Offset: 0x001F5108
[Token(Token = "0x17001886")]
public TransferModes TransferMode
{
[Token(Token = "0x60099F9")]
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "4")]
get
{
}
}
// Token: 0x17001887 RID: 6279
// (get) Token: 0x060099FA RID: 39418 RVA: 0x001F6F18 File Offset: 0x001F5118
// (set) Token: 0x060099FB RID: 39419 RVA: 0x001F6F2C File Offset: 0x001F512C
[Token(Token = "0x17001887")]
public TransportStates State
{
[Token(Token = "0x60099FA")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "6")]
get
{
return this._state;
}
[Token(Token = "0x60099FB")]
[Address(RVA = "0x639BE0", Offset = "0x638BE0", VA = "0x180639BE0")]
private set
{
if (this._state != value)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = value;
if (onStateChanged != 0)
{
}
}
}
}
// Token: 0x17001888 RID: 6280
// (get) Token: 0x060099FC RID: 39420 RVA: 0x001F6F58 File Offset: 0x001F5158
// (set) Token: 0x060099FD RID: 39421 RVA: 0x001F6F6C File Offset: 0x001F516C
[Token(Token = "0x17001888")]
public string ErrorReason
{
[Token(Token = "0x60099FC")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "7")]
get;
[Token(Token = "0x60099FD")]
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
private set;
}
// Token: 0x140000C9 RID: 201
// (add) Token: 0x060099FE RID: 39422 RVA: 0x001F6F80 File Offset: 0x001F5180
// (remove) Token: 0x060099FF RID: 39423 RVA: 0x001F6FA8 File Offset: 0x001F51A8
[Token(Token = "0x140000C9")]
public event Action<TransportStates, TransportStates> OnStateChanged
{
[Token(Token = "0x60099FE")]
[Address(RVA = "0x639AA0", Offset = "0x638AA0", VA = "0x180639AA0", Slot = "8")]
[CompilerGenerated]
add
{
Action<TransportStates, TransportStates> onStateChanged;
Delegate @delegate;
do
{
onStateChanged = this.OnStateChanged;
@delegate = Delegate.Combine(onStateChanged, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onStateChanged)
{
}
}
[Token(Token = "0x60099FF")]
[Address(RVA = "0x639B40", Offset = "0x638B40", VA = "0x180639B40", Slot = "9")]
[CompilerGenerated]
remove
{
Action<TransportStates, TransportStates> onStateChanged;
Delegate @delegate;
do
{
onStateChanged = this.OnStateChanged;
@delegate = Delegate.Remove(onStateChanged, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != onStateChanged)
{
}
}
}
// Token: 0x06009A00 RID: 39424 RVA: 0x001F6FD0 File Offset: 0x001F51D0
[Token(Token = "0x6009A00")]
[Address(RVA = "0x6399E0", Offset = "0x6389E0", VA = "0x1806399E0")]
public WebSocketTransport(HubConnection con)
{
List<Message> list = new List();
this.messages = list;
base..ctor();
this.connection = con;
TransportStates state = this._state;
if (state != TransportStates.Initial)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = (TransportStates)((ulong)0L);
if (onStateChanged != 0)
{
int num = 0;
onStateChanged(state, num);
}
}
}
// Token: 0x06009A01 RID: 39425 RVA: 0x001F7020 File Offset: 0x001F5220
[Token(Token = "0x6009A01")]
[Address(RVA = "0x638590", Offset = "0x637590", VA = "0x180638590", Slot = "10")]
void ITransport.StartConnect()
{
WebSocket webSocket7;
Delegate delegate5;
for (;;)
{
ILogger logger = HTTPManager.Logger;
WebSocket webSocket = this.webSocket;
int num = 0;
if (webSocket == 0)
{
Uri <Uri>k__BackingField = this.connection.<Uri>k__BackingField;
HubConnection hubConnection = this.connection;
if (hubConnection.<NegotiationResult>k__BackingField != num)
{
UriBuilder uriBuilder = new UriBuilder(<Uri>k__BackingField);
StringBuilder stringBuilder = new StringBuilder();
string query = <Uri>k__BackingField.Query;
StringBuilder stringBuilder2 = stringBuilder.Append(query);
string <ConnectionId>k__BackingField = this.connection.<NegotiationResult>k__BackingField.<ConnectionId>k__BackingField;
if (stringBuilder2 == 0)
{
StringBuilder stringBuilder3 = stringBuilder.Append("&id=");
string <ConnectionId>k__BackingField2 = this.connection.<NegotiationResult>k__BackingField.<ConnectionId>k__BackingField;
StringBuilder stringBuilder4 = stringBuilder3.Append(<ConnectionId>k__BackingField2);
}
int hashCode = stringBuilder.GetHashCode();
Uri uri = uriBuilder.Uri;
}
if (hubConnection.<AuthenticationProvider>k__BackingField != 0 && num < logger)
{
num += num;
num++;
}
ILogger logger2 = HTTPManager.Logger;
int hashCode2 = num.GetHashCode();
string empty = string.Empty;
IExtension[] array = new IExtension[1];
int num2 = 0;
PerMessageCompression perMessageCompression;
perMessageCompression.FieldGetter(num2, empty, empty);
perMessageCompression.<Level>k__BackingField = (CompressionLevel)((ulong)6L);
perMessageCompression.<ClientNoContextTakeover>k__BackingField = num != 0;
perMessageCompression.<ClientMaxWindowBits>k__BackingField = (int)((ulong)15L);
perMessageCompression.<ServerMaxWindowBits>k__BackingField = (int)((ulong)15L);
perMessageCompression.<MinimumDataLegthToCompress>k__BackingField = (int)((ulong)256L);
array[0] = perMessageCompression;
WebSocket webSocket2;
webSocket2.<Extensions>k__BackingField = array;
this.webSocket = webSocket2;
}
WebSocket webSocket3;
if (this.connection.<AuthenticationProvider>k__BackingField != 0)
{
webSocket3 = this.webSocket;
}
OnWebSocketOpenDelegate onOpen = webSocket3.OnOpen;
OnWebSocketOpenDelegate onWebSocketOpenDelegate;
onWebSocketOpenDelegate.method_ptr = ldftn(OnOpen);
onWebSocketOpenDelegate.method = ldftn(OnOpen);
onWebSocketOpenDelegate.m_target = this;
Delegate @delegate = Delegate.Combine(onOpen, onWebSocketOpenDelegate);
if (@delegate == 0 || @delegate != 0)
{
webSocket3.OnOpen = @delegate;
WebSocket webSocket4 = this.webSocket;
OnWebSocketMessageDelegate onMessage = webSocket4.OnMessage;
OnWebSocketMessageDelegate onWebSocketMessageDelegate;
onWebSocketMessageDelegate.method_ptr = ldftn(OnMessage);
onWebSocketMessageDelegate.method = ldftn(OnMessage);
onWebSocketMessageDelegate.m_target = this;
Delegate delegate2 = Delegate.Combine(onMessage, onWebSocketMessageDelegate);
if (delegate2 == 0 || delegate2 != 0)
{
webSocket4.OnMessage = delegate2;
WebSocket webSocket5 = this.webSocket;
OnWebSocketBinaryDelegate onBinary = webSocket5.OnBinary;
OnWebSocketBinaryDelegate onWebSocketBinaryDelegate;
onWebSocketBinaryDelegate.method_ptr = ldftn(OnBinary);
onWebSocketBinaryDelegate.method = ldftn(OnBinary);
onWebSocketBinaryDelegate.m_target = this;
Delegate delegate3 = Delegate.Combine(onBinary, onWebSocketBinaryDelegate);
if (delegate3 == 0 || delegate3 != 0)
{
webSocket5.OnBinary = delegate3;
WebSocket webSocket6 = this.webSocket;
OnWebSocketErrorDescriptionDelegate onErrorDesc = webSocket6.OnErrorDesc;
OnWebSocketErrorDescriptionDelegate onWebSocketErrorDescriptionDelegate;
onWebSocketErrorDescriptionDelegate.method_ptr = ldftn(OnError);
onWebSocketErrorDescriptionDelegate.method = ldftn(OnError);
onWebSocketErrorDescriptionDelegate.m_target = this;
Delegate delegate4 = Delegate.Combine(onErrorDesc, onWebSocketErrorDescriptionDelegate);
if (delegate4 == 0 || delegate4 != 0)
{
webSocket6.OnErrorDesc = delegate4;
webSocket7 = this.webSocket;
OnWebSocketClosedDelegate onClosed = webSocket7.OnClosed;
OnWebSocketClosedDelegate onWebSocketClosedDelegate;
onWebSocketClosedDelegate.method_ptr = ldftn(OnClosed);
onWebSocketClosedDelegate.method = ldftn(OnClosed);
onWebSocketClosedDelegate.m_target = this;
delegate5 = Delegate.Combine(onClosed, onWebSocketClosedDelegate);
if (delegate5 == 0 || delegate5 != 0)
{
break;
}
}
}
}
}
}
webSocket7.OnClosed = delegate5;
this.webSocket.Open();
if (this._state != TransportStates.Connecting)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = (TransportStates)((ulong)1L);
if (onStateChanged != 0)
{
}
}
}
// Token: 0x06009A02 RID: 39426 RVA: 0x001F7360 File Offset: 0x001F5560
[Token(Token = "0x6009A02")]
[Address(RVA = "0x638350", Offset = "0x637350", VA = "0x180638350", Slot = "12")]
void ITransport.Send(byte[] msg)
{
WebSocket webSocket = this.webSocket;
WebSocketResponse webSocketResponse = webSocket.webSocket;
if (webSocketResponse != 0 && !webSocketResponse.closed)
{
webSocket.webSocket.Send(msg);
}
}
// Token: 0x06009A03 RID: 39427 RVA: 0x001F739C File Offset: 0x001F559C
[Token(Token = "0x6009A03")]
[Address(RVA = "0x6397F0", Offset = "0x6387F0", VA = "0x1806397F0")]
private void OnOpen(WebSocket webSocket)
{
ILogger logger = HTTPManager.Logger;
IProtocol <Protocol>k__BackingField = this.connection.<Protocol>k__BackingField;
string text;
byte[] array = JsonProtocol.WithSeparator(text);
throw new NullReferenceException();
}
// Token: 0x06009A04 RID: 39428 RVA: 0x001F73CC File Offset: 0x001F55CC
[Token(Token = "0x6009A04")]
[Address(RVA = "0x6398E0", Offset = "0x6388E0", VA = "0x1806398E0")]
private string ParseHandshakeResponse(string data)
{
int num = 0;
object obj = Json.Decode(data);
if (obj != 0 && obj != 0)
{
bool flag;
if (!flag)
{
}
int hashCode = num.GetHashCode();
}
return "Couldn't parse json data: " + data;
}
// Token: 0x06009A05 RID: 39429 RVA: 0x001F7410 File Offset: 0x001F5610
[Token(Token = "0x6009A05")]
[Address(RVA = "0x638E60", Offset = "0x637E60", VA = "0x180638E60")]
private void HandleHandshakeResponse(string data)
{
int num = 0;
object obj = Json.Decode(data);
if (obj != 0 && obj != 0)
{
bool flag;
if (!flag)
{
goto IL_2F;
}
int hashCode = num.GetHashCode();
}
string text = "Couldn't parse json data: " + data;
IL_2F:
this.<ErrorReason>k__BackingField = text;
bool flag2 = string.IsNullOrEmpty(text);
TransportStates state = this._state;
if (state != TransportStates.Connected)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = TransportStates.Connected;
if (onStateChanged != 0)
{
onStateChanged(state, 2);
}
}
}
// Token: 0x06009A06 RID: 39430 RVA: 0x001F7490 File Offset: 0x001F5690
[Token(Token = "0x6009A06")]
[Address(RVA = "0x6395B0", Offset = "0x6385B0", VA = "0x1806395B0")]
private void OnMessage(WebSocket webSocket, string data)
{
int num;
do
{
num = 0;
if (this._state == TransportStates.Connecting)
{
break;
}
this.messages.Clear();
IProtocol <Protocol>k__BackingField = this.connection.<Protocol>k__BackingField;
if (num < data)
{
num += num;
num++;
}
HubConnection hubConnection = this.connection;
List<Message> list = this.messages;
hubConnection.OnMessages(list);
list += list;
ILogger logger = HTTPManager.Logger;
this.messages.Clear();
}
while (num != 0);
this.HandleHandshakeResponse(data);
}
// Token: 0x06009A07 RID: 39431 RVA: 0x001F751C File Offset: 0x001F571C
[Token(Token = "0x6009A07")]
[Address(RVA = "0x638FB0", Offset = "0x637FB0", VA = "0x180638FB0")]
private void OnBinary(WebSocket webSocket, byte[] data)
{
int num;
do
{
num = 0;
if (this._state == TransportStates.Connecting)
{
break;
}
this.messages.Clear();
IProtocol <Protocol>k__BackingField = this.connection.<Protocol>k__BackingField;
if (num < data)
{
num += num;
num++;
}
HubConnection hubConnection = this.connection;
List<Message> list = this.messages;
hubConnection.OnMessages(list);
list += list;
ILogger logger = HTTPManager.Logger;
this.messages.Clear();
}
while (num != 0);
string @string = Encoding.UTF8.GetString(data);
this.HandleHandshakeResponse(@string);
}
// Token: 0x06009A08 RID: 39432 RVA: 0x001F75C0 File Offset: 0x001F57C0
[Token(Token = "0x6009A08")]
[Address(RVA = "0x6394C0", Offset = "0x6384C0", VA = "0x1806394C0")]
private void OnError(WebSocket webSocket, string reason)
{
ILogger logger = HTTPManager.Logger;
string text = "OnError: " + reason;
this.<ErrorReason>k__BackingField = reason;
TransportStates state = this._state;
if (state != TransportStates.Failed)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = (TransportStates)((ulong)4L);
if (onStateChanged != 0)
{
onStateChanged(state, (uint)4);
}
}
}
// Token: 0x06009A09 RID: 39433 RVA: 0x001F761C File Offset: 0x001F581C
[Token(Token = "0x6009A09")]
[Address(RVA = "0x639230", Offset = "0x638230", VA = "0x180639230")]
private void OnClosed(WebSocket webSocket, ushort code, string message)
{
ILogger logger = HTTPManager.Logger;
object[] array = new object[4];
if ("OnClosed: " != 0)
{
}
array[0] = "OnClosed: ";
if (array != 0)
{
}
array[1] = array;
if (" " != 0)
{
}
array[2] = " ";
if (message != 0)
{
}
array[3] = message;
string text = string.Concat(array);
this.webSocket = (ulong)0L;
TransportStates state = this._state;
if (state != TransportStates.Closed)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = (TransportStates)((ulong)5L);
if (onStateChanged != 0)
{
onStateChanged(state, (uint)5);
}
}
}
// Token: 0x06009A0A RID: 39434 RVA: 0x001F76BC File Offset: 0x001F58BC
[Token(Token = "0x6009A0A")]
[Address(RVA = "0x6383B0", Offset = "0x6373B0", VA = "0x1806383B0", Slot = "11")]
void ITransport.StartClose()
{
ILogger logger = HTTPManager.Logger;
if (this.webSocket == (ulong)0L)
{
TransportStates state = this._state;
if (state != TransportStates.Closed)
{
Action<TransportStates, TransportStates> onStateChanged = this.OnStateChanged;
this._state = (TransportStates)((ulong)5L);
if (onStateChanged != 0)
{
onStateChanged(state, (uint)5);
return;
}
}
return;
}
TransportStates state2 = this._state;
if (state2 != TransportStates.Closing)
{
Action<TransportStates, TransportStates> onStateChanged2 = this.OnStateChanged;
this._state = (TransportStates)((ulong)3L);
if (onStateChanged2 != 0)
{
onStateChanged2(state2, (uint)3);
}
}
WebSocket webSocket = this.webSocket;
WebSocketStates <State>k__BackingField = webSocket.<State>k__BackingField;
webSocket.<State>k__BackingField = (WebSocketStates)((ulong)2L);
WebSocketResponse webSocketResponse = webSocket.webSocket;
}
// Token: 0x06009A0B RID: 39435 RVA: 0x001F7784 File Offset: 0x001F5984
[Token(Token = "0x6009A0B")]
[Address(RVA = "0x638D00", Offset = "0x637D00", VA = "0x180638D00")]
private Uri BuildUri(Uri baseUri)
{
if (this.connection.<NegotiationResult>k__BackingField != (ulong)0L)
{
UriBuilder uriBuilder = new UriBuilder(baseUri);
StringBuilder stringBuilder = new StringBuilder();
string query = baseUri.Query;
StringBuilder stringBuilder2 = stringBuilder.Append(query);
if (!string.IsNullOrEmpty(this.connection.<NegotiationResult>k__BackingField.<ConnectionId>k__BackingField))
{
StringBuilder stringBuilder3 = stringBuilder.Append("&id=");
string <ConnectionId>k__BackingField = this.connection.<NegotiationResult>k__BackingField.<ConnectionId>k__BackingField;
StringBuilder stringBuilder4 = stringBuilder3.Append(<ConnectionId>k__BackingField);
}
int hashCode = stringBuilder.GetHashCode();
return uriBuilder.Uri;
}
throw new NullReferenceException();
}
// Token: 0x04006809 RID: 26633
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006809")]
private TransportStates _state;
// Token: 0x0400680C RID: 26636
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400680C")]
private WebSocket webSocket;
// Token: 0x0400680D RID: 26637
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400680D")]
private HubConnection connection;
// Token: 0x0400680E RID: 26638
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400680E")]
private List<Message> messages;
}
}