应用Timeout
This commit is contained in:
parent
1dead3f801
commit
5c7145c056
@ -21,7 +21,6 @@ namespace FastGithub.Http
|
|||||||
{
|
{
|
||||||
private readonly DomainConfig domainConfig;
|
private readonly DomainConfig domainConfig;
|
||||||
private readonly IDomainResolver domainResolver;
|
private readonly IDomainResolver domainResolver;
|
||||||
private readonly TimeSpan defaltTimeout = TimeSpan.FromMinutes(2d);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// HttpClientHandler
|
/// HttpClientHandler
|
||||||
@ -76,11 +75,18 @@ namespace FastGithub.Http
|
|||||||
}
|
}
|
||||||
request.RequestUri = uriBuilder.Uri;
|
request.RequestUri = uriBuilder.Uri;
|
||||||
|
|
||||||
using var timeoutTokenSource = new CancellationTokenSource(this.domainConfig.Timeout ?? defaltTimeout);
|
|
||||||
using var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutTokenSource.Token);
|
|
||||||
return await base.SendAsync(request, cancellationToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (this.domainConfig.Timeout != null)
|
||||||
|
{
|
||||||
|
using var timeoutTokenSource = new CancellationTokenSource(this.domainConfig.Timeout.Value);
|
||||||
|
using var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutTokenSource.Token);
|
||||||
|
return await base.SendAsync(request, linkedTokenSource.Token);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return await base.SendAsync(request, cancellationToken);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建转发代理的httpHandler
|
/// 创建转发代理的httpHandler
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user