up
This commit is contained in:
62
Assets/BestHTTP/HTTPProxy.cs
Normal file
62
Assets/BestHTTP/HTTPProxy.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
#if !BESTHTTP_DISABLE_PROXY
|
||||
|
||||
using System;
|
||||
using BestHTTP.Authentication;
|
||||
|
||||
namespace BestHTTP
|
||||
{
|
||||
public sealed class HTTPProxy
|
||||
{
|
||||
/// <summary>
|
||||
/// Address of the proxy server. It has to be in the http://proxyaddress:port form.
|
||||
/// </summary>
|
||||
public Uri Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Credentials of the proxy
|
||||
/// </summary>
|
||||
public Credentials Credentials { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// True if the proxy can act as a transparent proxy
|
||||
/// </summary>
|
||||
public bool IsTransparent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Some non-transparent proxies are except only the path and query of the request uri. Default value is true
|
||||
/// </summary>
|
||||
public bool SendWholeUri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Regardless of the value of IsTransparent, for secure protocols(HTTPS://, WSS://) the plugin will use the proxy as an explicit proxy(will issue a CONNECT request to the proxy)
|
||||
/// </summary>
|
||||
public bool NonTransparentForHTTPS { get; set; }
|
||||
|
||||
public HTTPProxy(Uri address)
|
||||
:this(address, null, false)
|
||||
{}
|
||||
|
||||
public HTTPProxy(Uri address, Credentials credentials)
|
||||
:this(address, credentials, false)
|
||||
{}
|
||||
|
||||
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent)
|
||||
:this(address, credentials, isTransparent, true)
|
||||
{ }
|
||||
|
||||
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri)
|
||||
: this(address, credentials, isTransparent, true, true)
|
||||
{ }
|
||||
|
||||
public HTTPProxy(Uri address, Credentials credentials, bool isTransparent, bool sendWholeUri, bool nonTransparentForHTTPS)
|
||||
{
|
||||
this.Address = address;
|
||||
this.Credentials = credentials;
|
||||
this.IsTransparent = isTransparent;
|
||||
this.SendWholeUri = sendWholeUri;
|
||||
this.NonTransparentForHTTPS = nonTransparentForHTTPS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user