Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/Authentication/DigestStore.cs
T
2026-04-08 23:40:05 +02:00

137 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using Cpp2IlInjected;
namespace BestHTTP.Authentication
{
// Token: 0x020019EE RID: 6638
[Token(Token = "0x20019EE")]
[StructLayout(3)]
public static class DigestStore
{
// Token: 0x0600B2E0 RID: 45792 RVA: 0x002A15B0 File Offset: 0x0029F7B0
[Token(Token = "0x600B2E0")]
[Address(RVA = "0x1A2B440", Offset = "0x1A29E40", VA = "0x181A2B440")]
public static Digest Get(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> 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);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2E1 RID: 45793 RVA: 0x002A1650 File Offset: 0x0029F850
[Token(Token = "0x600B2E1")]
[Address(RVA = "0x1A2B1E0", Offset = "0x1A29BE0", VA = "0x181A2B1E0")]
public static Digest GetOrCreate(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
int num2 = 0;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
if (!digests.TryGetValue(host, num2))
{
Dictionary<string, Digest> digests2 = DigestStore.Digests;
string host2 = uri.Host;
Digest digest;
digest.<Uri>k__BackingField = uri;
digest.<Algorithm>k__BackingField = "md5";
digests2.Add(host2, digest);
}
Monitor.Exit(locker);
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x0600B2E2 RID: 45794 RVA: 0x002A16D0 File Offset: 0x0029F8D0
[Token(Token = "0x600B2E2")]
[Address(RVA = "0x1A2B6F0", Offset = "0x1A2A0F0", VA = "0x181A2B6F0")]
public static void Remove(Uri uri)
{
int num;
do
{
num = 0;
object locker = DigestStore.Locker;
Dictionary<string, Digest> digests = DigestStore.Digests;
string host = uri.Host;
bool flag = digests.Remove(host);
Monitor.Exit(locker);
if (num != -1)
{
}
}
while (num != 0);
}
// Token: 0x0600B2E3 RID: 45795 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B2E3")]
[Address(RVA = "0x1A2B000", Offset = "0x1A29A00", VA = "0x181A2B000")]
public static string FindBest(List<string> authHeaders)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B2E4 RID: 45796 RVA: 0x002A1718 File Offset: 0x0029F918
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B2E4")]
[Address(RVA = "0x1A2B850", Offset = "0x1A2A250", VA = "0x181A2B850")]
static DigestStore()
{
string[] array = new string[2];
if ("digest" != 0)
{
}
array[0] = "digest";
if ("basic" != 0)
{
}
array[1] = "basic";
DigestStore.SupportedAlgorithms = array;
}
// Token: 0x040075E0 RID: 30176
[Token(Token = "0x40075E0")]
private static Dictionary<string, Digest> Digests = new Dictionary();
// Token: 0x040075E1 RID: 30177
[Token(Token = "0x40075E1")]
private static object Locker = new object();
// Token: 0x040075E2 RID: 30178
[Token(Token = "0x40075E2")]
private static string[] SupportedAlgorithms;
}
}