180 lines
7.3 KiB
C#
180 lines
7.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using BestHTTP.SignalRCore.Messages;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SignalRCore
|
|
{
|
|
// Token: 0x0200130D RID: 4877
|
|
[Token(Token = "0x200130D")]
|
|
[StructLayout(3)]
|
|
public sealed class JsonProtocol : IProtocol
|
|
{
|
|
// Token: 0x170013DF RID: 5087
|
|
// (get) Token: 0x06007A23 RID: 31267 RVA: 0x00196044 File Offset: 0x00194244
|
|
[Token(Token = "0x170013DF")]
|
|
public TransferModes Type
|
|
{
|
|
[Token(Token = "0x6007A23")]
|
|
[Address(RVA = "0x3E2800", Offset = "0x3E1200", VA = "0x1803E2800", Slot = "4")]
|
|
get
|
|
{
|
|
return TransferModes.Text;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170013E0 RID: 5088
|
|
// (get) Token: 0x06007A24 RID: 31268 RVA: 0x00196054 File Offset: 0x00194254
|
|
// (set) Token: 0x06007A25 RID: 31269 RVA: 0x00196068 File Offset: 0x00194268
|
|
[Token(Token = "0x170013E0")]
|
|
public IEncoder Encoder
|
|
{
|
|
[Token(Token = "0x6007A24")]
|
|
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "5")]
|
|
get;
|
|
[Token(Token = "0x6007A25")]
|
|
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x170013E1 RID: 5089
|
|
// (get) Token: 0x06007A26 RID: 31270 RVA: 0x0019607C File Offset: 0x0019427C
|
|
// (set) Token: 0x06007A27 RID: 31271 RVA: 0x00196090 File Offset: 0x00194290
|
|
[Token(Token = "0x170013E1")]
|
|
public HubConnection Connection
|
|
{
|
|
[Token(Token = "0x6007A26")]
|
|
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "6")]
|
|
get;
|
|
[Token(Token = "0x6007A27")]
|
|
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280", Slot = "7")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x06007A28 RID: 31272 RVA: 0x001960A4 File Offset: 0x001942A4
|
|
[Token(Token = "0x6007A28")]
|
|
[Address(RVA = "0x6EF690", Offset = "0x6EE090", VA = "0x1806EF690")]
|
|
public JsonProtocol(IEncoder encoder)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06007A28)
|
|
|
|
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: 0x06007A29 RID: 31273 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6007A29")]
|
|
[Address(RVA = "0x6EF3A0", Offset = "0x6EDDA0", VA = "0x1806EF3A0", 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: 0x06007A2A RID: 31274 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6007A2A")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", 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: 0x06007A2B RID: 31275 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6007A2B")]
|
|
[Address(RVA = "0x6EEE70", Offset = "0x6ED870", VA = "0x1806EEE70", Slot = "10")]
|
|
public byte[] EncodeMessage(Message message)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06007A2C RID: 31276 RVA: 0x001960E0 File Offset: 0x001942E0
|
|
[Token(Token = "0x6007A2C")]
|
|
[Address(RVA = "0x6EF1C0", Offset = "0x6EDBC0", VA = "0x1806EF1C0", 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: 0x06007A2D RID: 31277 RVA: 0x0019614C File Offset: 0x0019434C
|
|
[Token(Token = "0x6007A2D")]
|
|
[Address(RVA = "0x6EECC0", Offset = "0x6ED6C0", VA = "0x1806EECC0", 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: 0x06007A2E RID: 31278 RVA: 0x001961B4 File Offset: 0x001943B4
|
|
[Token(Token = "0x6007A2E")]
|
|
[Address(RVA = "0x6EF5A0", Offset = "0x6EDFA0", VA = "0x1806EF5A0")]
|
|
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: 0x04005801 RID: 22529
|
|
[Token(Token = "0x4005801")]
|
|
public const char Separator = '\u001e';
|
|
}
|
|
}
|