Show / Hide Table of Contents

# Class SessionEventArgsBase

Holds info related to a single proxy session (single request/response sequence). A proxy session is bounded to a single connection from client. A proxy session ends when client terminates connection to proxy or when server terminates connection from proxy.

##### Inheritance

Object
SessionEventArgsBase
SessionEventArgs
TunnelConnectSessionEventArgs

##### Implements

IDisposable

###### Namespace: Titanium.Web.Proxy.EventArguments

###### Assembly: Titanium.Web.Proxy.dll

##### Syntax

    public abstract class SessionEventArgsBase : ProxyEventArgsBase, IDisposable

### Fields

| Improve this Doc View Source

#### BufferPool

##### Declaration

    protected readonly IBufferPool BufferPool

##### Field Value

Type | Description
--- | ---
IBufferPool |

| Improve this Doc View Source

#### ExceptionFunc

##### Declaration

    protected readonly ExceptionHandler ExceptionFunc

##### Field Value

Type | Description
--- | ---
ExceptionHandler |

### Properties

| Improve this Doc View Source

#### ClientConnectionId

##### Declaration

    public Guid ClientConnectionId { get; }

##### Property Value

Type | Description
--- | ---
Guid |

| Improve this Doc View Source

#### ClientEndPoint

##### Declaration

    [Obsolete("Use ClientRemoteEndPoint instead.")]
    public IPEndPoint ClientEndPoint { get; }

##### Property Value

Type | Description
--- | ---
IPEndPoint |

| Improve this Doc View Source

#### ClientLocalEndPoint

Client Local End Point.

##### Declaration

    public IPEndPoint ClientLocalEndPoint { get; }

##### Property Value

Type | Description
--- | ---
IPEndPoint |

| Improve this Doc View Source

#### ClientRemoteEndPoint

Client Remote End Point.

##### Declaration

    public IPEndPoint ClientRemoteEndPoint { get; }

##### Property Value

Type | Description
--- | ---
IPEndPoint |

| Improve this Doc View Source

#### CustomUpStreamProxy

Gets or sets the custom up stream proxy.

##### Declaration

    public IExternalProxy? CustomUpStreamProxy { get; set; }

##### Property Value

Type | Description
--- | ---
Nullable<IExternalProxy> | The custom up stream proxy.

| Improve this Doc View Source

#### CustomUpStreamProxyUsed

Are we using a custom upstream HTTP(S) proxy?

##### Declaration

    public IExternalProxy? CustomUpStreamProxyUsed { get; }

##### Property Value

Type | Description
--- | ---
Nullable<IExternalProxy> |

| Improve this Doc View Source

#### EnableWinAuth

Enable/disable Windows Authentication (NTLM/Kerberos) for the current session.

##### Declaration

    public bool EnableWinAuth { get; set; }

##### Property Value

Type | Description
--- | ---
Boolean |

| Improve this Doc View Source

#### Exception

The last exception that happened.

##### Declaration

    public Exception Exception { get; }

##### Property Value

Type | Description
--- | ---
Exception |

| Improve this Doc View Source

#### HttpClient

The web client used to communicate with server for this session.

##### Declaration

    public HttpWebClient HttpClient { get; }

##### Property Value

Type | Description
--- | ---
HttpWebClient |

| Improve this Doc View Source

#### IsHttps

Does this session uses SSL?

##### Declaration

    public bool IsHttps { get; }

##### Property Value

Type | Description
--- | ---
Boolean |

| Improve this Doc View Source

#### IsSocks

Is this a SOCKS endpoint?

##### Declaration

    public bool IsSocks { get; }

##### Property Value

Type | Description
--- | ---
Boolean |

| Improve this Doc View Source

#### IsTransparent

Is this a transparent endpoint?

##### Declaration

    public bool IsTransparent { get; }

##### Property Value

Type | Description
--- | ---
Boolean |

| Improve this Doc View Source

#### LocalEndPoint

##### Declaration

    [Obsolete("Use ProxyEndPoint instead.")]
    public ProxyEndPoint LocalEndPoint { get; }

##### Property Value

Type | Description
--- | ---
ProxyEndPoint |

| Improve this Doc View Source

#### ProxyEndPoint

Local endpoint via which we make the request.

##### Declaration

    public ProxyEndPoint ProxyEndPoint { get; }

##### Property Value

Type | Description
--- | ---
ProxyEndPoint |

| Improve this Doc View Source

#### ServerConnectionId

##### Declaration

    public Guid ServerConnectionId { get; }

##### Property Value

Type | Description
--- | ---
Guid |

| Improve this Doc View Source

#### TimeLine

Relative milliseconds for various events.

##### Declaration

    public Dictionary<string, DateTime> TimeLine { get; }

##### Property Value

Type | Description
--- | ---
Dictionary<String, DateTime> |

| Improve this Doc View Source

#### UserData

Returns a user data for this request/response session which is same as the user data of HttpClient.

##### Declaration

    public object UserData { get; set; }

##### Property Value

Type | Description
--- | ---
Object |

| Improve this Doc View Source

#### WebSession

##### Declaration

    [Obsolete("Use HttpClient instead.")]
    public HttpWebClient WebSession { get; }

##### Property Value

Type | Description
--- | ---
HttpWebClient |

### Methods

| Improve this Doc View Source

#### Dispose()

Implements cleanup here.

##### Declaration

    public virtual void Dispose()

| Improve this Doc View Source

#### TerminateSession()

Terminates the session abruptly by terminating client/server connections.

##### Declaration

    public void TerminateSession()

### Events

| Improve this Doc View Source

#### DataReceived

Fired when data is received within this session from client/server.

##### Declaration

    public event EventHandler<DataEventArgs> DataReceived

##### Event Type

Type | Description
--- | ---
EventHandler<DataEventArgs> |

| Improve this Doc View Source

#### DataSent

Fired when data is sent within this session to server/client.

##### Declaration

    public event EventHandler<DataEventArgs> DataSent

##### Event Type

Type | Description
--- | ---
EventHandler<DataEventArgs> |

### Implements

System.IDisposable