|
|
|
|
@ -63,11 +63,15 @@ namespace SparkClient.Model.Services |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="url">请求的完整URL</param> |
|
|
|
|
/// <returns>HTTP响应</returns> |
|
|
|
|
private async Task<HttpSendResult> SendGetRequestAsync(string url) |
|
|
|
|
private async Task<HttpSendResult> SendGetRequestAsync(string url, string sendCode = "") |
|
|
|
|
{ |
|
|
|
|
if (sendCode.IsNullOrEmpty()) |
|
|
|
|
{ |
|
|
|
|
sendCode = url.GenerateSign(); |
|
|
|
|
} |
|
|
|
|
using (var client = new HttpClient()) |
|
|
|
|
{ |
|
|
|
|
Logger.Info($"Request sent to URL: {url}"); |
|
|
|
|
Logger.Info($"[SendCode={sendCode}]Request sent to URL: {url}"); |
|
|
|
|
client.DefaultRequestHeaders.Add("Authorization", "Basic " + _authToken); |
|
|
|
|
client.Timeout = new TimeSpan(0, 0, 30); |
|
|
|
|
HttpResponseMessage result = await client.GetAsync(url); |
|
|
|
|
@ -76,13 +80,13 @@ namespace SparkClient.Model.Services |
|
|
|
|
string responseBody = await result.Content.ReadAsStringAsync(); |
|
|
|
|
int statusCode = (int)result.StatusCode; |
|
|
|
|
// 记录日志 |
|
|
|
|
Logger.Info($"Response: Status={statusCode}, Body={responseBody}"); |
|
|
|
|
Logger.Info($"[SendCode={sendCode}]Response: Status={statusCode}, Body={responseBody}"); |
|
|
|
|
var tempEntity = JsonConvert.DeserializeObject<ResponseStatus>(responseBody); |
|
|
|
|
if (StatusCodes.PreviousTaskIncomplete.Equals(tempEntity.Status)) |
|
|
|
|
{ |
|
|
|
|
Logger.Info($"S009 请求重试"); |
|
|
|
|
await Task.Delay(500); |
|
|
|
|
return await SendGetRequestAsync(url); |
|
|
|
|
return await SendGetRequestAsync(url, sendCode); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return new HttpSendResult() |
|
|
|
|
@ -94,12 +98,14 @@ namespace SparkClient.Model.Services |
|
|
|
|
} |
|
|
|
|
private async Task<HttpResponseMessage> SendGetRequestImageAsync(string url) |
|
|
|
|
{ |
|
|
|
|
string sendCode = url.GenerateSign(); |
|
|
|
|
using (var client = new HttpClient()) |
|
|
|
|
{ |
|
|
|
|
Logger.Info($"Request Image Download URL: {url}"); |
|
|
|
|
Logger.Info($"[SendCode={sendCode}]Request Image Download URL: {url}"); |
|
|
|
|
client.DefaultRequestHeaders.Add("Authorization", "Basic " + _authToken); |
|
|
|
|
return await client.GetAsync(url); |
|
|
|
|
|
|
|
|
|
var data = await client.GetAsync(url); |
|
|
|
|
Logger.Info($"[SendCode={sendCode}]Request Image Downloaded {data.StatusCode}"); |
|
|
|
|
return data; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -250,7 +256,8 @@ namespace SparkClient.Model.Services |
|
|
|
|
{ |
|
|
|
|
var response = await SendGetRequestImageAsync(url); |
|
|
|
|
int status = (int)response.StatusCode; |
|
|
|
|
token.ThrowIfCancellationRequested(); |
|
|
|
|
if(token.IsCancellationRequested) |
|
|
|
|
token.ThrowIfCancellationRequested(); |
|
|
|
|
switch (status) |
|
|
|
|
{ |
|
|
|
|
case 200: |
|
|
|
|
|