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,36 @@
using System;
using BestHTTP.WebSocket.Frames;
using Cpp2IlInjected;
namespace BestHTTP.WebSocket.Extensions
{
// Token: 0x020019B0 RID: 6576
[Token(Token = "0x20019B0")]
public interface IExtension
{
// Token: 0x06009937 RID: 39223
[Token(Token = "0x6009937")]
[Address(Slot = "0")]
void AddNegotiation(HTTPRequest request);
// Token: 0x06009938 RID: 39224
[Token(Token = "0x6009938")]
[Address(Slot = "1")]
bool ParseNegotiation(WebSocketResponse resp);
// Token: 0x06009939 RID: 39225
[Token(Token = "0x6009939")]
[Address(Slot = "2")]
byte GetFrameHeader(WebSocketFrame writer, byte inFlag);
// Token: 0x0600993A RID: 39226
[Token(Token = "0x600993A")]
[Address(Slot = "3")]
byte[] Encode(WebSocketFrame writer);
// Token: 0x0600993B RID: 39227
[Token(Token = "0x600993B")]
[Address(Slot = "4")]
byte[] Decode(byte header, byte[] data, int length);
}
}
@@ -0,0 +1,327 @@
using System;
using BestHTTP.Decompression.Zlib;
using BestHTTP.Extensions;
using BestHTTP.WebSocket.Frames;
using Cpp2IlInjected;
namespace BestHTTP.WebSocket.Extensions
{
// Token: 0x020019B1 RID: 6577
[Token(Token = "0x20019B1")]
public sealed class PerMessageCompression : IExtension
{
// Token: 0x17001863 RID: 6243
// (get) Token: 0x0600993C RID: 39228 RVA: 0x001F5018 File Offset: 0x001F3218
// (set) Token: 0x0600993D RID: 39229 RVA: 0x001F502C File Offset: 0x001F322C
[Token(Token = "0x17001863")]
public bool ClientNoContextTakeover
{
[Token(Token = "0x600993C")]
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
get;
[Token(Token = "0x600993D")]
[Address(RVA = "0x62ADC0", Offset = "0x629DC0", VA = "0x18062ADC0")]
private set;
}
// Token: 0x17001864 RID: 6244
// (get) Token: 0x0600993E RID: 39230 RVA: 0x001F5040 File Offset: 0x001F3240
// (set) Token: 0x0600993F RID: 39231 RVA: 0x001F5054 File Offset: 0x001F3254
[Token(Token = "0x17001864")]
public bool ServerNoContextTakeover
{
[Token(Token = "0x600993E")]
[Address(RVA = "0x498E20", Offset = "0x497E20", VA = "0x180498E20")]
get;
[Token(Token = "0x600993F")]
[Address(RVA = "0x62FA00", Offset = "0x62EA00", VA = "0x18062FA00")]
private set;
}
// Token: 0x17001865 RID: 6245
// (get) Token: 0x06009940 RID: 39232 RVA: 0x001F5068 File Offset: 0x001F3268
// (set) Token: 0x06009941 RID: 39233 RVA: 0x001F507C File Offset: 0x001F327C
[Token(Token = "0x17001865")]
public int ClientMaxWindowBits
{
[Token(Token = "0x6009940")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get;
[Token(Token = "0x6009941")]
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
private set;
}
// Token: 0x17001866 RID: 6246
// (get) Token: 0x06009942 RID: 39234 RVA: 0x001F5090 File Offset: 0x001F3290
// (set) Token: 0x06009943 RID: 39235 RVA: 0x001F50A4 File Offset: 0x001F32A4
[Token(Token = "0x17001866")]
public int ServerMaxWindowBits
{
[Token(Token = "0x6009942")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
get;
[Token(Token = "0x6009943")]
[Address(RVA = "0x5F1910", Offset = "0x5F0910", VA = "0x1805F1910")]
private set;
}
// Token: 0x17001867 RID: 6247
// (get) Token: 0x06009944 RID: 39236 RVA: 0x001F50B8 File Offset: 0x001F32B8
// (set) Token: 0x06009945 RID: 39237 RVA: 0x001F50CC File Offset: 0x001F32CC
[Token(Token = "0x17001867")]
public CompressionLevel Level
{
[Token(Token = "0x6009944")]
[Address(RVA = "0x497590", Offset = "0x496590", VA = "0x180497590")]
get;
[Token(Token = "0x6009945")]
[Address(RVA = "0x50A2B0", Offset = "0x5092B0", VA = "0x18050A2B0")]
private set;
}
// Token: 0x17001868 RID: 6248
// (get) Token: 0x06009946 RID: 39238 RVA: 0x001F50E0 File Offset: 0x001F32E0
// (set) Token: 0x06009947 RID: 39239 RVA: 0x001F50F4 File Offset: 0x001F32F4
[Token(Token = "0x17001868")]
public int MinimumDataLegthToCompress
{
[Token(Token = "0x6009946")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
get;
[Token(Token = "0x6009947")]
[Address(RVA = "0x62ADB0", Offset = "0x629DB0", VA = "0x18062ADB0")]
set;
}
// Token: 0x06009948 RID: 39240 RVA: 0x001F5108 File Offset: 0x001F3308
[Token(Token = "0x6009948")]
[Address(RVA = "0x62F9C0", Offset = "0x62E9C0", VA = "0x18062F9C0")]
public PerMessageCompression()
{
this.Level = (CompressionLevel)((ulong)6L);
this.ClientNoContextTakeover = false;
this.ClientMaxWindowBits = (int)((ulong)15L);
this.ServerMaxWindowBits = (int)((ulong)15L);
this.MinimumDataLegthToCompress = (int)((ulong)256L);
}
// Token: 0x06009949 RID: 39241 RVA: 0x001F514C File Offset: 0x001F334C
[Token(Token = "0x6009949")]
[Address(RVA = "0x62F970", Offset = "0x62E970", VA = "0x18062F970")]
public PerMessageCompression(CompressionLevel level, bool clientNoContextTakeover, bool serverNoContextTakeover, int desiredClientMaxWindowBits, int desiredServerMaxWindowBits, int minDatalengthToCompress)
{
this.ClientMaxWindowBits = 0;
this.ServerMaxWindowBits = 0;
this.Level = level;
this.MinimumDataLegthToCompress = 0;
this.ClientNoContextTakeover = clientNoContextTakeover;
}
// Token: 0x0600994A RID: 39242 RVA: 0x001F5184 File Offset: 0x001F3384
[Token(Token = "0x600994A")]
[Address(RVA = "0x62EE20", Offset = "0x62DE20", VA = "0x18062EE20", Slot = "4")]
public void AddNegotiation(HTTPRequest request)
{
if (this.<ServerNoContextTakeover>k__BackingField)
{
string text = "permessage-deflate" + "; server_no_context_takeover";
}
string text2;
if (this.<ClientNoContextTakeover>k__BackingField)
{
text2 = "permessage-deflate" + "; client_no_context_takeover";
}
int num = this.<ServerMaxWindowBits>k__BackingField;
if (num == 15)
{
this.<ServerMaxWindowBits>k__BackingField = num;
}
string text4;
string text3 = text2 + "; server_max_window_bits=" + text4;
if (this.<ClientMaxWindowBits>k__BackingField == 15)
{
string text5 = text3 + "; client_max_window_bits";
this.<ClientMaxWindowBits>k__BackingField = (int)((ulong)15L);
}
string text7;
string text6 = text3 + "; client_max_window_bits=" + text7;
request.AddHeader("Sec-WebSocket-Extensions", text6);
}
// Token: 0x0600994B RID: 39243 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600994B")]
[Address(RVA = "0x62F5E0", Offset = "0x62E5E0", VA = "0x18062F5E0", Slot = "5")]
public bool ParseNegotiation(WebSocketResponse resp)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600994C RID: 39244 RVA: 0x001F522C File Offset: 0x001F342C
[Token(Token = "0x600994C")]
[Address(RVA = "0x62F5A0", Offset = "0x62E5A0", VA = "0x18062F5A0", Slot = "6")]
public byte GetFrameHeader(WebSocketFrame writer, byte inFlag)
{
WebSocketFrameTypes <Type>k__BackingField = writer.<Type>k__BackingField;
if (writer.<Data>k__BackingField != 0)
{
int num = this.<MinimumDataLegthToCompress>k__BackingField;
}
return inFlag;
}
// Token: 0x0600994D RID: 39245 RVA: 0x001F5258 File Offset: 0x001F3458
[Token(Token = "0x600994D")]
[Address(RVA = "0x62F4F0", Offset = "0x62E4F0", VA = "0x18062F4F0", Slot = "7")]
public byte[] Encode(WebSocketFrame writer)
{
byte[] <Data>k__BackingField = writer.<Data>k__BackingField;
if (<Data>k__BackingField != 0)
{
return <Data>k__BackingField;
}
return VariableSizedBufferPool.NoData;
}
// Token: 0x0600994E RID: 39246 RVA: 0x001F5290 File Offset: 0x001F3490
[Token(Token = "0x600994E")]
[Address(RVA = "0x62F1C0", Offset = "0x62E1C0", VA = "0x18062F1C0", Slot = "8")]
public byte[] Decode(byte header, byte[] data, int length)
{
return this.Decompress(data, length);
}
// Token: 0x0600994F RID: 39247 RVA: 0x001F52A8 File Offset: 0x001F34A8
[Token(Token = "0x600994F")]
[Address(RVA = "0x62EF50", Offset = "0x62DF50", VA = "0x18062EF50")]
private byte[] Compress(byte[] data, int length)
{
int num;
byte[] array;
do
{
num = 0;
if (this.compressorOutputStream == 0)
{
BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream();
this.compressorOutputStream = bufferPoolMemoryStream;
}
if (this.compressorDeflateStream == num)
{
CompressionLevel compressionLevel = this.<Level>k__BackingField;
int num2 = this.<ClientMaxWindowBits>k__BackingField;
DeflateStream deflateStream;
this.compressorDeflateStream = deflateStream;
FlushType flushMode = deflateStream.FlushMode;
}
int num3 = this.compressorDeflateStream.ReadByte();
DeflateStream deflateStream2 = this.compressorDeflateStream;
long position = this.compressorOutputStream.Position;
bool canWrite = this.compressorOutputStream.CanWrite;
array = this.compressorOutputStream.ToArray();
if (this.<ClientNoContextTakeover>k__BackingField)
{
this.compressorDeflateStream.Dispose();
this.compressorDeflateStream = (ulong)0L;
}
}
while (num != 0);
return array;
}
// Token: 0x06009950 RID: 39248 RVA: 0x001F5388 File Offset: 0x001F3588
[Token(Token = "0x6009950")]
[Address(RVA = "0x62F1E0", Offset = "0x62E1E0", VA = "0x18062F1E0")]
private byte[] Decompress(byte[] data, int length)
{
BufferPoolMemoryStream bufferPoolMemoryStream = this.decompressorInputStream;
if (bufferPoolMemoryStream == 0)
{
int num;
BufferPoolMemoryStream bufferPoolMemoryStream2 = new BufferPoolMemoryStream(num);
num = data.Length;
num += 4;
this.decompressorInputStream = bufferPoolMemoryStream2;
}
int num2 = bufferPoolMemoryStream.ReadByte();
BufferPoolMemoryStream bufferPoolMemoryStream3 = this.decompressorInputStream;
byte[] trailer = PerMessageCompression.Trailer;
int num3 = bufferPoolMemoryStream3.ReadByte();
long position = this.decompressorInputStream.Position;
int num4 = 0;
if (this.decompressorDeflateStream == num4)
{
BufferPoolMemoryStream bufferPoolMemoryStream4 = this.decompressorInputStream;
int num5 = this.<ServerMaxWindowBits>k__BackingField;
ulong num6;
DeflateStream deflateStream = new DeflateStream(bufferPoolMemoryStream4, CompressionMode.Decompress, CompressionLevel.Default, num6 != 0UL, num5);
this.decompressorDeflateStream = deflateStream;
FlushType flushMode = deflateStream.FlushMode;
}
if (this.decompressorOutputStream == 0)
{
BufferPoolMemoryStream bufferPoolMemoryStream5 = new BufferPoolMemoryStream();
this.decompressorOutputStream = bufferPoolMemoryStream5;
}
uint num7;
ulong num8;
byte[] array = VariableSizedBufferPool.Get((long)num7, num8 != 0UL);
DeflateStream deflateStream2 = this.decompressorDeflateStream;
int num9 = this.decompressorOutputStream.ReadByte();
VariableSizedBufferPool.Release(array);
DeflateStream deflateStream3 = this.decompressorDeflateStream;
byte[] array2 = this.decompressorOutputStream.ToArray();
if ((this.<ServerNoContextTakeover>k__BackingField ? 1 : 0) != num4)
{
this.decompressorDeflateStream.Dispose();
this.decompressorDeflateStream = num4;
}
return array2;
}
// Token: 0x06009951 RID: 39249 RVA: 0x001F549C File Offset: 0x001F369C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6009951")]
[Address(RVA = "0x62F8E0", Offset = "0x62E8E0", VA = "0x18062F8E0")]
static PerMessageCompression()
{
byte[] array = new byte[4];
array[0] = (byte)((ulong)255L);
array[0] = (byte)((ulong)255L);
PerMessageCompression.Trailer = array;
}
// Token: 0x040067A5 RID: 26533
[Token(Token = "0x40067A5")]
public const int MinDataLengthToCompressDefault = 256;
// Token: 0x040067A6 RID: 26534
[Token(Token = "0x40067A6")]
private static readonly byte[] Trailer;
// Token: 0x040067AD RID: 26541
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40067AD")]
private BufferPoolMemoryStream compressorOutputStream;
// Token: 0x040067AE RID: 26542
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40067AE")]
private DeflateStream compressorDeflateStream;
// Token: 0x040067AF RID: 26543
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40067AF")]
private BufferPoolMemoryStream decompressorInputStream;
// Token: 0x040067B0 RID: 26544
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40067B0")]
private BufferPoolMemoryStream decompressorOutputStream;
// Token: 0x040067B1 RID: 26545
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40067B1")]
private DeflateStream decompressorDeflateStream;
}
}