using System; using System.Collections.Generic; using System.IO; using BestHTTP.Extensions; using BestHTTP.Logger; using Cpp2IlInjected; namespace BestHTTP.Cookies { // Token: 0x02001FBE RID: 8126 [Token(Token = "0x2001FBE")] public sealed class Cookie : IComparable, IEquatable { // Token: 0x170020C4 RID: 8388 // (get) Token: 0x0600CDFF RID: 52735 RVA: 0x002F6504 File Offset: 0x002F4704 // (set) Token: 0x0600CE00 RID: 52736 RVA: 0x002F6518 File Offset: 0x002F4718 [Token(Token = "0x170020C4")] public string Name { [Token(Token = "0x600CDFF")] [Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")] get; [Token(Token = "0x600CE00")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")] private set; } // Token: 0x170020C5 RID: 8389 // (get) Token: 0x0600CE01 RID: 52737 RVA: 0x002F652C File Offset: 0x002F472C // (set) Token: 0x0600CE02 RID: 52738 RVA: 0x002F6540 File Offset: 0x002F4740 [Token(Token = "0x170020C5")] public string Value { [Token(Token = "0x600CE01")] [Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")] get; [Token(Token = "0x600CE02")] [Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")] private set; } // Token: 0x170020C6 RID: 8390 // (get) Token: 0x0600CE03 RID: 52739 RVA: 0x002F6554 File Offset: 0x002F4754 // (set) Token: 0x0600CE04 RID: 52740 RVA: 0x002F6568 File Offset: 0x002F4768 [Token(Token = "0x170020C6")] public DateTime Date { [Token(Token = "0x600CE03")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get; [Token(Token = "0x600CE04")] [Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")] internal set; } // Token: 0x170020C7 RID: 8391 // (get) Token: 0x0600CE05 RID: 52741 RVA: 0x002F657C File Offset: 0x002F477C // (set) Token: 0x0600CE06 RID: 52742 RVA: 0x002F6590 File Offset: 0x002F4790 [Token(Token = "0x170020C7")] public DateTime LastAccess { [Token(Token = "0x600CE05")] [Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")] get; [Token(Token = "0x600CE06")] [Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")] set; } // Token: 0x170020C8 RID: 8392 // (get) Token: 0x0600CE07 RID: 52743 RVA: 0x002F65A4 File Offset: 0x002F47A4 // (set) Token: 0x0600CE08 RID: 52744 RVA: 0x002F65B8 File Offset: 0x002F47B8 [Token(Token = "0x170020C8")] public DateTime Expires { [Token(Token = "0x600CE07")] [Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")] get; [Token(Token = "0x600CE08")] [Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")] private set; } // Token: 0x170020C9 RID: 8393 // (get) Token: 0x0600CE09 RID: 52745 RVA: 0x002F65CC File Offset: 0x002F47CC // (set) Token: 0x0600CE0A RID: 52746 RVA: 0x002F65E0 File Offset: 0x002F47E0 [Token(Token = "0x170020C9")] public long MaxAge { [Token(Token = "0x600CE09")] [Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")] get; [Token(Token = "0x600CE0A")] [Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")] private set; } // Token: 0x170020CA RID: 8394 // (get) Token: 0x0600CE0B RID: 52747 RVA: 0x002F65F4 File Offset: 0x002F47F4 // (set) Token: 0x0600CE0C RID: 52748 RVA: 0x002F6608 File Offset: 0x002F4808 [Token(Token = "0x170020CA")] public bool IsSession { [Token(Token = "0x600CE0B")] [Address(RVA = "0x4363F0", Offset = "0x4351F0", VA = "0x1804363F0")] get; [Token(Token = "0x600CE0C")] [Address(RVA = "0x4366B0", Offset = "0x4354B0", VA = "0x1804366B0")] private set; } // Token: 0x170020CB RID: 8395 // (get) Token: 0x0600CE0D RID: 52749 RVA: 0x002F661C File Offset: 0x002F481C // (set) Token: 0x0600CE0E RID: 52750 RVA: 0x002F6630 File Offset: 0x002F4830 [Token(Token = "0x170020CB")] public string Domain { [Token(Token = "0x600CE0D")] [Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")] get; [Token(Token = "0x600CE0E")] [Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")] private set; } // Token: 0x170020CC RID: 8396 // (get) Token: 0x0600CE0F RID: 52751 RVA: 0x002F6644 File Offset: 0x002F4844 // (set) Token: 0x0600CE10 RID: 52752 RVA: 0x002F6658 File Offset: 0x002F4858 [Token(Token = "0x170020CC")] public string Path { [Token(Token = "0x600CE0F")] [Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")] get; [Token(Token = "0x600CE10")] [Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")] private set; } // Token: 0x170020CD RID: 8397 // (get) Token: 0x0600CE11 RID: 52753 RVA: 0x002F666C File Offset: 0x002F486C // (set) Token: 0x0600CE12 RID: 52754 RVA: 0x002F6680 File Offset: 0x002F4880 [Token(Token = "0x170020CD")] public bool IsSecure { [Token(Token = "0x600CE11")] [Address(RVA = "0x40FFA0", Offset = "0x40EDA0", VA = "0x18040FFA0")] get; [Token(Token = "0x600CE12")] [Address(RVA = "0x410010", Offset = "0x40EE10", VA = "0x180410010")] private set; } // Token: 0x170020CE RID: 8398 // (get) Token: 0x0600CE13 RID: 52755 RVA: 0x002F6694 File Offset: 0x002F4894 // (set) Token: 0x0600CE14 RID: 52756 RVA: 0x002F66A8 File Offset: 0x002F48A8 [Token(Token = "0x170020CE")] public bool IsHttpOnly { [Token(Token = "0x600CE13")] [Address(RVA = "0x46A7B0", Offset = "0x4695B0", VA = "0x18046A7B0")] get; [Token(Token = "0x600CE14")] [Address(RVA = "0xD53F10", Offset = "0xD52D10", VA = "0x180D53F10")] private set; } // Token: 0x0600CE15 RID: 52757 RVA: 0x002F66BC File Offset: 0x002F48BC [Token(Token = "0x600CE15")] [Address(RVA = "0x1965C50", Offset = "0x1964A50", VA = "0x181965C50")] public Cookie(string name, string value) { string empty = string.Empty; } // Token: 0x0600CE16 RID: 52758 RVA: 0x002F66D0 File Offset: 0x002F48D0 [Token(Token = "0x600CE16")] [Address(RVA = "0x1965F40", Offset = "0x1964D40", VA = "0x181965F40")] public Cookie(string name, string value, string path) { string empty = string.Empty; } // Token: 0x0600CE17 RID: 52759 RVA: 0x002F66E4 File Offset: 0x002F48E4 [Token(Token = "0x600CE17")] [Address(RVA = "0x1965E90", Offset = "0x1964C90", VA = "0x181965E90")] public Cookie(string name, string value, string path, string domain) { int num = 0; base.FieldGetter(num, value, path); this.IsSession = true; this.MaxAge = (long)((ulong)(-1L)); DateTime utcNow = DateTime.UtcNow; this.LastAccess = utcNow; this.Name = name; this.Value = value; this.Domain = 0; this.Path = path; } // Token: 0x0600CE18 RID: 52760 RVA: 0x002F6738 File Offset: 0x002F4938 [Token(Token = "0x600CE18")] [Address(RVA = "0x1965CD0", Offset = "0x1964AD0", VA = "0x181965CD0")] public Cookie(Uri uri, string name, string value, DateTime expires, bool isSession = true) { string absolutePath = uri.AbsolutePath; string host = uri.Host; this.Expires = 0; this.IsSession = false; DateTime utcNow = DateTime.UtcNow; this.Date = utcNow; } // Token: 0x0600CE19 RID: 52761 RVA: 0x002F6778 File Offset: 0x002F4978 [Token(Token = "0x600CE19")] [Address(RVA = "0x1965DB0", Offset = "0x1964BB0", VA = "0x181965DB0")] public Cookie(Uri uri, string name, string value, long maxAge = -1L, bool isSession = true) { string absolutePath = uri.AbsolutePath; string host = uri.Host; this.MaxAge = 0L; this.IsSession = false; DateTime utcNow = DateTime.UtcNow; this.Date = utcNow; } // Token: 0x0600CE1A RID: 52762 RVA: 0x002F67B8 File Offset: 0x002F49B8 [Token(Token = "0x600CE1A")] [Address(RVA = "0x1965FC0", Offset = "0x1964DC0", VA = "0x181965FC0")] internal Cookie() { this.IsSession = true; this.MaxAge = (long)((ulong)(-1L)); DateTime utcNow = DateTime.UtcNow; this.LastAccess = utcNow; } // Token: 0x0600CE1B RID: 52763 RVA: 0x002F67EC File Offset: 0x002F49EC [Token(Token = "0x600CE1B")] [Address(RVA = "0x1965B40", Offset = "0x1964940", VA = "0x181965B40")] public bool WillExpireInTheFuture() { if (!this.k__BackingField) { DateTime utcNow = DateTime.UtcNow; DateTime dateTime = this.k__BackingField; TimeSpan timeSpan = utcNow - dateTime; int num = 0; return Math.Max(0L, (long)num) < this.k__BackingField; } return true; } // Token: 0x0600CE1C RID: 52764 RVA: 0x002F684C File Offset: 0x002F4A4C [Token(Token = "0x600CE1C")] [Address(RVA = "0x1964D00", Offset = "0x1963B00", VA = "0x181964D00")] public uint GuessSize() { /* An exception occurred when decompiling this method (0600CE1C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.Cookies.Cookie::GuessSize() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_6C: stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldc.i4:int32(35))) stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08))) stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08))) stloc:int32(var_8, add:int32(ldloc:int32(var_8), ldloc:int32(var_1_08))) } 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: 0x0600CE1D RID: 52765 RVA: 0x002F68E0 File Offset: 0x002F4AE0 [Token(Token = "0x600CE1D")] [Address(RVA = "0x19650F0", Offset = "0x1963EF0", VA = "0x1819650F0")] public static Cookie Parse(string header, Uri defaultDomain) { int num = 0; Cookie cookie = new Cookie(); cookie.k__BackingField = true; cookie.k__BackingField = (long)((ulong)(-1L)); DateTime utcNow = DateTime.UtcNow; cookie.k__BackingField = utcNow; List list = Cookie.ParseCookieHeader(header); bool flag; if (flag) { int stringLength = header.m_stringLength; string text; if (string.Equals(text, "path")) { if (!string.IsNullOrEmpty(text)) { bool flag2 = text.StartsWith("/"); if (flag2) { cookie.k__BackingField = flag2; } } cookie.k__BackingField = "/"; } if (string.Equals(text, "domain") && !string.IsNullOrEmpty(text)) { string text2; if (text.StartsWith(".")) { text2 = text.Substring(1); } cookie.k__BackingField = text2; } if (string.Equals(text, "expires")) { DateTime dateTime = DateTime.FromBinary(0L); DateTime dateTime2 = text.ToDateTime(dateTime); cookie.k__BackingField = dateTime2; cookie.k__BackingField = false; } if (string.Equals(text, "max-age")) { long num2; cookie.k__BackingField = num2; cookie.k__BackingField = false; } if (string.Equals(text, "secure")) { cookie.k__BackingField = true; } bool flag3 = string.Equals(text, "httponly"); if (flag3) { cookie.k__BackingField = true; } cookie.k__BackingField = flag3; cookie.k__BackingField = flag3; } if (num == 0) { if (num != -1) { } cookie.k__BackingField = true; string text3 = cookie.k__BackingField; string host = defaultDomain.Host; cookie.k__BackingField = host; string text4 = cookie.k__BackingField; if (host != 0) { string absolutePath = defaultDomain.AbsolutePath; cookie.k__BackingField = absolutePath; } DateTime utcNow2 = DateTime.UtcNow; cookie.k__BackingField = utcNow2; cookie.k__BackingField = utcNow2; ILogger logger = HTTPManager.Logger; string[] array = new string[6]; throw new ArrayTypeMismatchException(); } throw new NullReferenceException(); } // Token: 0x0600CE1E RID: 52766 RVA: 0x002F6B90 File Offset: 0x002F4D90 [Token(Token = "0x600CE1E")] [Address(RVA = "0x1965900", Offset = "0x1964700", VA = "0x181965900")] internal void SaveTo(BinaryWriter stream) { stream.Write(1); string text = this.k__BackingField; if (text == 0) { } stream.Write(text); string empty; if (this.k__BackingField == 0) { empty = string.Empty; } stream.Write(empty); DateTime dateTime = this.k__BackingField; long num; stream.Write((uint)num); DateTime dateTime2 = this.k__BackingField; long num2; stream.Write((uint)num2); DateTime dateTime3 = this.k__BackingField; long num3; stream.Write((uint)num3); long num4 = this.k__BackingField; stream.Write((uint)num4); stream.Flush(); string empty2; if (this.k__BackingField == 0) { empty2 = string.Empty; } stream.Write(empty2); string empty3; if (this.k__BackingField == 0) { empty3 = string.Empty; } stream.Write(empty3); stream.Flush(); stream.Flush(); } // Token: 0x0600CE1F RID: 52767 RVA: 0x002F6C54 File Offset: 0x002F4E54 [Token(Token = "0x600CE1F")] [Address(RVA = "0x1964D60", Offset = "0x1963B60", VA = "0x181964D60")] internal void LoadFrom(BinaryReader stream) { ushort num = stream.ReadUInt16(); decimal num2 = stream.ReadDecimal(); this.k__BackingField = num2; decimal num3 = stream.ReadDecimal(); this.k__BackingField = num3; DateTime dateTime = DateTime.FromBinary((long)stream.ReadUInt32()); this.k__BackingField = dateTime; DateTime dateTime2 = DateTime.FromBinary((long)stream.ReadUInt32()); this.k__BackingField = dateTime2; DateTime dateTime3 = DateTime.FromBinary((long)stream.ReadUInt32()); this.k__BackingField = dateTime3; uint num4 = stream.ReadUInt32(); this.k__BackingField = (long)num4; int num5 = stream.Read(); this.k__BackingField = num5 != 0; decimal num6 = stream.ReadDecimal(); this.k__BackingField = num6; decimal num7 = stream.ReadDecimal(); this.k__BackingField = num7; int num8 = stream.Read(); this.k__BackingField = num8 != 0; int num9 = stream.Read(); this.k__BackingField = num9 != 0; } // Token: 0x0600CE20 RID: 52768 RVA: 0x002F6D28 File Offset: 0x002F4F28 [Token(Token = "0x600CE20")] [Address(RVA = "0x1965B00", Offset = "0x1964900", VA = "0x181965B00", Slot = "3")] public override string ToString() { string text = this.k__BackingField; return this.k__BackingField + "=" + text; } // Token: 0x0600CE21 RID: 52769 RVA: 0x002F6D50 File Offset: 0x002F4F50 [Token(Token = "0x600CE21")] [Address(RVA = "0x1964C50", Offset = "0x1963A50", VA = "0x181964C50", Slot = "0")] public override bool Equals(object obj) { if (obj != 0) { bool flag; return flag; } } // Token: 0x0600CE22 RID: 52770 RVA: 0x002F6D64 File Offset: 0x002F4F64 [Token(Token = "0x600CE22")] [Address(RVA = "0x1964B90", Offset = "0x1963990", VA = "0x181964B90", Slot = "5")] public bool Equals(Cookie cookie) { if (cookie != 0) { if (this != cookie) { string text = this.k__BackingField; string text2 = cookie.k__BackingField; if (!text.Equals(text2, StringComparison.Ordinal)) { goto IL_76; } string text3 = this.k__BackingField; if (text3 != 0 || cookie.k__BackingField != text3) { string text4 = cookie.k__BackingField; if (!text3.Equals(text4, StringComparison.Ordinal)) { goto IL_76; } } string text5 = this.k__BackingField; if (text5 != 0 || cookie.k__BackingField != text5) { string text6 = cookie.k__BackingField; return text5.Equals(text6, StringComparison.Ordinal); } } return true; } IL_76: throw new NullReferenceException(); } // Token: 0x0600CE23 RID: 52771 RVA: 0x002F6DF0 File Offset: 0x002F4FF0 [Token(Token = "0x600CE23")] [Address(RVA = "0x1964CC0", Offset = "0x1963AC0", VA = "0x181964CC0", Slot = "2")] public override int GetHashCode() { OVRMesh.JAAHPDGFADH jaahpdgfadh = ((OVRMesh.PJPHJNNOBBH)this.GetHashCode()).POCDCJMHEGL(); throw new NullReferenceException(); } // Token: 0x0600CE24 RID: 52772 RVA: 0x002F6E10 File Offset: 0x002F5010 [Token(Token = "0x600CE24")] [Address(RVA = "0x1965870", Offset = "0x1964670", VA = "0x181965870")] private static string ReadValue(string str, ref int pos) { string empty = string.Empty; if (str != 0) { } return empty; } // Token: 0x0600CE25 RID: 52773 RVA: 0x002F6E28 File Offset: 0x002F5028 [Token(Token = "0x600CE25")] [Address(RVA = "0x1964F00", Offset = "0x1963D00", VA = "0x181964F00")] private static List ParseCookieHeader(string str) { List list = new List(); if (str != 0) { int num = 0; if (num < str.m_stringLength) { Func <>9__61_ = Cookie.<>c.<>9__61_0; if (<>9__61_ == 0) { Cookie.<>c.<>9__61_0 = delegate(char ch) { bool flag; return flag; }; } HeaderValue headerValue = new HeaderValue(Extensions.Read(str, num, <>9__61_, true).Trim()); if (num < str.m_stringLength) { char c = str[num]; string text = Cookie.ReadValue(str, num); headerValue.k__BackingField = text; } list.Add(headerValue); } } return list; } // Token: 0x0600CE26 RID: 52774 RVA: 0x002F6EB0 File Offset: 0x002F50B0 [Token(Token = "0x600CE26")] [Address(RVA = "0x1964B60", Offset = "0x1963960", VA = "0x181964B60", Slot = "4")] public int CompareTo(Cookie other) { DateTime dateTime = this.k__BackingField; DateTime dateTime2 = other.k__BackingField; int num; return num; } // Token: 0x040083DA RID: 33754 [Token(Token = "0x40083DA")] private const int Version = 1; } }