oh dear
This commit is contained in:
@@ -0,0 +1,637 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using BestHTTP.Extensions;
|
||||
using BestHTTP.PlatformSupport.FileSystem;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Caching
|
||||
{
|
||||
// Token: 0x02001FC1 RID: 8129
|
||||
[Token(Token = "0x2001FC1")]
|
||||
public class HTTPCacheFileInfo : IComparable<HTTPCacheFileInfo>
|
||||
{
|
||||
// Token: 0x170020D2 RID: 8402
|
||||
// (get) Token: 0x0600CE3E RID: 52798 RVA: 0x002F7658 File Offset: 0x002F5858
|
||||
// (set) Token: 0x0600CE3F RID: 52799 RVA: 0x002F766C File Offset: 0x002F586C
|
||||
[Token(Token = "0x170020D2")]
|
||||
internal Uri Uri
|
||||
{
|
||||
[Token(Token = "0x600CE3E")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
||||
get;
|
||||
[Token(Token = "0x600CE3F")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D3 RID: 8403
|
||||
// (get) Token: 0x0600CE40 RID: 52800 RVA: 0x002F7680 File Offset: 0x002F5880
|
||||
// (set) Token: 0x0600CE41 RID: 52801 RVA: 0x002F7694 File Offset: 0x002F5894
|
||||
[Token(Token = "0x170020D3")]
|
||||
internal DateTime LastAccess
|
||||
{
|
||||
[Token(Token = "0x600CE40")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
get;
|
||||
[Token(Token = "0x600CE41")]
|
||||
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D4 RID: 8404
|
||||
// (get) Token: 0x0600CE42 RID: 52802 RVA: 0x002F76A8 File Offset: 0x002F58A8
|
||||
// (set) Token: 0x0600CE43 RID: 52803 RVA: 0x002F76BC File Offset: 0x002F58BC
|
||||
[Token(Token = "0x170020D4")]
|
||||
public int BodyLength
|
||||
{
|
||||
[Token(Token = "0x600CE42")]
|
||||
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310")]
|
||||
get;
|
||||
[Token(Token = "0x600CE43")]
|
||||
[Address(RVA = "0x420360", Offset = "0x41F160", VA = "0x180420360")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D5 RID: 8405
|
||||
// (get) Token: 0x0600CE44 RID: 52804 RVA: 0x002F76D0 File Offset: 0x002F58D0
|
||||
// (set) Token: 0x0600CE45 RID: 52805 RVA: 0x002F76E4 File Offset: 0x002F58E4
|
||||
[Token(Token = "0x170020D5")]
|
||||
private string ETag
|
||||
{
|
||||
[Token(Token = "0x600CE44")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE45")]
|
||||
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D6 RID: 8406
|
||||
// (get) Token: 0x0600CE46 RID: 52806 RVA: 0x002F76F8 File Offset: 0x002F58F8
|
||||
// (set) Token: 0x0600CE47 RID: 52807 RVA: 0x002F770C File Offset: 0x002F590C
|
||||
[Token(Token = "0x170020D6")]
|
||||
private string LastModified
|
||||
{
|
||||
[Token(Token = "0x600CE46")]
|
||||
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
|
||||
get;
|
||||
[Token(Token = "0x600CE47")]
|
||||
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D7 RID: 8407
|
||||
// (get) Token: 0x0600CE48 RID: 52808 RVA: 0x002F7720 File Offset: 0x002F5920
|
||||
// (set) Token: 0x0600CE49 RID: 52809 RVA: 0x002F7734 File Offset: 0x002F5934
|
||||
[Token(Token = "0x170020D7")]
|
||||
private DateTime Expires
|
||||
{
|
||||
[Token(Token = "0x600CE48")]
|
||||
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE49")]
|
||||
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D8 RID: 8408
|
||||
// (get) Token: 0x0600CE4A RID: 52810 RVA: 0x002F7748 File Offset: 0x002F5948
|
||||
// (set) Token: 0x0600CE4B RID: 52811 RVA: 0x002F775C File Offset: 0x002F595C
|
||||
[Token(Token = "0x170020D8")]
|
||||
private long Age
|
||||
{
|
||||
[Token(Token = "0x600CE4A")]
|
||||
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
|
||||
get;
|
||||
[Token(Token = "0x600CE4B")]
|
||||
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020D9 RID: 8409
|
||||
// (get) Token: 0x0600CE4C RID: 52812 RVA: 0x002F7770 File Offset: 0x002F5970
|
||||
// (set) Token: 0x0600CE4D RID: 52813 RVA: 0x002F7784 File Offset: 0x002F5984
|
||||
[Token(Token = "0x170020D9")]
|
||||
private long MaxAge
|
||||
{
|
||||
[Token(Token = "0x600CE4C")]
|
||||
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
|
||||
get;
|
||||
[Token(Token = "0x600CE4D")]
|
||||
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020DA RID: 8410
|
||||
// (get) Token: 0x0600CE4E RID: 52814 RVA: 0x002F7798 File Offset: 0x002F5998
|
||||
// (set) Token: 0x0600CE4F RID: 52815 RVA: 0x002F77AC File Offset: 0x002F59AC
|
||||
[Token(Token = "0x170020DA")]
|
||||
private DateTime Date
|
||||
{
|
||||
[Token(Token = "0x600CE4E")]
|
||||
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
|
||||
get;
|
||||
[Token(Token = "0x600CE4F")]
|
||||
[Address(RVA = "0x46AB00", Offset = "0x469900", VA = "0x18046AB00")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020DB RID: 8411
|
||||
// (get) Token: 0x0600CE50 RID: 52816 RVA: 0x002F77C0 File Offset: 0x002F59C0
|
||||
// (set) Token: 0x0600CE51 RID: 52817 RVA: 0x002F77D4 File Offset: 0x002F59D4
|
||||
[Token(Token = "0x170020DB")]
|
||||
private bool MustRevalidate
|
||||
{
|
||||
[Token(Token = "0x600CE50")]
|
||||
[Address(RVA = "0x40FFA0", Offset = "0x40EDA0", VA = "0x18040FFA0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE51")]
|
||||
[Address(RVA = "0x410010", Offset = "0x40EE10", VA = "0x180410010")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020DC RID: 8412
|
||||
// (get) Token: 0x0600CE52 RID: 52818 RVA: 0x002F77E8 File Offset: 0x002F59E8
|
||||
// (set) Token: 0x0600CE53 RID: 52819 RVA: 0x002F77FC File Offset: 0x002F59FC
|
||||
[Token(Token = "0x170020DC")]
|
||||
private DateTime Received
|
||||
{
|
||||
[Token(Token = "0x600CE52")]
|
||||
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE53")]
|
||||
[Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020DD RID: 8413
|
||||
// (get) Token: 0x0600CE54 RID: 52820 RVA: 0x002F7810 File Offset: 0x002F5A10
|
||||
// (set) Token: 0x0600CE55 RID: 52821 RVA: 0x002F7824 File Offset: 0x002F5A24
|
||||
[Token(Token = "0x170020DD")]
|
||||
private string ConstructedPath
|
||||
{
|
||||
[Token(Token = "0x600CE54")]
|
||||
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
|
||||
get;
|
||||
[Token(Token = "0x600CE55")]
|
||||
[Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x170020DE RID: 8414
|
||||
// (get) Token: 0x0600CE56 RID: 52822 RVA: 0x002F7838 File Offset: 0x002F5A38
|
||||
// (set) Token: 0x0600CE57 RID: 52823 RVA: 0x002F784C File Offset: 0x002F5A4C
|
||||
[Token(Token = "0x170020DE")]
|
||||
internal ulong MappedNameIDX
|
||||
{
|
||||
[Token(Token = "0x600CE56")]
|
||||
[Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE57")]
|
||||
[Address(RVA = "0x703580", Offset = "0x702380", VA = "0x180703580")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE58 RID: 52824 RVA: 0x002F7860 File Offset: 0x002F5A60
|
||||
[Token(Token = "0x600CE58")]
|
||||
[Address(RVA = "0xAA4B80", Offset = "0xAA3980", VA = "0x180AA4B80")]
|
||||
internal HTTPCacheFileInfo(Uri uri)
|
||||
{
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE59 RID: 52825 RVA: 0x002F7878 File Offset: 0x002F5A78
|
||||
[Token(Token = "0x600CE59")]
|
||||
[Address(RVA = "0xAA4C00", Offset = "0xAA3A00", VA = "0x180AA4C00")]
|
||||
internal HTTPCacheFileInfo(Uri uri, DateTime lastAcces, int bodyLength)
|
||||
{
|
||||
this.Uri = uri;
|
||||
this.LastAccess = lastAcces;
|
||||
this.BodyLength = bodyLength;
|
||||
this.MaxAge = (long)((ulong)(-1L));
|
||||
ulong nameIdx = HTTPCacheService.GetNameIdx();
|
||||
this.MappedNameIDX = nameIdx;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5A RID: 52826 RVA: 0x002F78B8 File Offset: 0x002F5AB8
|
||||
[Token(Token = "0x600CE5A")]
|
||||
[Address(RVA = "0xAA49A0", Offset = "0xAA37A0", VA = "0x180AA49A0")]
|
||||
internal HTTPCacheFileInfo(Uri uri, BinaryReader reader, int version)
|
||||
{
|
||||
this.Uri = uri;
|
||||
DateTime dateTime = DateTime.FromBinary((long)reader.ReadUInt32());
|
||||
this.LastAccess = dateTime;
|
||||
ushort num = reader.ReadUInt16();
|
||||
this.BodyLength = (int)num;
|
||||
if (version != 1)
|
||||
{
|
||||
if (version != 2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
long num2 = reader.ReadInt64();
|
||||
this.MappedNameIDX = (ulong)num2;
|
||||
}
|
||||
decimal num3 = reader.ReadDecimal();
|
||||
this.ETag = num3;
|
||||
decimal num4 = reader.ReadDecimal();
|
||||
this.LastModified = num4;
|
||||
DateTime dateTime2 = DateTime.FromBinary((long)reader.ReadUInt32());
|
||||
this.Expires = dateTime2;
|
||||
uint num5 = reader.ReadUInt32();
|
||||
this.Age = (long)num5;
|
||||
uint num6 = reader.ReadUInt32();
|
||||
this.MaxAge = (long)num6;
|
||||
DateTime dateTime3 = DateTime.FromBinary((long)reader.ReadUInt32());
|
||||
this.Date = dateTime3;
|
||||
int num7 = reader.Read();
|
||||
this.MustRevalidate = num7 != 0;
|
||||
DateTime dateTime4 = DateTime.FromBinary((long)reader.ReadUInt32());
|
||||
this.Received = dateTime4;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5B RID: 52827 RVA: 0x002F79A0 File Offset: 0x002F5BA0
|
||||
[Token(Token = "0x600CE5B")]
|
||||
[Address(RVA = "0xAA3D60", Offset = "0xAA2B60", VA = "0x180AA3D60")]
|
||||
internal void SaveTo(BinaryWriter writer)
|
||||
{
|
||||
DateTime dateTime = this.<LastAccess>k__BackingField;
|
||||
long num;
|
||||
writer.Write((uint)num);
|
||||
int num2 = this.<BodyLength>k__BackingField;
|
||||
writer.Write((ushort)num2);
|
||||
ulong num3 = this.<MappedNameIDX>k__BackingField;
|
||||
writer.Write((long)num3);
|
||||
string text = this.<ETag>k__BackingField;
|
||||
writer.Write(text);
|
||||
string text2 = this.<LastModified>k__BackingField;
|
||||
writer.Write(text2);
|
||||
DateTime dateTime2 = this.<Expires>k__BackingField;
|
||||
long num4;
|
||||
writer.Write((uint)num4);
|
||||
long num5 = this.<Age>k__BackingField;
|
||||
writer.Write((uint)num5);
|
||||
long num6 = this.<MaxAge>k__BackingField;
|
||||
writer.Write((uint)num6);
|
||||
DateTime dateTime3 = this.<Date>k__BackingField;
|
||||
long num7;
|
||||
writer.Write((uint)num7);
|
||||
writer.Flush();
|
||||
DateTime dateTime4 = this.<Received>k__BackingField;
|
||||
long num8;
|
||||
writer.Write((uint)num8);
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5C RID: 52828 RVA: 0x002F7A54 File Offset: 0x002F5C54
|
||||
[Token(Token = "0x600CE5C")]
|
||||
[Address(RVA = "0xAA31E0", Offset = "0xAA1FE0", VA = "0x180AA31E0")]
|
||||
public string GetPath()
|
||||
{
|
||||
string text = this.<ConstructedPath>k__BackingField;
|
||||
if (text == 0)
|
||||
{
|
||||
string <CacheFolder>k__BackingField = HTTPCacheService.<CacheFolder>k__BackingField;
|
||||
ulong num = this.<MappedNameIDX>k__BackingField;
|
||||
string text3;
|
||||
string text2 = Path.Combine(<CacheFolder>k__BackingField, text3);
|
||||
this.<ConstructedPath>k__BackingField = text2;
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5D RID: 52829 RVA: 0x002F7A8C File Offset: 0x002F5C8C
|
||||
[Token(Token = "0x600CE5D")]
|
||||
[Address(RVA = "0xAA39F0", Offset = "0xAA27F0", VA = "0x180AA39F0")]
|
||||
public bool IsExists()
|
||||
{
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
string path = this.GetPath();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5E RID: 52830 RVA: 0x002F7AB8 File Offset: 0x002F5CB8
|
||||
[Token(Token = "0x600CE5E")]
|
||||
[Address(RVA = "0xAA2ED0", Offset = "0xAA1CD0", VA = "0x180AA2ED0")]
|
||||
internal void Delete()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
string path = this.GetPath();
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
this.<BodyLength>k__BackingField = (int)((ulong)4294967295L);
|
||||
string empty = string.Empty;
|
||||
this.<ETag>k__BackingField = empty;
|
||||
DateTime dateTime = DateTime.FromBinary(0L);
|
||||
this.<Expires>k__BackingField = dateTime;
|
||||
string empty2 = string.Empty;
|
||||
this.<LastModified>k__BackingField = empty2;
|
||||
this.<Age>k__BackingField = (long)((ulong)0L);
|
||||
this.<MaxAge>k__BackingField = (long)((ulong)(-1L));
|
||||
DateTime dateTime2 = DateTime.FromBinary(0L);
|
||||
this.<Date>k__BackingField = dateTime2;
|
||||
this.<MustRevalidate>k__BackingField = false;
|
||||
DateTime dateTime3 = DateTime.FromBinary(0L);
|
||||
this.<Received>k__BackingField = dateTime3;
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600CE5F RID: 52831 RVA: 0x002F7B68 File Offset: 0x002F5D68
|
||||
[Token(Token = "0x600CE5F")]
|
||||
[Address(RVA = "0xAA3CA0", Offset = "0xAA2AA0", VA = "0x180AA3CA0")]
|
||||
private void Reset()
|
||||
{
|
||||
this.<BodyLength>k__BackingField = (int)((ulong)4294967295L);
|
||||
string empty = string.Empty;
|
||||
this.<ETag>k__BackingField = empty;
|
||||
DateTime dateTime = DateTime.FromBinary(0L);
|
||||
this.<Expires>k__BackingField = dateTime;
|
||||
string empty2 = string.Empty;
|
||||
int num = 0;
|
||||
this.<LastModified>k__BackingField = empty2;
|
||||
this.<Age>k__BackingField = (long)((ulong)0L);
|
||||
this.<MaxAge>k__BackingField = (long)((ulong)(-1L));
|
||||
DateTime dateTime2 = DateTime.FromBinary((long)num);
|
||||
this.<Date>k__BackingField = dateTime2;
|
||||
int num2 = 0;
|
||||
this.<MustRevalidate>k__BackingField = false;
|
||||
DateTime dateTime3 = DateTime.FromBinary((long)num2);
|
||||
this.<Received>k__BackingField = dateTime3;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE60 RID: 52832 RVA: 0x002F7BEC File Offset: 0x002F5DEC
|
||||
[Token(Token = "0x600CE60")]
|
||||
[Address(RVA = "0xAA3EE0", Offset = "0xAA2CE0", VA = "0x180AA3EE0")]
|
||||
private void SetUpCachingValues(HTTPResponse response)
|
||||
{
|
||||
response.<CacheFileInfo>k__BackingField = this;
|
||||
string text = response.GetFirstHeaderValue("ETag").ToStrOrEmpty();
|
||||
this.<ETag>k__BackingField = text;
|
||||
string firstHeaderValue = response.GetFirstHeaderValue("Expires");
|
||||
DateTime dateTime = DateTime.FromBinary(0L);
|
||||
DateTime dateTime2 = firstHeaderValue.ToDateTime(dateTime);
|
||||
this.<Expires>k__BackingField = dateTime2;
|
||||
string text2 = response.GetFirstHeaderValue("Last-Modified").ToStrOrEmpty();
|
||||
this.<LastModified>k__BackingField = text2;
|
||||
string firstHeaderValue2 = response.GetFirstHeaderValue("Age");
|
||||
int num = 0;
|
||||
long num2 = firstHeaderValue2.ToInt64((long)num);
|
||||
this.<Age>k__BackingField = num2;
|
||||
string firstHeaderValue3 = response.GetFirstHeaderValue("Date");
|
||||
DateTime dateTime3 = DateTime.FromBinary(0L);
|
||||
DateTime dateTime4 = firstHeaderValue3.ToDateTime(dateTime3);
|
||||
this.<Date>k__BackingField = dateTime4;
|
||||
string firstHeaderValue4 = response.GetFirstHeaderValue("cache-control");
|
||||
if (!string.IsNullOrEmpty(firstHeaderValue4))
|
||||
{
|
||||
string[] array = firstHeaderValue4.FindOption("max-age");
|
||||
if (array != 0)
|
||||
{
|
||||
string text3 = array[1];
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
this.<MaxAge>k__BackingField = (flag ? 1L : 0L);
|
||||
}
|
||||
}
|
||||
bool flag2 = firstHeaderValue4.ToLower().Contains("must-revalidate");
|
||||
this.<MustRevalidate>k__BackingField = flag2;
|
||||
}
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
this.<Received>k__BackingField = utcNow;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE61 RID: 52833 RVA: 0x002F7D14 File Offset: 0x002F5F14
|
||||
[Token(Token = "0x600CE61")]
|
||||
[Address(RVA = "0xAA4820", Offset = "0xAA3620", VA = "0x180AA4820")]
|
||||
internal bool WillExpireInTheFuture()
|
||||
{
|
||||
if (this.IsExists() && !this.<MustRevalidate>k__BackingField)
|
||||
{
|
||||
DateTime dateTime = this.<Expires>k__BackingField;
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
return dateTime > utcNow;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE62 RID: 52834 RVA: 0x002F7DBC File Offset: 0x002F5FBC
|
||||
[Token(Token = "0x600CE62")]
|
||||
[Address(RVA = "0xAA4150", Offset = "0xAA2F50", VA = "0x180AA4150")]
|
||||
internal void SetUpRevalidationHeaders(HTTPRequest request)
|
||||
{
|
||||
bool flag = this.IsExists();
|
||||
if (flag)
|
||||
{
|
||||
string text = this.<ETag>k__BackingField;
|
||||
if (!flag)
|
||||
{
|
||||
string text2 = this.<ETag>k__BackingField;
|
||||
request.SetHeader("If-None-Match", text2);
|
||||
}
|
||||
string text3 = this.<LastModified>k__BackingField;
|
||||
if (!flag)
|
||||
{
|
||||
string text4 = this.<LastModified>k__BackingField;
|
||||
request.SetHeader("If-Modified-Since", text4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE63 RID: 52835 RVA: 0x002F7E18 File Offset: 0x002F6018
|
||||
[Token(Token = "0x600CE63")]
|
||||
[Address(RVA = "0xAA30B0", Offset = "0xAA1EB0", VA = "0x180AA30B0")]
|
||||
public Stream GetBodyStream(out int length)
|
||||
{
|
||||
if (this.IsExists())
|
||||
{
|
||||
int num = this.<BodyLength>k__BackingField;
|
||||
length.m_value = num;
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
this.<LastAccess>k__BackingField = utcNow;
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
string path = this.GetPath();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE64 RID: 52836 RVA: 0x002F7E64 File Offset: 0x002F6064
|
||||
[Token(Token = "0x600CE64")]
|
||||
[Address(RVA = "0xAA3AC0", Offset = "0xAA28C0", VA = "0x180AA3AC0")]
|
||||
internal HTTPResponse ReadResponseTo(HTTPRequest request)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!this.IsExists())
|
||||
{
|
||||
break;
|
||||
}
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
this.<LastAccess>k__BackingField = utcNow;
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
string path = this.GetPath();
|
||||
HTTPResponse httpresponse;
|
||||
httpresponse.<CacheFileInfo>k__BackingField = this;
|
||||
httpresponse.Dispose();
|
||||
if (path != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE65 RID: 52837 RVA: 0x002F7EC0 File Offset: 0x002F60C0
|
||||
[Token(Token = "0x600CE65")]
|
||||
[Address(RVA = "0xAA41F0", Offset = "0xAA2FF0", VA = "0x180AA41F0")]
|
||||
internal void Store(HTTPResponse response)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int num2 = this.GetPath().m_stringLength;
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
this.Delete();
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
string path = this.GetPath();
|
||||
object[] array = new object[2];
|
||||
int <StatusCode>k__BackingField = response.<StatusCode>k__BackingField;
|
||||
num2 = <StatusCode>k__BackingField;
|
||||
if (<StatusCode>k__BackingField != 0)
|
||||
{
|
||||
}
|
||||
array[0] = num2;
|
||||
string <Message>k__BackingField = response.<Message>k__BackingField;
|
||||
if (<Message>k__BackingField != 0)
|
||||
{
|
||||
}
|
||||
array[1] = <Message>k__BackingField;
|
||||
Dictionary<string, List<string>> <Headers>k__BackingField = response.<Headers>k__BackingField;
|
||||
bool flag;
|
||||
int num3;
|
||||
if (flag)
|
||||
{
|
||||
if (num < this.<LastAccess>k__BackingField)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num3 = 0;
|
||||
}
|
||||
if (num3 != 0)
|
||||
{
|
||||
goto IL_116;
|
||||
}
|
||||
if (num3 != -1)
|
||||
{
|
||||
}
|
||||
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
|
||||
if (path != 0)
|
||||
{
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
goto Block_4;
|
||||
}
|
||||
}
|
||||
object[] array2 = new object[2];
|
||||
throw new ArrayTypeMismatchException();
|
||||
Block_4:
|
||||
int length = response.<Data>k__BackingField.Length;
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
return;
|
||||
IL_116:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE66 RID: 52838 RVA: 0x002F8008 File Offset: 0x002F6208
|
||||
[Token(Token = "0x600CE66")]
|
||||
[Address(RVA = "0xAA3300", Offset = "0xAA2100", VA = "0x180AA3300")]
|
||||
internal Stream GetSaveStream(HTTPResponse response)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
goto IL_EA;
|
||||
}
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
this.<LastAccess>k__BackingField = utcNow;
|
||||
string path = this.GetPath();
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
if (path != 0)
|
||||
{
|
||||
this.Delete();
|
||||
}
|
||||
int stringLength = path.m_stringLength;
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
string path2 = this.GetPath();
|
||||
object[] array = new object[2];
|
||||
int <StatusCode>k__BackingField = response.<StatusCode>k__BackingField;
|
||||
if (<StatusCode>k__BackingField != 0)
|
||||
{
|
||||
}
|
||||
array[0] = <StatusCode>k__BackingField;
|
||||
string <Message>k__BackingField = response.<Message>k__BackingField;
|
||||
if (<Message>k__BackingField != 0)
|
||||
{
|
||||
}
|
||||
array[1] = <Message>k__BackingField;
|
||||
Dictionary<string, List<string>> <Headers>k__BackingField = response.<Headers>k__BackingField;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_11D;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (path2 != 0)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
goto Block_4;
|
||||
}
|
||||
}
|
||||
object[] array2 = new object[2];
|
||||
throw new ArrayTypeMismatchException();
|
||||
Block_4:
|
||||
throw new NullReferenceException();
|
||||
IL_EA:
|
||||
throw new ArrayTypeMismatchException();
|
||||
IL_11D:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE67 RID: 52839 RVA: 0x002F8144 File Offset: 0x002F6344
|
||||
[Token(Token = "0x600CE67")]
|
||||
[Address(RVA = "0xAA2EA0", Offset = "0xAA1CA0", VA = "0x180AA2EA0", Slot = "4")]
|
||||
public int CompareTo(HTTPCacheFileInfo other)
|
||||
{
|
||||
DateTime dateTime = this.<LastAccess>k__BackingField;
|
||||
DateTime dateTime2 = other.<LastAccess>k__BackingField;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Caching
|
||||
{
|
||||
// Token: 0x02001FC2 RID: 8130
|
||||
[Token(Token = "0x2001FC2")]
|
||||
internal sealed class HTTPCacheFileLock
|
||||
{
|
||||
// Token: 0x0600CE68 RID: 52840 RVA: 0x002F8168 File Offset: 0x002F6368
|
||||
[Token(Token = "0x600CE68")]
|
||||
[Address(RVA = "0xAA4CA0", Offset = "0xAA3AA0", VA = "0x180AA4CA0")]
|
||||
internal static object Acquire(Uri uri)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
object syncRoot = HTTPCacheFileLock.SyncRoot;
|
||||
int num2 = 0;
|
||||
if (!HTTPCacheFileLock.FileLocks.TryGetValue(uri, num2))
|
||||
{
|
||||
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
|
||||
object obj = new object();
|
||||
fileLocks.Add(uri, obj);
|
||||
}
|
||||
Monitor.Exit(syncRoot);
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE69 RID: 52841 RVA: 0x002F81BC File Offset: 0x002F63BC
|
||||
[Token(Token = "0x600CE69")]
|
||||
[Address(RVA = "0xAA4F80", Offset = "0xAA3D80", VA = "0x180AA4F80")]
|
||||
internal static void Remove(Uri uri)
|
||||
{
|
||||
object syncRoot = HTTPCacheFileLock.SyncRoot;
|
||||
Dictionary<Uri, object> fileLocks = HTTPCacheFileLock.FileLocks;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE6A RID: 52842 RVA: 0x002F8204 File Offset: 0x002F6404
|
||||
[Token(Token = "0x600CE6A")]
|
||||
[Address(RVA = "0xAA4E60", Offset = "0xAA3C60", VA = "0x180AA4E60")]
|
||||
internal static void Clear()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
object syncRoot = HTTPCacheFileLock.SyncRoot;
|
||||
HTTPCacheFileLock.FileLocks.Clear();
|
||||
Monitor.Exit(syncRoot);
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600CE6B RID: 52843 RVA: 0x002F8234 File Offset: 0x002F6434
|
||||
[Token(Token = "0x600CE6B")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public HTTPCacheFileLock()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040083FE RID: 33790
|
||||
[Token(Token = "0x40083FE")]
|
||||
private static Dictionary<Uri, object> FileLocks = new Dictionary();
|
||||
|
||||
// Token: 0x040083FF RID: 33791
|
||||
[Token(Token = "0x40083FF")]
|
||||
private static object SyncRoot = new object();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Caching
|
||||
{
|
||||
// Token: 0x02001FC3 RID: 8131
|
||||
[Token(Token = "0x2001FC3")]
|
||||
public sealed class HTTPCacheMaintananceParams
|
||||
{
|
||||
// Token: 0x170020DF RID: 8415
|
||||
// (get) Token: 0x0600CE6D RID: 52845 RVA: 0x002F826C File Offset: 0x002F646C
|
||||
// (set) Token: 0x0600CE6E RID: 52846 RVA: 0x002F8280 File Offset: 0x002F6480
|
||||
[Token(Token = "0x170020DF")]
|
||||
public TimeSpan DeleteOlder
|
||||
{
|
||||
[Token(Token = "0x600CE6D")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
||||
get;
|
||||
[Token(Token = "0x600CE6E")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x170020E0 RID: 8416
|
||||
// (get) Token: 0x0600CE6F RID: 52847 RVA: 0x002F8294 File Offset: 0x002F6494
|
||||
// (set) Token: 0x0600CE70 RID: 52848 RVA: 0x002F82A8 File Offset: 0x002F64A8
|
||||
[Token(Token = "0x170020E0")]
|
||||
public ulong MaxCacheSize
|
||||
{
|
||||
[Token(Token = "0x600CE6F")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
get;
|
||||
[Token(Token = "0x600CE70")]
|
||||
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE71 RID: 52849 RVA: 0x002F82BC File Offset: 0x002F64BC
|
||||
[Token(Token = "0x600CE71")]
|
||||
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
||||
public HTTPCacheMaintananceParams(TimeSpan deleteOlder, ulong maxCacheSize)
|
||||
{
|
||||
this.DeleteOlder = deleteOlder;
|
||||
this.MaxCacheSize = maxCacheSize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,825 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using BestHTTP.Logger;
|
||||
using BestHTTP.PlatformSupport.FileSystem;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Caching
|
||||
{
|
||||
// Token: 0x02001FC5 RID: 8133
|
||||
[Token(Token = "0x2001FC5")]
|
||||
public static class HTTPCacheService
|
||||
{
|
||||
// Token: 0x170020E1 RID: 8417
|
||||
// (get) Token: 0x0600CE75 RID: 52853 RVA: 0x002F8328 File Offset: 0x002F6528
|
||||
[Token(Token = "0x170020E1")]
|
||||
public static bool IsSupported
|
||||
{
|
||||
[Token(Token = "0x600CE75")]
|
||||
[Address(RVA = "0xAA91B0", Offset = "0xAA7FB0", VA = "0x180AA91B0")]
|
||||
get
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
string rootCacheFolder = HTTPManager.GetRootCacheFolder();
|
||||
ILogger logger = HTTPManager.Logger;
|
||||
}
|
||||
while (num != 0);
|
||||
return HTTPCacheService.isSupported;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170020E2 RID: 8418
|
||||
// (get) Token: 0x0600CE76 RID: 52854 RVA: 0x002F836C File Offset: 0x002F656C
|
||||
[Token(Token = "0x170020E2")]
|
||||
private static Dictionary<Uri, HTTPCacheFileInfo> Library
|
||||
{
|
||||
[Token(Token = "0x600CE76")]
|
||||
[Address(RVA = "0xAA9500", Offset = "0xAA8300", VA = "0x180AA9500")]
|
||||
get
|
||||
{
|
||||
HTTPCacheService.LoadLibrary();
|
||||
return HTTPCacheService.library;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170020E3 RID: 8419
|
||||
// (get) Token: 0x0600CE77 RID: 52855 RVA: 0x002F8388 File Offset: 0x002F6588
|
||||
// (set) Token: 0x0600CE78 RID: 52856 RVA: 0x002F839C File Offset: 0x002F659C
|
||||
[Token(Token = "0x170020E3")]
|
||||
internal static string CacheFolder
|
||||
{
|
||||
[Token(Token = "0x600CE77")]
|
||||
[Address(RVA = "0xAA90F0", Offset = "0xAA7EF0", VA = "0x180AA90F0")]
|
||||
get;
|
||||
[Token(Token = "0x600CE78")]
|
||||
[Address(RVA = "0xAA9560", Offset = "0xAA8360", VA = "0x180AA9560")]
|
||||
private set;
|
||||
}
|
||||
|
||||
// Token: 0x170020E4 RID: 8420
|
||||
// (get) Token: 0x0600CE79 RID: 52857 RVA: 0x002F83B0 File Offset: 0x002F65B0
|
||||
// (set) Token: 0x0600CE7A RID: 52858 RVA: 0x002F83C4 File Offset: 0x002F65C4
|
||||
[Token(Token = "0x170020E4")]
|
||||
private static string LibraryPath
|
||||
{
|
||||
[Token(Token = "0x600CE79")]
|
||||
[Address(RVA = "0xAA9440", Offset = "0xAA8240", VA = "0x180AA9440")]
|
||||
get;
|
||||
[Token(Token = "0x600CE7A")]
|
||||
[Address(RVA = "0xAA95C0", Offset = "0xAA83C0", VA = "0x180AA95C0")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE7C RID: 52860 RVA: 0x002F83F0 File Offset: 0x002F65F0
|
||||
[Token(Token = "0x600CE7C")]
|
||||
[Address(RVA = "0xAA5460", Offset = "0xAA4260", VA = "0x180AA5460")]
|
||||
internal static void CheckSetup()
|
||||
{
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
HTTPCacheService.SetupCacheFolder();
|
||||
HTTPCacheService.LoadLibrary();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE7D RID: 52861 RVA: 0x002F8418 File Offset: 0x002F6618
|
||||
[Token(Token = "0x600CE7D")]
|
||||
[Address(RVA = "0xAA8830", Offset = "0xAA7630", VA = "0x180AA8830")]
|
||||
internal static void SetupCacheFolder()
|
||||
{
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
bool flag = string.IsNullOrEmpty(HTTPCacheService.<CacheFolder>k__BackingField);
|
||||
if (flag || flag)
|
||||
{
|
||||
HTTPCacheService.<CacheFolder>k__BackingField = Path.Combine(HTTPManager.GetRootCacheFolder(), "HTTPCache");
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
HTTPCacheService.<LibraryPath>k__BackingField = Path.Combine(HTTPManager.GetRootCacheFolder(), "Library");
|
||||
}
|
||||
ILogger logger = HTTPManager.Logger;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE7E RID: 52862 RVA: 0x002F8498 File Offset: 0x002F6698
|
||||
[Token(Token = "0x600CE7E")]
|
||||
[Address(RVA = "0xAA68A0", Offset = "0xAA56A0", VA = "0x180AA68A0")]
|
||||
internal static ulong GetNameIdx()
|
||||
{
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
ulong nextNameIDX = HTTPCacheService.NextNameIDX;
|
||||
ulong num = HTTPCacheService.NextNameIDX;
|
||||
num += (ulong)1L;
|
||||
HTTPCacheService.NextNameIDX = num;
|
||||
HTTPCacheService.NextNameIDX = 0UL;
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE7F RID: 52863 RVA: 0x002F84FC File Offset: 0x002F66FC
|
||||
[Token(Token = "0x600CE7F")]
|
||||
[Address(RVA = "0xAA6A90", Offset = "0xAA5890", VA = "0x180AA6A90")]
|
||||
internal static bool HasEntity(Uri uri)
|
||||
{
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE80 RID: 52864 RVA: 0x002F854C File Offset: 0x002F674C
|
||||
[Token(Token = "0x600CE80")]
|
||||
[Address(RVA = "0xAA57D0", Offset = "0xAA45D0", VA = "0x180AA57D0")]
|
||||
public static bool DeleteEntity(Uri uri, bool removeFromLibrary = true)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num2 = 0;
|
||||
object obj = HTTPCacheFileLock.Acquire(uri);
|
||||
Monitor.Enter(obj, num2);
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num3 = 0;
|
||||
Monitor.Enter(dictionary, num2);
|
||||
HTTPCacheService.LoadLibrary();
|
||||
bool flag = HTTPCacheService.library.TryGetValue(uri, num3);
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
if (removeFromLibrary != flag)
|
||||
{
|
||||
bool flag2 = HTTPCacheService.Library.Remove(uri);
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
if (num == 0)
|
||||
{
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
Monitor.Exit(obj);
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE81 RID: 52865 RVA: 0x002F8608 File Offset: 0x002F6808
|
||||
[Token(Token = "0x600CE81")]
|
||||
[Address(RVA = "0xAA6EE0", Offset = "0xAA5CE0", VA = "0x180AA6EE0")]
|
||||
internal static bool IsCachedEntityExpiresInTheFuture(HTTPRequest request)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
goto IL_BB;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
|
||||
Uri currentUri = request.CurrentUri;
|
||||
if (!dictionary2.TryGetValue(currentUri, num2))
|
||||
{
|
||||
}
|
||||
bool flag;
|
||||
if (flag && request.OnUpgraded == (ulong)0L)
|
||||
{
|
||||
if (request.<Callback>k__BackingField == (ulong)(-1L))
|
||||
{
|
||||
OnUploadProgressDelegate onUploadProgress = request.OnUploadProgress;
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
}
|
||||
bool <DisableRetry>k__BackingField = request.<DisableRetry>k__BackingField;
|
||||
int num3 = 0;
|
||||
long num4 = Math.Max(0L, (long)num3);
|
||||
int <MaxFragmentQueueLength>k__BackingField = request.<MaxFragmentQueueLength>k__BackingField;
|
||||
long num5 = Math.Max(num4, (long)<MaxFragmentQueueLength>k__BackingField);
|
||||
DateTime utcNow2 = DateTime.UtcNow;
|
||||
TimeSpan timeSpan;
|
||||
timeSpan += num5;
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
IL_BB:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE82 RID: 52866 RVA: 0x002F86E4 File Offset: 0x002F68E4
|
||||
[Token(Token = "0x600CE82")]
|
||||
[Address(RVA = "0xAA8570", Offset = "0xAA7370", VA = "0x180AA8570")]
|
||||
internal static void SetHeaders(HTTPRequest request)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
bool flag = request.RemoveHeader("If-None-Match");
|
||||
bool flag2 = request.RemoveHeader("If-Modified-Since");
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
|
||||
Uri currentUri = request.CurrentUri;
|
||||
bool flag3;
|
||||
if (dictionary2.TryGetValue(currentUri, num2) && flag3)
|
||||
{
|
||||
int freeList = dictionary2.freeList;
|
||||
if (!flag3)
|
||||
{
|
||||
}
|
||||
IEqualityComparer comparer = dictionary2.comparer;
|
||||
if (!flag3)
|
||||
{
|
||||
}
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600CE83 RID: 52867 RVA: 0x002F878C File Offset: 0x002F698C
|
||||
[Token(Token = "0x600CE83")]
|
||||
[Address(RVA = "0xAA6410", Offset = "0xAA5210", VA = "0x180AA6410")]
|
||||
internal static HTTPCacheFileInfo GetEntity(Uri uri)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
bool flag = HTTPCacheService.library.TryGetValue(uri, num2);
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE84 RID: 52868 RVA: 0x002F87E0 File Offset: 0x002F69E0
|
||||
[Token(Token = "0x600CE84")]
|
||||
[Address(RVA = "0xAA6610", Offset = "0xAA5410", VA = "0x180AA6610")]
|
||||
internal static HTTPResponse GetFullResponse(HTTPRequest request)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
goto IL_4F;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
|
||||
Uri currentUri = request.CurrentUri;
|
||||
if (!dictionary2.TryGetValue(currentUri, num2))
|
||||
{
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
IL_4F:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE85 RID: 52869 RVA: 0x002F8850 File Offset: 0x002F6A50
|
||||
[Token(Token = "0x600CE85")]
|
||||
[Address(RVA = "0xAA6C90", Offset = "0xAA5A90", VA = "0x180AA6C90")]
|
||||
internal static bool IsCacheble(Uri uri, HTTPMethods method, HTTPResponse response)
|
||||
{
|
||||
if (!HTTPCacheService.IsSupported || response == 0 || response.<StatusCode>k__BackingField > 199)
|
||||
{
|
||||
return;
|
||||
}
|
||||
List<string> headerValues = response.GetHeaderValues("cache-control");
|
||||
if (headerValues != 0)
|
||||
{
|
||||
Predicate<string> <>9__30_ = HTTPCacheService.<>c.<>9__30_0;
|
||||
if (<>9__30_ == 0)
|
||||
{
|
||||
HTTPCacheService.<>c.<>9__30_0 = delegate(string headerValue)
|
||||
{
|
||||
string text = headerValue.ToLower();
|
||||
return text.Contains("no-store") || text.Contains("no-cache");
|
||||
};
|
||||
}
|
||||
if (headerValues.Exists(<>9__30_))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
List<string> headerValues2 = response.GetHeaderValues("pragma");
|
||||
if (headerValues2 != 0)
|
||||
{
|
||||
Predicate<string> predicate;
|
||||
if (HTTPCacheService.<>c.<>9__30_1 == 0)
|
||||
{
|
||||
predicate = delegate(string headerValue)
|
||||
{
|
||||
string text2 = headerValue.ToLower();
|
||||
return text2.Contains("no-store") || text2.Contains("no-cache");
|
||||
};
|
||||
HTTPCacheService.<>c.<>9__30_1 = predicate;
|
||||
}
|
||||
if (headerValues2.Exists(predicate))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (response.GetHeaderValues("content-range") == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE86 RID: 52870 RVA: 0x002F8908 File Offset: 0x002F6B08
|
||||
[Token(Token = "0x600CE86")]
|
||||
[Address(RVA = "0xAA8CA0", Offset = "0xAA7AA0", VA = "0x180AA8CA0")]
|
||||
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (response == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
byte[] <Data>k__BackingField = response.<Data>k__BackingField;
|
||||
if (<Data>k__BackingField == 0 || <Data>k__BackingField.Length == num || !HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
|
||||
int num2 = 0;
|
||||
if (!HTTPCacheService.Library.TryGetValue(uri, num2))
|
||||
{
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
|
||||
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
|
||||
dictionary2.Add(uri, httpcacheFileInfo);
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
|
||||
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
|
||||
}
|
||||
int num3 = 0;
|
||||
ILogger logger = HTTPManager.Logger;
|
||||
if (num < num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
ILogger logger2 = HTTPManager.Logger;
|
||||
int hashCode = uri.GetHashCode();
|
||||
string text = string.Format("{0} - Saved to cache", hashCode);
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE87 RID: 52871 RVA: 0x002F8A1C File Offset: 0x002F6C1C
|
||||
[Token(Token = "0x600CE87")]
|
||||
[Address(RVA = "0xAA7A30", Offset = "0xAA6830", VA = "0x180AA7A30")]
|
||||
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
if (!HTTPCacheService.library.TryGetValue(uri, num2))
|
||||
{
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
|
||||
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri);
|
||||
dictionary2.Add(uri, httpcacheFileInfo);
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
|
||||
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE88 RID: 52872 RVA: 0x002F8AC0 File Offset: 0x002F6CC0
|
||||
[Token(Token = "0x600CE88")]
|
||||
[Address(RVA = "0xAA5190", Offset = "0xAA3F90", VA = "0x180AA5190")]
|
||||
public static void BeginClear()
|
||||
{
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
HTTPCacheService.SetupCacheFolder();
|
||||
WaitCallback <>9__33_ = HTTPCacheService.<>c.<>9__33_0;
|
||||
if (<>9__33_ == 0)
|
||||
{
|
||||
HTTPCacheService.<>c.<>9__33_0 = delegate(object param)
|
||||
{
|
||||
HTTPCacheService.ClearImpl(param);
|
||||
};
|
||||
}
|
||||
bool flag = ThreadPool.QueueUserWorkItem(<>9__33_);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE89 RID: 52873 RVA: 0x002F8B08 File Offset: 0x002F6D08
|
||||
[Token(Token = "0x600CE89")]
|
||||
[Address(RVA = "0xAA5500", Offset = "0xAA4300", VA = "0x180AA5500")]
|
||||
private static void ClearImpl(object param)
|
||||
{
|
||||
int num = 0;
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
num++;
|
||||
num++;
|
||||
HTTPCacheService.UsedIndexes.Clear();
|
||||
HTTPCacheService.library.Clear();
|
||||
HTTPCacheService.SaveLibrary();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE8A RID: 52874 RVA: 0x002F8B6C File Offset: 0x002F6D6C
|
||||
[Token(Token = "0x600CE8A")]
|
||||
[Address(RVA = "0xAA5300", Offset = "0xAA4100", VA = "0x180AA5300")]
|
||||
public static void BeginMaintainence(HTTPCacheMaintananceParams maintananceParam)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600CE8A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Caching.HTTPCacheService::BeginMaintainence(BestHTTP.Caching.HTTPCacheMaintananceParams)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3B:
|
||||
stloc:ArgumentNullException(var_4_45, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("maintananceParams == null")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600CE8B RID: 52875 RVA: 0x002F8BC0 File Offset: 0x002F6DC0
|
||||
[Token(Token = "0x600CE8B")]
|
||||
[Address(RVA = "0xAA5F50", Offset = "0xAA4D50", VA = "0x180AA5F50")]
|
||||
public static int GetCacheEntityCount()
|
||||
{
|
||||
int num;
|
||||
int count;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
HTTPCacheService.CheckSetup();
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
count = HTTPCacheService.library.Count;
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
return count;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE8C RID: 52876 RVA: 0x002F8C18 File Offset: 0x002F6E18
|
||||
[Token(Token = "0x600CE8C")]
|
||||
[Address(RVA = "0xAA6130", Offset = "0xAA4F30", VA = "0x180AA6130")]
|
||||
public static ulong GetCacheSize()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
HTTPCacheService.CheckSetup();
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.library;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_51;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
throw new NullReferenceException();
|
||||
IL_51:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE8D RID: 52877 RVA: 0x002F8C7C File Offset: 0x002F6E7C
|
||||
[Token(Token = "0x600CE8D")]
|
||||
[Address(RVA = "0xAA72C0", Offset = "0xAA60C0", VA = "0x180AA72C0")]
|
||||
private static void LoadLibrary()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
return;
|
||||
}
|
||||
HTTPCacheService.library = new Dictionary(new UriComparer());
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
BinaryReader binaryReader;
|
||||
ushort num2 = binaryReader.ReadUInt16();
|
||||
HTTPCacheService.NextNameIDX = (ulong)binaryReader.ReadInt64();
|
||||
ushort num3 = binaryReader.ReadUInt16();
|
||||
Uri uri;
|
||||
if (num < (int)num3)
|
||||
{
|
||||
decimal num4 = binaryReader.ReadDecimal();
|
||||
HTTPCacheFileInfo httpcacheFileInfo = new HTTPCacheFileInfo(uri, binaryReader, (int)num2);
|
||||
if (httpcacheFileInfo.IsExists())
|
||||
{
|
||||
HTTPCacheService.library.Add(uri, httpcacheFileInfo);
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
|
||||
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
|
||||
}
|
||||
num++;
|
||||
}
|
||||
if (binaryReader != 0)
|
||||
{
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_142;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
num++;
|
||||
int num5;
|
||||
if (uri != 0)
|
||||
{
|
||||
num5 = 0;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_142;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
Monitor.Exit(num5);
|
||||
}
|
||||
while (num != 0);
|
||||
HTTPCacheService.DeleteUnusedFiles();
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
HTTPCacheService.SetupCacheFolder();
|
||||
WaitCallback waitCallback;
|
||||
if (HTTPCacheService.<>c.<>9__33_0 == 0)
|
||||
{
|
||||
waitCallback = delegate(object param)
|
||||
{
|
||||
HTTPCacheService.ClearImpl(param);
|
||||
};
|
||||
HTTPCacheService.<>c.<>9__33_0 = waitCallback;
|
||||
}
|
||||
bool flag = ThreadPool.QueueUserWorkItem(waitCallback);
|
||||
}
|
||||
return;
|
||||
IL_142:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE8E RID: 52878 RVA: 0x002F8DD0 File Offset: 0x002F6FD0
|
||||
[Token(Token = "0x600CE8E")]
|
||||
[Address(RVA = "0xAA7D60", Offset = "0xAA6B60", VA = "0x180AA7D60")]
|
||||
internal static void SaveLibrary()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
BinaryWriter binaryWriter;
|
||||
binaryWriter.Write(2);
|
||||
ulong nextNameIDX = HTTPCacheService.NextNameIDX;
|
||||
binaryWriter.Write((long)nextNameIDX);
|
||||
int count = HTTPCacheService.Library.Count;
|
||||
binaryWriter.Write((ushort)count);
|
||||
int num2 = 0;
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
int hashCode = num2.GetHashCode();
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_AE;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
num++;
|
||||
if (binaryWriter != 0)
|
||||
{
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_C0;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
num++;
|
||||
int num3 = 0;
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_C0;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
Monitor.Exit(num3);
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_AE:
|
||||
throw new NullReferenceException();
|
||||
IL_C0:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE8F RID: 52879 RVA: 0x002F8EA4 File Offset: 0x002F70A4
|
||||
[Token(Token = "0x600CE8F")]
|
||||
[Address(RVA = "0xAA8270", Offset = "0xAA7070", VA = "0x180AA8270")]
|
||||
internal static void SetBodyLength(Uri uri, int bodyLength)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (!HTTPCacheService.IsSupported)
|
||||
{
|
||||
break;
|
||||
}
|
||||
HTTPCacheService.LoadLibrary();
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.library;
|
||||
int num2 = 0;
|
||||
HTTPCacheService.LoadLibrary();
|
||||
if (!HTTPCacheService.library.TryGetValue(uri, num2))
|
||||
{
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary2 = HTTPCacheService.Library;
|
||||
DateTime utcNow = DateTime.UtcNow;
|
||||
HTTPCacheFileInfo httpcacheFileInfo;
|
||||
dictionary2.Add(uri, httpcacheFileInfo);
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
ulong <MappedNameIDX>k__BackingField = httpcacheFileInfo.<MappedNameIDX>k__BackingField;
|
||||
usedIndexes.Add(<MappedNameIDX>k__BackingField, httpcacheFileInfo);
|
||||
}
|
||||
Monitor.Exit(dictionary);
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600CE90 RID: 52880 RVA: 0x002F8F48 File Offset: 0x002F7148
|
||||
[Token(Token = "0x600CE90")]
|
||||
[Address(RVA = "0xAA5B40", Offset = "0xAA4940", VA = "0x180AA5B40")]
|
||||
private static void DeleteUnusedFiles()
|
||||
{
|
||||
int num = 0;
|
||||
if (HTTPCacheService.IsSupported)
|
||||
{
|
||||
HTTPCacheService.CheckSetup();
|
||||
IIOService ioservice = HTTPManager.IOService;
|
||||
int num2 = 0;
|
||||
string fileName = Path.GetFileName(num);
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
Dictionary<Uri, HTTPCacheFileInfo> dictionary = HTTPCacheService.Library;
|
||||
Dictionary<ulong, HTTPCacheFileInfo> usedIndexes = HTTPCacheService.UsedIndexes;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
IIOService ioservice2 = HTTPManager.IOService;
|
||||
num2++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04008402 RID: 33794
|
||||
[Token(Token = "0x4008402")]
|
||||
private const int LibraryVersion = 2;
|
||||
|
||||
// Token: 0x04008403 RID: 33795
|
||||
[Token(Token = "0x4008403")]
|
||||
private static bool isSupported;
|
||||
|
||||
// Token: 0x04008404 RID: 33796
|
||||
[Token(Token = "0x4008404")]
|
||||
private static bool IsSupportCheckDone;
|
||||
|
||||
// Token: 0x04008405 RID: 33797
|
||||
[Token(Token = "0x4008405")]
|
||||
private static Dictionary<Uri, HTTPCacheFileInfo> library;
|
||||
|
||||
// Token: 0x04008406 RID: 33798
|
||||
[Token(Token = "0x4008406")]
|
||||
private static Dictionary<ulong, HTTPCacheFileInfo> UsedIndexes = new Dictionary();
|
||||
|
||||
// Token: 0x04008409 RID: 33801
|
||||
[Token(Token = "0x4008409")]
|
||||
private static bool InClearThread;
|
||||
|
||||
// Token: 0x0400840A RID: 33802
|
||||
[Token(Token = "0x400840A")]
|
||||
private static bool InMaintainenceThread;
|
||||
|
||||
// Token: 0x0400840B RID: 33803
|
||||
[Token(Token = "0x400840B")]
|
||||
private static ulong NextNameIDX;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Caching
|
||||
{
|
||||
// Token: 0x02001FC4 RID: 8132
|
||||
[Token(Token = "0x2001FC4")]
|
||||
public sealed class UriComparer : IEqualityComparer<Uri>
|
||||
{
|
||||
// Token: 0x0600CE72 RID: 52850 RVA: 0x002F82E0 File Offset: 0x002F64E0
|
||||
[Token(Token = "0x600CE72")]
|
||||
[Address(RVA = "0x1974D60", Offset = "0x1973B60", VA = "0x181974D60", Slot = "4")]
|
||||
public bool Equals(Uri x, Uri y)
|
||||
{
|
||||
int num;
|
||||
return num == 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE73 RID: 52851 RVA: 0x002F82F4 File Offset: 0x002F64F4
|
||||
[Token(Token = "0x600CE73")]
|
||||
[Address(RVA = "0x1974DE0", Offset = "0x1973BE0", VA = "0x181974DE0", Slot = "5")]
|
||||
public int GetHashCode(Uri uri)
|
||||
{
|
||||
OVRMesh.JAAHPDGFADH jaahpdgfadh = ((OVRMesh.PJPHJNNOBBH)uri.GetHashCode()).POCDCJMHEGL();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE74 RID: 52852 RVA: 0x002F8314 File Offset: 0x002F6514
|
||||
[Token(Token = "0x600CE74")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public UriComparer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user