using Microsoft.AspNetCore.Http; using System.Net; namespace DealerSelection.Common.Logging; public class ResponseInfo { public ResponseInfo(HttpResponse response) { StatusCode = (HttpStatusCode)response.StatusCode; if (IsSuccessStatusCode) IsSuccess = true; else if (StatusCode >= HttpStatusCode.InternalServerError) IsSuccess = false; else IsSuccess = null; TimeStamp = DateTime.Now; } public bool IsSuccessStatusCode => (int)StatusCode >= 200 && (int)StatusCode <= 299; public bool? IsSuccess { get; } public HttpStatusCode StatusCode { get; } public DateTime TimeStamp { get; } public string? ContentBody { get; set; } public string? ContentType { get; set; } public override string ToString() { return $"{nameof(StatusCode)}: {StatusCode}, " + $"{nameof(TimeStamp)}: {TimeStamp}, " + $"{nameof(ContentType)}: {ContentType} " + (string.IsNullOrWhiteSpace(ContentBody)? null : $", {nameof(ContentBody)}: {ContentBody} "); } }