229 lines
7.1 KiB
C#
229 lines
7.1 KiB
C#
using System;
|
|
using BestHTTP.Extensions;
|
|
using BestHTTP.WebSocket.Extensions;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.WebSocket.Frames
|
|
{
|
|
// Token: 0x020019AD RID: 6573
|
|
[Token(Token = "0x20019AD")]
|
|
public sealed class WebSocketFrame
|
|
{
|
|
// Token: 0x17001856 RID: 6230
|
|
// (get) Token: 0x06009913 RID: 39187 RVA: 0x001F49E4 File Offset: 0x001F2BE4
|
|
// (set) Token: 0x06009914 RID: 39188 RVA: 0x001F49F8 File Offset: 0x001F2BF8
|
|
[Token(Token = "0x17001856")]
|
|
public WebSocketFrameTypes Type
|
|
{
|
|
[Token(Token = "0x6009913")]
|
|
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
|
|
get;
|
|
[Token(Token = "0x6009914")]
|
|
[Address(RVA = "0x62ADC0", Offset = "0x629DC0", VA = "0x18062ADC0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17001857 RID: 6231
|
|
// (get) Token: 0x06009915 RID: 39189 RVA: 0x001F4A0C File Offset: 0x001F2C0C
|
|
// (set) Token: 0x06009916 RID: 39190 RVA: 0x001F4A20 File Offset: 0x001F2C20
|
|
[Token(Token = "0x17001857")]
|
|
public bool IsFinal
|
|
{
|
|
[Token(Token = "0x6009915")]
|
|
[Address(RVA = "0x498E20", Offset = "0x497E20", VA = "0x180498E20")]
|
|
get;
|
|
[Token(Token = "0x6009916")]
|
|
[Address(RVA = "0x62FA00", Offset = "0x62EA00", VA = "0x18062FA00")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17001858 RID: 6232
|
|
// (get) Token: 0x06009917 RID: 39191 RVA: 0x001F4A34 File Offset: 0x001F2C34
|
|
// (set) Token: 0x06009918 RID: 39192 RVA: 0x001F4A48 File Offset: 0x001F2C48
|
|
[Token(Token = "0x17001858")]
|
|
public byte Header
|
|
{
|
|
[Token(Token = "0x6009917")]
|
|
[Address(RVA = "0x635090", Offset = "0x634090", VA = "0x180635090")]
|
|
get;
|
|
[Token(Token = "0x6009918")]
|
|
[Address(RVA = "0x6350B0", Offset = "0x6340B0", VA = "0x1806350B0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17001859 RID: 6233
|
|
// (get) Token: 0x06009919 RID: 39193 RVA: 0x001F4A5C File Offset: 0x001F2C5C
|
|
// (set) Token: 0x0600991A RID: 39194 RVA: 0x001F4A70 File Offset: 0x001F2C70
|
|
[Token(Token = "0x17001859")]
|
|
public byte[] Data
|
|
{
|
|
[Token(Token = "0x6009919")]
|
|
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
|
get;
|
|
[Token(Token = "0x600991A")]
|
|
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x1700185A RID: 6234
|
|
// (get) Token: 0x0600991B RID: 39195 RVA: 0x001F4A84 File Offset: 0x001F2C84
|
|
// (set) Token: 0x0600991C RID: 39196 RVA: 0x001F4A98 File Offset: 0x001F2C98
|
|
[Token(Token = "0x1700185A")]
|
|
public int DataLength
|
|
{
|
|
[Token(Token = "0x600991B")]
|
|
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
|
|
get;
|
|
[Token(Token = "0x600991C")]
|
|
[Address(RVA = "0x62ADB0", Offset = "0x629DB0", VA = "0x18062ADB0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x1700185B RID: 6235
|
|
// (get) Token: 0x0600991D RID: 39197 RVA: 0x001F4AAC File Offset: 0x001F2CAC
|
|
// (set) Token: 0x0600991E RID: 39198 RVA: 0x001F4AC0 File Offset: 0x001F2CC0
|
|
[Token(Token = "0x1700185B")]
|
|
public bool UseExtensions
|
|
{
|
|
[Token(Token = "0x600991D")]
|
|
[Address(RVA = "0x6350A0", Offset = "0x6340A0", VA = "0x1806350A0")]
|
|
get;
|
|
[Token(Token = "0x600991E")]
|
|
[Address(RVA = "0x6350C0", Offset = "0x6340C0", VA = "0x1806350C0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x0600991F RID: 39199 RVA: 0x001F4AD4 File Offset: 0x001F2CD4
|
|
[Token(Token = "0x600991F")]
|
|
[Address(RVA = "0x635040", Offset = "0x634040", VA = "0x180635040")]
|
|
public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data)
|
|
{
|
|
if (data != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009920 RID: 39200 RVA: 0x001F4AF0 File Offset: 0x001F2CF0
|
|
[Token(Token = "0x6009920")]
|
|
[Address(RVA = "0x634F90", Offset = "0x633F90", VA = "0x180634F90")]
|
|
public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, bool useExtensions)
|
|
{
|
|
if (data != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009921 RID: 39201 RVA: 0x001F4B0C File Offset: 0x001F2D0C
|
|
[Token(Token = "0x6009921")]
|
|
[Address(RVA = "0x634FE0", Offset = "0x633FE0", VA = "0x180634FE0")]
|
|
public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, bool isFinal, bool useExtensions)
|
|
{
|
|
if (data != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009922 RID: 39202 RVA: 0x001F4B28 File Offset: 0x001F2D28
|
|
[Token(Token = "0x6009922")]
|
|
[Address(RVA = "0x634DA0", Offset = "0x633DA0", VA = "0x180634DA0")]
|
|
public WebSocketFrame(WebSocket webSocket, WebSocketFrameTypes type, byte[] data, ulong pos, ulong length, bool isFinal, bool useExtensions)
|
|
{
|
|
this.IsFinal = false;
|
|
this.Type = type;
|
|
int num = 0;
|
|
this.UseExtensions = false;
|
|
this.DataLength = 0;
|
|
if (data == 0)
|
|
{
|
|
}
|
|
int num2 = this.<DataLength>k__BackingField;
|
|
byte[] array;
|
|
this.Data = array;
|
|
this.Header = data;
|
|
if ((this.<UseExtensions>k__BackingField ? 1 : 0) != num && webSocket != 0 && webSocket.<Extensions>k__BackingField != num)
|
|
{
|
|
IExtension[] <Extensions>k__BackingField = webSocket.<Extensions>k__BackingField;
|
|
int length2 = <Extensions>k__BackingField.Length;
|
|
if (num < length2)
|
|
{
|
|
if (<Extensions>k__BackingField[num] != 0)
|
|
{
|
|
byte b = this.<Header>k__BackingField;
|
|
this.Header = (byte)num;
|
|
byte[] array2 = this.<Data>k__BackingField;
|
|
if (num != array2)
|
|
{
|
|
VariableSizedBufferPool.Release(array2);
|
|
this.Data = num;
|
|
this.DataLength = num;
|
|
}
|
|
}
|
|
num++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009923 RID: 39203 RVA: 0x001F4BE4 File Offset: 0x001F2DE4
|
|
[Token(Token = "0x6009923")]
|
|
[Address(RVA = "0x6349D0", Offset = "0x6339D0", VA = "0x1806349D0")]
|
|
public RawFrameData Get()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
byte[] noData = VariableSizedBufferPool.NoData;
|
|
byte[] array;
|
|
int length = array.Length;
|
|
int num2 = 0;
|
|
Array.Reverse(array, num2, length);
|
|
byte[] array2;
|
|
int length2 = array2.Length;
|
|
int num3 = 0;
|
|
Array.Reverse(array2, num3, length2);
|
|
BufferPoolMemoryStream bufferPoolMemoryStream;
|
|
int num4 = bufferPoolMemoryStream.ReadByte();
|
|
int num5 = bufferPoolMemoryStream.ReadByte();
|
|
if (num < "{il2cpp array field il2cppMethodInfo->}")
|
|
{
|
|
num++;
|
|
num++;
|
|
}
|
|
byte[] array3 = bufferPoolMemoryStream.ToArray(true);
|
|
bool canWrite = bufferPoolMemoryStream.CanWrite;
|
|
if (bufferPoolMemoryStream != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009924 RID: 39204 RVA: 0x001F4C94 File Offset: 0x001F2E94
|
|
[Token(Token = "0x6009924")]
|
|
[Address(RVA = "0x6347D0", Offset = "0x6337D0", VA = "0x1806347D0")]
|
|
public WebSocketFrame[] Fragment(ushort maxFragmentSize)
|
|
{
|
|
if (this.<Data>k__BackingField != (ulong)0L)
|
|
{
|
|
WebSocketFrameTypes webSocketFrameTypes = this.<Type>k__BackingField;
|
|
if (this.<DataLength>k__BackingField > (int)maxFragmentSize)
|
|
{
|
|
WebSocketFrame[] array = new WebSocketFrame[(int)maxFragmentSize];
|
|
int num = this.<DataLength>k__BackingField;
|
|
if ((int)maxFragmentSize < num)
|
|
{
|
|
num -= (int)maxFragmentSize;
|
|
ulong num2 = Math.Min((ulong)maxFragmentSize, (ulong)num);
|
|
int num3 = this.<DataLength>k__BackingField;
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
this.<DataLength>k__BackingField = (int)maxFragmentSize;
|
|
return array;
|
|
}
|
|
}
|
|
throw new IndexOutOfRangeException();
|
|
}
|
|
}
|
|
}
|