Added timing information to CloudflareResponse
This commit is contained in:
@@ -110,6 +110,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -189,16 +190,12 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -210,16 +211,12 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -170,6 +171,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -249,16 +251,12 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
_httpHandlerMock.Responses.Enqueue(new HttpResponseMessage
|
_httpHandlerMock.Responses.Enqueue(new HttpResponseMessage
|
||||||
{
|
{
|
||||||
StatusCode = HttpStatusCode.OK,
|
StatusCode = HttpStatusCode.OK,
|
||||||
Content = new StringContent(@"{""success"": true, ""errors"": [], ""messages"": [], ""result"": { ""string"": ""some-string"", ""integer"": 123 }}", Encoding.UTF8, MediaTypeNames.Application.Json),
|
Content = new StringContent(@"{""success"": true, ""errors"": [], ""messages"": [], ""result"": { ""string"": ""some-string"", ""integer"": 123 }, ""timing"": {""end_time"": ""2014-03-01T12:20:01Z"", ""process_time"": 1, ""start_time"": ""2014-03-01T12:20:00Z""}}", Encoding.UTF8, MediaTypeNames.Application.Json),
|
||||||
});
|
});
|
||||||
|
|
||||||
var client = GetClient();
|
var client = GetClient();
|
||||||
@@ -126,6 +126,11 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.AreEqual("some-string", response.Result.Str);
|
Assert.AreEqual("some-string", response.Result.Str);
|
||||||
Assert.AreEqual(123, response.Result.Int);
|
Assert.AreEqual(123, response.Result.Int);
|
||||||
|
|
||||||
|
Assert.IsNotNull(response.Timing);
|
||||||
|
Assert.AreEqual("01.03.2014 12:20:00", response.Timing.StartTime?.ToString("dd.MM.yyyy HH:mm:ss"));
|
||||||
|
Assert.AreEqual("01.03.2014 12:20:01", response.Timing.EndTime?.ToString("dd.MM.yyyy HH:mm:ss"));
|
||||||
|
Assert.AreEqual(1, response.Timing.ProcessTime);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|
||||||
var callback = _httpHandlerMock.Callbacks.First();
|
var callback = _httpHandlerMock.Callbacks.First();
|
||||||
@@ -170,6 +175,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -221,6 +227,7 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
@@ -297,16 +304,12 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
@@ -379,16 +382,12 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
Assert.IsNull(response.Timing);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|||||||
@@ -297,16 +297,11 @@ namespace Cloudflare.Core.Tests.CloudflareClientTests
|
|||||||
Assert.IsTrue(response.Success);
|
Assert.IsTrue(response.Success);
|
||||||
Assert.IsNotNull(response.Errors);
|
Assert.IsNotNull(response.Errors);
|
||||||
Assert.IsNotNull(response.Messages);
|
Assert.IsNotNull(response.Messages);
|
||||||
Assert.IsNotNull(response.ResultInfo);
|
Assert.IsNull(response.ResultInfo);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.Errors.Count);
|
Assert.AreEqual(0, response.Errors.Count);
|
||||||
Assert.AreEqual(0, response.Messages.Count);
|
Assert.AreEqual(0, response.Messages.Count);
|
||||||
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Count);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.Page);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.PerPage);
|
|
||||||
Assert.AreEqual(0, response.ResultInfo.TotalCount);
|
|
||||||
|
|
||||||
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
Assert.AreEqual("This is an awesome text ;-)", response.Result);
|
||||||
|
|
||||||
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
Assert.AreEqual(1, _httpHandlerMock.Callbacks.Count);
|
||||||
|
|||||||
@@ -248,7 +248,6 @@ namespace AMWD.Net.Api.Cloudflare
|
|||||||
return new CloudflareResponse<TRes>
|
return new CloudflareResponse<TRes>
|
||||||
{
|
{
|
||||||
Success = true,
|
Success = true,
|
||||||
ResultInfo = new PaginationInfo(),
|
|
||||||
Result = (TRes)cObj,
|
Result = (TRes)cObj,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,20 +5,9 @@ namespace AMWD.Net.Api.Cloudflare
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The base Cloudflare response.
|
/// The base Cloudflare response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CloudflareResponse
|
/// <typeparam name="T">The result type.</typeparam>
|
||||||
|
public class CloudflareResponse<T>
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Information about the result of the request.
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("result_info")]
|
|
||||||
public PaginationInfo? ResultInfo { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Whether the API call was successful.
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("success")]
|
|
||||||
public bool Success { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Errors returned by the API call.
|
/// Errors returned by the API call.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -30,18 +19,29 @@ namespace AMWD.Net.Api.Cloudflare
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("messages")]
|
[JsonProperty("messages")]
|
||||||
public IReadOnlyList<ResponseInfo> Messages { get; set; } = [];
|
public IReadOnlyList<ResponseInfo> Messages { get; set; } = [];
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The base Cloudflare response with a result.
|
/// Whether the API call was successful.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">The result type.</typeparam>
|
[JsonProperty("success")]
|
||||||
public class CloudflareResponse<T> : CloudflareResponse
|
public bool Success { get; set; }
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The result of the API call.
|
/// The result of the API call.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("result")]
|
[JsonProperty("result")]
|
||||||
public T? Result { get; set; }
|
public T? Result { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Information about the result of the request.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("result_info")]
|
||||||
|
public PaginationInfo? ResultInfo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Information about the processing time of a request.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("timing")]
|
||||||
|
public RecordProcessTiming? Timing { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,5 +28,11 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("total_count")]
|
[JsonProperty("total_count")]
|
||||||
public int TotalCount { get; set; }
|
public int TotalCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Total number of pages of results.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("total_pages")]
|
||||||
|
public int TotalPages { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
28
Cloudflare/Responses/RecordProcessTiming.cs
Normal file
28
Cloudflare/Responses/RecordProcessTiming.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace AMWD.Net.Api.Cloudflare
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Information about the processing time of a file.
|
||||||
|
/// </summary>
|
||||||
|
public class RecordProcessTiming
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// When the file parsing ended.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("end_time")]
|
||||||
|
public DateTime? EndTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Processing time of the file in seconds.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("process_time")]
|
||||||
|
public int? ProcessTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// When the file parsing started.
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("start_time")]
|
||||||
|
public DateTime? StartTime { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user