using System; using System.Collections.Generic; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.Authentication { // Token: 0x02001FCB RID: 8139 [Token(Token = "0x2001FCB")] public static class DigestStore { // Token: 0x0600CEBA RID: 52922 RVA: 0x002F9C70 File Offset: 0x002F7E70 [Token(Token = "0x600CEBA")] [Address(RVA = "0xA9FA30", Offset = "0xA9E830", VA = "0x180A9FA30")] public static Digest Get(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; int num2 = 0; Dictionary digests = DigestStore.Digests; string host = uri.Host; if (digests.TryGetValue(host, num2)) { string host2 = uri.Host; string host3 = uri.Host; bool flag; if (string.CompareOrdinal(host2, host3) == 0 && uri.GetHashCode() != 0 && num < uri.m_originalUnicodeString && !flag) { num++; } } Monitor.Exit(locker); } while (num != 0); throw new NullReferenceException(); } // Token: 0x0600CEBB RID: 52923 RVA: 0x002F9D0C File Offset: 0x002F7F0C [Token(Token = "0x600CEBB")] [Address(RVA = "0xA9F800", Offset = "0xA9E600", VA = "0x180A9F800")] public static Digest GetOrCreate(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; int num2 = 0; Dictionary digests = DigestStore.Digests; string host = uri.Host; if (!digests.TryGetValue(host, num2)) { Dictionary digests2 = DigestStore.Digests; string host2 = uri.Host; Digest digest; digest.k__BackingField = uri; digest.k__BackingField = "md5"; digests2.Add(host2, digest); } Monitor.Exit(locker); } while (num != 0); throw new NullReferenceException(); } // Token: 0x0600CEBC RID: 52924 RVA: 0x002F9D88 File Offset: 0x002F7F88 [Token(Token = "0x600CEBC")] [Address(RVA = "0xA9FCA0", Offset = "0xA9EAA0", VA = "0x180A9FCA0")] public static void Remove(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; Dictionary digests = DigestStore.Digests; string host = uri.Host; bool flag = digests.Remove(host); Monitor.Exit(locker); } while (num != 0); } // Token: 0x0600CEBD RID: 52925 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600CEBD")] [Address(RVA = "0xA9F620", Offset = "0xA9E420", VA = "0x180A9F620")] public static string FindBest(List authHeaders) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600CEBE RID: 52926 RVA: 0x002F9DCC File Offset: 0x002F7FCC // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600CEBE")] [Address(RVA = "0xA9FDE0", Offset = "0xA9EBE0", VA = "0x180A9FDE0")] static DigestStore() { string[] array = new string[2]; if ("digest" != 0) { } array[0] = "digest"; if ("basic" != 0) { } array[1] = "basic"; DigestStore.SupportedAlgorithms = array; } // Token: 0x04008423 RID: 33827 [Token(Token = "0x4008423")] private static Dictionary Digests = new Dictionary(); // Token: 0x04008424 RID: 33828 [Token(Token = "0x4008424")] private static object Locker = new object(); // Token: 0x04008425 RID: 33829 [Token(Token = "0x4008425")] private static string[] SupportedAlgorithms; } }