Class BeforeSslAuthenticateEventArgs
This is used in transparent endpoint before authenticating client.
Inherited Members
Namespace: Titanium.Web.Proxy.EventArguments
Assembly: Titanium.Web.Proxy.dll
Syntax
public class BeforeSslAuthenticateEventArgs : ProxyEventArgsBase
Properties
| Edit this page View SourceAllowHttpProtocolTranslation
Whether the proxy may bridge a mismatch between the client's negotiated HTTP version and the
origin's HTTP version implied by UpstreamHttpProtocol. Defaults to false, in
which case Http11 instead simply never offers "h2" to the
client (so no mismatch, and no translation, is ever needed) and Http2
fails the connection outright if the client does not also support HTTP/2.
Declaration
public bool AllowHttpProtocolTranslation { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
DecryptSsl
Should we decrypt the SSL request? If true we decrypt with fake certificate. If false we relay the connection to the hostname mentioned in SniHostname.
Declaration
public bool DecryptSsl { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
ForwardHttpsHostName
Hostname used as the TCP/TLS forward target for this transparent connection.
Defaults to the SNI hostname from the SSL handshake when available; otherwise the
GenericCertificateName of the transparent endpoint. Used whether or not
DecryptSsl is true. When decrypting, you may still need to adjust the HTTP
request identity (for example e.HttpClient.Request.Url) in BeforeRequest.
Declaration
public string ForwardHttpsHostName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ForwardHttpsPort
Port used as the TCP/TLS forward target for this transparent connection.
Defaults to the standard HTTPS port, 443. Used whether or not DecryptSsl is true.
When decrypting, you may still need to adjust the HTTP request identity in BeforeRequest.
Declaration
public int ForwardHttpsPort { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
SniHostName
The server name indication hostname if available. Otherwise the GenericCertificateName property of TransparentEndPoint.
Declaration
public string SniHostName { get; }
Property Value
| Type | Description |
|---|---|
| string |
UpstreamHttpProtocol
Controls which HTTP version the proxy uses on its own connection to the origin server for this
connection, independent of the HTTP version the client itself negotiates with the proxy. Must be
set during BeforeSslAuthenticate - it is read before the client TLS handshake, and the
client's own ALPN offer/negotiation cannot change afterward. See UpstreamHttpProtocol.
Declaration
public UpstreamHttpProtocol UpstreamHttpProtocol { get; set; }
Property Value
| Type | Description |
|---|---|
| UpstreamHttpProtocol |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | The value is not a defined UpstreamHttpProtocol member. |
Methods
| Edit this page View SourceTerminateSession()
Terminate the request abruptly by closing client/server connections.
Declaration
public void TerminateSession()