Files
i2p 773d05f8f1
Pulsar .NET 9.0 Windows Release / build (push) Waiting to run
Mirror to Codeberg and Gitea / mirror (push) Waiting to run
initial commit
2026-08-27 10:57:58 -06:00

45 lines
1.0 KiB
C#

using System;
using System.Net;
namespace Pulsar.Common.DNS
{
/// <summary>
/// WebClient with timeout capability
/// </summary>
internal class TimeoutWebClient : WebClient
{
private readonly int _timeout;
public TimeoutWebClient(int timeout)
{
_timeout = timeout;
this.Proxy = null;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request != null)
{
request.Timeout = _timeout;
}
return request;
}
}
/// <summary>
/// Extension methods for WebClient
/// </summary>
internal static class WebClientExtensions
{
/// <summary>
/// Creates a WebClient with the specified timeout in milliseconds
/// </summary>
public static WebClient WithTimeout(int timeout)
{
return new TimeoutWebClient(timeout);
}
}
}