1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-21 05:13:21 +00:00

Added support for caching GET requests

This commit is contained in:
JKorf
2024-06-13 16:29:02 +02:00
parent 287aadc720
commit 6a105c6f8f
8 changed files with 202 additions and 3 deletions
+16
View File
@@ -331,6 +331,11 @@ namespace CryptoExchange.Net.Objects
/// </summary>
public TimeSpan? ResponseTime { get; set; }
/// <summary>
/// The data source of this result
/// </summary>
public ResultDataSource DataSource { get; set; } = ResultDataSource.Server;
/// <summary>
/// Create a new result
/// </summary>
@@ -417,6 +422,17 @@ namespace CryptoExchange.Net.Objects
return new WebCallResult<K>(ResponseStatusCode, ResponseHeaders, ResponseTime, ResponseLength, OriginalData, RequestId, RequestUrl, RequestBody, RequestMethod, RequestHeaders, default, error);
}
/// <summary>
/// Return a copy of this result with data source set to cache
/// </summary>
/// <returns></returns>
internal WebCallResult<T> Cached()
{
var result = new WebCallResult<T>(ResponseStatusCode, ResponseHeaders, ResponseTime, ResponseLength, OriginalData, RequestId, RequestUrl, RequestBody, RequestMethod, RequestHeaders, default, Error);
result.DataSource = ResultDataSource.Cache;
return result;
}
/// <inheritdoc />
public override string ToString()
{