Class SessionEventArgs
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.
Implements
Inherited Members
Namespace: Titanium.Web.Proxy.EventArguments
Assembly: Titanium.Web.Proxy.dll
Syntax
public class SessionEventArgs : SessionEventArgsBase, IDisposable
Constructors
SessionEventArgs(ProxyServer, ProxyEndPoint, Request, CancellationTokenSource)
Declaration
protected SessionEventArgs(ProxyServer server, ProxyEndPoint endPoint, Request request, CancellationTokenSource cancellationTokenSource)
Parameters
| Type | Name | Description |
|---|---|---|
| ProxyServer | server | |
| ProxyEndPoint | endPoint | |
| Request | request | |
| CancellationTokenSource | cancellationTokenSource |
Properties
ReRequest
Should we send the request again ?
Declaration
public bool ReRequest { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Methods
Dispose()
Implement any cleanup here
Declaration
public override void Dispose()
Overrides
GenericResponse(Byte[], HttpStatusCode, Dictionary<String, HttpHeader>, Boolean)
Before request is made to server respond with the specified byte[], the specified status to client. And then ignore the request.
Declaration
public void GenericResponse(byte[] result, HttpStatusCode status, Dictionary<string, HttpHeader> headers, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Byte[] | result | The bytes to sent. |
| HttpStatusCode | status | The HTTP status code. |
| Dictionary<String, HttpHeader> | headers | The HTTP headers. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
GenericResponse(String, HttpStatusCode, Dictionary<String, HttpHeader>, Boolean)
Before request is made to server respond with the specified HTML string and the specified status to client. And then ignore the request.
Declaration
public void GenericResponse(string html, HttpStatusCode status, Dictionary<string, HttpHeader> headers = null, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| String | html | The html content. |
| HttpStatusCode | status | The HTTP status code. |
| Dictionary<String, HttpHeader> | headers | The HTTP headers. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
GetRequestBody(CancellationToken)
Gets the request body as bytes.
Declaration
public Task<byte[]> GetRequestBody(CancellationToken cancellationToken = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken | Optional cancellation token for this async task. |
Returns
| Type | Description |
|---|---|
| Task<Byte[]> | The body as bytes. |
GetRequestBodyAsString(CancellationToken)
Gets the request body as string.
Declaration
public Task<string> GetRequestBodyAsString(CancellationToken cancellationToken = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken | Optional cancellation token for this async task. |
Returns
| Type | Description |
|---|---|
| Task<String> | The body as string. |
GetResponseBody(CancellationToken)
Gets the response body as bytes.
Declaration
public Task<byte[]> GetResponseBody(CancellationToken cancellationToken = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken | Optional cancellation token for this async task. |
Returns
| Type | Description |
|---|---|
| Task<Byte[]> | The resulting bytes. |
GetResponseBodyAsString(CancellationToken)
Gets the response body as string.
Declaration
public Task<string> GetResponseBodyAsString(CancellationToken cancellationToken = default(CancellationToken))
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken | Optional cancellation token for this async task. |
Returns
| Type | Description |
|---|---|
| Task<String> | The string body. |
Ok(Byte[], Dictionary<String, HttpHeader>, Boolean)
Before request is made to server respond with the specified byte[] to client and ignore the request.
Declaration
public void Ok(byte[] result, Dictionary<string, HttpHeader> headers = null, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Byte[] | result | The html content bytes. |
| Dictionary<String, HttpHeader> | headers | The HTTP headers. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
Ok(String, Dictionary<String, HttpHeader>, Boolean)
Before request is made to server respond with the specified HTML string to client and ignore the request.
Declaration
public void Ok(string html, Dictionary<string, HttpHeader> headers = null, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| String | html | HTML content to sent. |
| Dictionary<String, HttpHeader> | headers | HTTP response headers. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
Redirect(String, Boolean)
Redirect to provided URL.
Declaration
public void Redirect(string url, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| String | url | The URL to redirect. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
Respond(Response, Boolean)
Respond with given response object to client.
Declaration
public void Respond(Response response, bool closeServerConnection = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Response | response | The response object. |
| Boolean | closeServerConnection | Close the server connection used by request if any? |
SetRequestBody(Byte[])
Sets the request body.
Declaration
public void SetRequestBody(byte[] body)
Parameters
| Type | Name | Description |
|---|---|---|
| Byte[] | body | The request body bytes. |
SetRequestBodyString(String)
Sets the body with the specified string.
Declaration
public void SetRequestBodyString(string body)
Parameters
| Type | Name | Description |
|---|---|---|
| String | body | The request body string to set. |
SetResponseBody(Byte[])
Set the response body bytes.
Declaration
public void SetResponseBody(byte[] body)
Parameters
| Type | Name | Description |
|---|---|---|
| Byte[] | body | The body bytes to set. |
SetResponseBodyString(String)
Replace the response body with the specified string.
Declaration
public void SetResponseBodyString(string body)
Parameters
| Type | Name | Description |
|---|---|---|
| String | body | The body string to set. |
TerminateServerConnection()
Terminate the connection to server at the end of this HTTP request/response session.
Declaration
public void TerminateServerConnection()
Events
MultipartRequestPartSent
Occurs when multipart request part sent.
Declaration
public event EventHandler<MultipartRequestPartSentEventArgs> MultipartRequestPartSent
Event Type
| Type | Description |
|---|---|
| EventHandler<MultipartRequestPartSentEventArgs> |