From f2076892c676ba5e8ca1627e9984da1f75612b26 Mon Sep 17 00:00:00 2001 From: Honfika Date: Sat, 25 Apr 2020 17:10:03 +0200 Subject: [PATCH 1/5] Throw better exception when response has no body and the user want to read it. --- src/Titanium.Web.Proxy/Http/Response.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Titanium.Web.Proxy/Http/Response.cs b/src/Titanium.Web.Proxy/Http/Response.cs index 99c64dfef..2ba304eb3 100644 --- a/src/Titanium.Web.Proxy/Http/Response.cs +++ b/src/Titanium.Web.Proxy/Http/Response.cs @@ -1,5 +1,6 @@ using System; using System.ComponentModel; +using Titanium.Web.Proxy.Exceptions; using Titanium.Web.Proxy.Extensions; using Titanium.Web.Proxy.Models; @@ -118,6 +119,11 @@ internal override void EnsureBodyAvailable(bool throwWhenNotReadYet = true) return; } + if (!HasBody) + { + throw new BodyNotFoundException("Response don't have a body."); + } + if (!IsBodyRead && throwWhenNotReadYet) { throw new Exception("Response body is not read yet. " + From e02752d3092e54faee913606f207643ed510dc2e Mon Sep 17 00:00:00 2001 From: buildbot171 Date: Sat, 25 Apr 2020 15:11:55 +0000 Subject: [PATCH 2/5] API documentation update by build server --- docs/api/Titanium.Web.Proxy.Http.Response.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/api/Titanium.Web.Proxy.Http.Response.html b/docs/api/Titanium.Web.Proxy.Http.Response.html index dbc95d536..d150713b4 100644 --- a/docs/api/Titanium.Web.Proxy.Http.Response.html +++ b/docs/api/Titanium.Web.Proxy.Http.Response.html @@ -170,7 +170,7 @@

Constructors Improve this Doc - View Source + View Source

Response()

@@ -186,7 +186,7 @@
Declaration
Improve this Doc - View Source + View Source

Response(Byte[])

@@ -221,7 +221,7 @@

Properties Improve this Doc - View Source + View Source

HasBody

@@ -254,7 +254,7 @@
Overrides
Improve this Doc - View Source + View Source

HeaderText

@@ -287,7 +287,7 @@
Overrides
Improve this Doc - View Source + View Source

KeepAlive

@@ -318,7 +318,7 @@
Property Value
Improve this Doc - View Source + View Source

StatusCode

@@ -349,7 +349,7 @@
Property Value
Improve this Doc - View Source + View Source

StatusDescription

@@ -386,7 +386,7 @@
Property Value
Improve this Doc
  • - View Source + View Source
  • From 5f442f07c459fcc71a737e39d11e8894bd204a76 Mon Sep 17 00:00:00 2001 From: Honfika Date: Fri, 1 May 2020 10:06:44 +0200 Subject: [PATCH 3/5] Allow to pass IEnumerable to Respond methods. --- .../EventArguments/SessionEventArgs.cs | 63 +++++++++++++++++-- .../Http/HeaderCollection.cs | 9 ++- 2 files changed, 63 insertions(+), 9 deletions(-) diff --git a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs index 278c3ffce..1f0cbde99 100644 --- a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs +++ b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs @@ -469,7 +469,20 @@ public void SetResponseBodyString(string body) /// HTML content to sent. /// HTTP response headers. /// Close the server connection used by request if any? - public void Ok(string html, Dictionary? headers = null, + public void Ok(string html, IDictionary? headers = null, + bool closeServerConnection = false) + { + Ok(html, headers?.Values, closeServerConnection); + } + + /// + /// Before request is made to server respond with the specified HTML string to client + /// and ignore the request. + /// + /// HTML content to sent. + /// HTTP response headers. + /// Close the server connection used by request if any? + public void Ok(string html, IEnumerable? headers = null, bool closeServerConnection = false) { var response = new OkResponse(); @@ -491,7 +504,20 @@ public void Ok(string html, Dictionary? headers = null, /// The html content bytes. /// The HTTP headers. /// Close the server connection used by request if any? - public void Ok(byte[] result, Dictionary? headers = null, + public void Ok(byte[] result, IDictionary? headers = null, + bool closeServerConnection = false) + { + Ok(result, headers?.Values, closeServerConnection); + } + + /// + /// Before request is made to server respond with the specified byte[] to client + /// and ignore the request. + /// + /// The html content bytes. + /// The HTTP headers. + /// Close the server connection used by request if any? + public void Ok(byte[] result, IEnumerable? headers = null, bool closeServerConnection = false) { var response = new OkResponse(); @@ -512,7 +538,22 @@ public void Ok(byte[] result, Dictionary? headers = null, /// The HTTP headers. /// Close the server connection used by request if any? public void GenericResponse(string html, HttpStatusCode status, - Dictionary? headers = null, bool closeServerConnection = false) + IDictionary? headers = null, bool closeServerConnection = false) + { + GenericResponse(html, status, headers?.Values, closeServerConnection); + } + + /// + /// Before request is made to server  + /// respond with the specified HTML string and the specified status to client. + /// And then ignore the request.  + /// + /// The html content. + /// The HTTP status code. + /// The HTTP headers. + /// Close the server connection used by request if any? + public void GenericResponse(string html, HttpStatusCode status, + IEnumerable? headers = null, bool closeServerConnection = false) { var response = new GenericResponse(status); response.HttpVersion = HttpClient.Request.HttpVersion; @@ -531,7 +572,21 @@ public void GenericResponse(string html, HttpStatusCode status, /// The HTTP headers. /// Close the server connection used by request if any? public void GenericResponse(byte[] result, HttpStatusCode status, - Dictionary headers, bool closeServerConnection = false) + IDictionary headers, bool closeServerConnection = false) + { + GenericResponse(result, status, headers?.Values, closeServerConnection); + } + + /// + /// Before request is made to server respond with the specified byte[], + /// the specified status to client. And then ignore the request. + /// + /// The bytes to sent. + /// The HTTP status code. + /// The HTTP headers. + /// Close the server connection used by request if any? + public void GenericResponse(byte[] result, HttpStatusCode status, + IEnumerable? headers, bool closeServerConnection = false) { var response = new GenericResponse(status); response.HttpVersion = HttpClient.Request.HttpVersion; diff --git a/src/Titanium.Web.Proxy/Http/HeaderCollection.cs b/src/Titanium.Web.Proxy/Http/HeaderCollection.cs index ff48e9d29..f22944402 100644 --- a/src/Titanium.Web.Proxy/Http/HeaderCollection.cs +++ b/src/Titanium.Web.Proxy/Http/HeaderCollection.cs @@ -160,16 +160,15 @@ internal void AddHeader(KnownHeader name, KnownHeader value) public void AddHeader(HttpHeader newHeader) { // if header exist in non-unique header collection add it there - if (nonUniqueHeaders.ContainsKey(newHeader.Name)) + if (nonUniqueHeaders.TryGetValue(newHeader.Name, out var list)) { - nonUniqueHeaders[newHeader.Name].Add(newHeader); + list.Add(newHeader); return; } // if header is already in unique header collection then move both to non-unique collection - if (headers.ContainsKey(newHeader.Name)) + if (headers.TryGetValue(newHeader.Name, out var existing)) { - var existing = headers[newHeader.Name]; headers.Remove(newHeader.Name); nonUniqueHeaders.Add(newHeader.Name, new List @@ -189,7 +188,7 @@ public void AddHeader(HttpHeader newHeader) /// Adds the given header objects to Request /// /// - public void AddHeaders(IEnumerable newHeaders) + public void AddHeaders(IEnumerable? newHeaders) { if (newHeaders == null) { From 73314825eb4a37b6ad907536bac8f060af786543 Mon Sep 17 00:00:00 2001 From: Honfika Date: Fri, 1 May 2020 10:19:31 +0200 Subject: [PATCH 4/5] test fix --- src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs index 1f0cbde99..9da967765 100644 --- a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs +++ b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs @@ -469,7 +469,7 @@ public void SetResponseBodyString(string body) /// HTML content to sent. /// HTTP response headers. /// Close the server connection used by request if any? - public void Ok(string html, IDictionary? headers = null, + public void Ok(string html, IDictionary? headers, bool closeServerConnection = false) { Ok(html, headers?.Values, closeServerConnection); @@ -504,7 +504,7 @@ public void Ok(string html, IEnumerable? headers = null, /// The html content bytes. /// The HTTP headers. /// Close the server connection used by request if any? - public void Ok(byte[] result, IDictionary? headers = null, + public void Ok(byte[] result, IDictionary? headers, bool closeServerConnection = false) { Ok(result, headers?.Values, closeServerConnection); @@ -538,7 +538,7 @@ public void Ok(byte[] result, IEnumerable? headers = null, /// The HTTP headers. /// Close the server connection used by request if any? public void GenericResponse(string html, HttpStatusCode status, - IDictionary? headers = null, bool closeServerConnection = false) + IDictionary? headers, bool closeServerConnection = false) { GenericResponse(html, status, headers?.Values, closeServerConnection); } From c55719633236af12d444ff35165ec03c2aecf329 Mon Sep 17 00:00:00 2001 From: buildbot171 Date: Fri, 1 May 2020 08:21:16 +0000 Subject: [PATCH 5/5] API documentation update by build server --- ...Proxy.EventArguments.SessionEventArgs.html | 247 ++++++++++++++++-- ...anium.Web.Proxy.Http.HeaderCollection.html | 14 +- docs/index.json | 2 +- docs/xrefmap.yml | 108 +++++--- 4 files changed, 304 insertions(+), 67 deletions(-) diff --git a/docs/api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html b/docs/api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html index 200103068..7ce6a491c 100644 --- a/docs/api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html +++ b/docs/api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html @@ -339,7 +339,7 @@

    Methods Improve this Doc - View Source + View Source

    Dispose()

    @@ -354,20 +354,20 @@
    Overrides
    | - Improve this Doc + Improve this Doc - View Source + View Source -

    GenericResponse(Byte[], HttpStatusCode, Dictionary<String, HttpHeader>, Boolean)

    +

    GenericResponse(Byte[], HttpStatusCode, IDictionary<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)
    +
    public void GenericResponse(byte[] result, HttpStatusCode status, IDictionary<string, HttpHeader> headers, bool closeServerConnection = false)
    Parameters
    @@ -392,7 +392,7 @@
    Parameters
    - + @@ -407,13 +407,66 @@
    Parameters
    Dictionary<String, HttpHeader>IDictionary<String, HttpHeader> headers

    The HTTP headers.

    | - Improve this Doc + Improve this Doc - View Source + View Source -

    GenericResponse(String, HttpStatusCode, Dictionary<String, HttpHeader>, Boolean)

    +

    GenericResponse(Byte[], HttpStatusCode, IEnumerable<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, IEnumerable<HttpHeader> headers, bool closeServerConnection = false)
    +
    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescription
    Byte[]result

    The bytes to sent.

    +
    HttpStatusCodestatus

    The HTTP status code.

    +
    IEnumerable<HttpHeader>headers

    The HTTP headers.

    +
    BooleancloseServerConnection

    Close the server connection used by request if any?

    +
    + + | + Improve this Doc + + + View Source + + +

    GenericResponse(String, HttpStatusCode, IDictionary<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.

    @@ -421,7 +474,7 @@

    Declaration
    -
    public void GenericResponse(string html, HttpStatusCode status, Dictionary<string, HttpHeader> headers = null, bool closeServerConnection = false)
    +
    public void GenericResponse(string html, HttpStatusCode status, IDictionary<string, HttpHeader> headers, bool closeServerConnection = false)
    Parameters
    @@ -446,7 +499,61 @@
    Parameters
    - + + + + + + + + + + +
    Dictionary<String, HttpHeader>IDictionary<String, HttpHeader>headers

    The HTTP headers.

    +
    BooleancloseServerConnection

    Close the server connection used by request if any?

    +
    + + | + Improve this Doc + + + View Source + + +

    GenericResponse(String, HttpStatusCode, IEnumerable<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, IEnumerable<HttpHeader> headers = null, bool closeServerConnection = false)
    +
    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + @@ -661,20 +768,67 @@
    Returns
    TypeNameDescription
    Stringhtml

    The html content.

    +
    HttpStatusCodestatus

    The HTTP status code.

    +
    IEnumerable<HttpHeader> headers

    The HTTP headers.

    | - Improve this Doc + Improve this Doc + + + View Source + + +

    Ok(Byte[], IDictionary<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, IDictionary<string, HttpHeader> headers, bool closeServerConnection = false)
    +
    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescription
    Byte[]result

    The html content bytes.

    +
    IDictionary<String, HttpHeader>headers

    The HTTP headers.

    +
    BooleancloseServerConnection

    Close the server connection used by request if any?

    +
    + + | + Improve this Doc - View Source + View Source -

    Ok(Byte[], Dictionary<String, HttpHeader>, Boolean)

    +

    Ok(Byte[], IEnumerable<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)
    +
    public void Ok(byte[] result, IEnumerable<HttpHeader> headers = null, bool closeServerConnection = false)
    Parameters
    @@ -693,7 +847,7 @@
    Parameters
    - + @@ -708,20 +862,67 @@
    Parameters
    Dictionary<String, HttpHeader>IEnumerable<HttpHeader> headers

    The HTTP headers.

    | - Improve this Doc + Improve this Doc View Source -

    Ok(String, Dictionary<String, HttpHeader>, Boolean)

    +

    Ok(String, IDictionary<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, IDictionary<string, HttpHeader> headers, bool closeServerConnection = false)
    +
    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeNameDescription
    Stringhtml

    HTML content to sent.

    +
    IDictionary<String, HttpHeader>headers

    HTTP response headers.

    +
    BooleancloseServerConnection

    Close the server connection used by request if any?

    +
    + + | + Improve this Doc + + + View Source + + +

    Ok(String, IEnumerable<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)
    +
    public void Ok(string html, IEnumerable<HttpHeader> headers = null, bool closeServerConnection = false)
    Parameters
    @@ -740,7 +941,7 @@
    Parameters
    - + @@ -758,7 +959,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    Redirect(String, Boolean)

    @@ -798,7 +999,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    Respond(Response, Boolean)

    @@ -974,7 +1175,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    TerminateServerConnection()

    diff --git a/docs/api/Titanium.Web.Proxy.Http.HeaderCollection.html b/docs/api/Titanium.Web.Proxy.Http.HeaderCollection.html index def6dfea6..b7b006b6a 100644 --- a/docs/api/Titanium.Web.Proxy.Http.HeaderCollection.html +++ b/docs/api/Titanium.Web.Proxy.Http.HeaderCollection.html @@ -287,7 +287,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    AddHeaders(IEnumerable<KeyValuePair<String, String>>)

    @@ -320,7 +320,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    AddHeaders(IEnumerable<KeyValuePair<String, HttpHeader>>)

    @@ -353,7 +353,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    AddHeaders(IEnumerable<HttpHeader>)

    @@ -386,7 +386,7 @@
    Parameters
    Improve this Doc - View Source + View Source

    Clear()

    @@ -609,7 +609,7 @@
    Returns
    Improve this Doc - View Source + View Source

    RemoveHeader(KnownHeader)

    @@ -659,7 +659,7 @@
    Returns
    Improve this Doc - View Source + View Source

    RemoveHeader(String)

    @@ -709,7 +709,7 @@
    Returns
    Improve this Doc - View Source + View Source

    RemoveHeader(HttpHeader)

    diff --git a/docs/index.json b/docs/index.json index d38e9c7c6..117026369 100644 --- a/docs/index.json +++ b/docs/index.json @@ -32,7 +32,7 @@ "api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html": { "href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html", "title": "Class SessionEventArgs | Titanium Web Proxy", - "keywords": "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. Inheritance Object SessionEventArgsBase SessionEventArgs Implements IDisposable Inherited Members SessionEventArgsBase.ClientConnectionId SessionEventArgsBase.ServerConnectionId SessionEventArgsBase.BufferPool SessionEventArgsBase.ExceptionFunc SessionEventArgsBase.TimeLine SessionEventArgsBase.UserData SessionEventArgsBase.EnableWinAuth SessionEventArgsBase.IsHttps SessionEventArgsBase.ClientLocalEndPoint SessionEventArgsBase.ClientRemoteEndPoint SessionEventArgsBase.ClientEndPoint SessionEventArgsBase.HttpClient SessionEventArgsBase.WebSession SessionEventArgsBase.CustomUpStreamProxy SessionEventArgsBase.CustomUpStreamProxyUsed SessionEventArgsBase.ProxyEndPoint SessionEventArgsBase.LocalEndPoint SessionEventArgsBase.IsTransparent SessionEventArgsBase.IsSocks SessionEventArgsBase.Exception SessionEventArgsBase.DataSent SessionEventArgsBase.DataReceived SessionEventArgsBase.TerminateSession() Namespace : Titanium.Web.Proxy.EventArguments Assembly : Titanium.Web.Proxy.dll Syntax public class SessionEventArgs : SessionEventArgsBase, IDisposable Properties | Improve this Doc View Source IsPromise Is this session a HTTP/2 promise? Declaration public bool IsPromise { get; } Property Value Type Description Boolean | Improve this Doc View Source ReRequest Should we send the request again ? Declaration public bool ReRequest { get; set; } Property Value Type Description Boolean | Improve this Doc View Source WebSocketDecoder Declaration [Obsolete(\"Use [WebSocketDecoderReceive] instead\")] public WebSocketDecoder WebSocketDecoder { get; } Property Value Type Description WebSocketDecoder | Improve this Doc View Source WebSocketDecoderReceive Declaration public WebSocketDecoder WebSocketDecoderReceive { get; } Property Value Type Description WebSocketDecoder | Improve this Doc View Source WebSocketDecoderSend Declaration public WebSocketDecoder WebSocketDecoderSend { get; } Property Value Type Description WebSocketDecoder Methods | Improve this Doc View Source Dispose() Implement any cleanup here Declaration public override void Dispose() Overrides SessionEventArgsBase.Dispose() | Improve this Doc View Source GenericResponse(Byte[], HttpStatusCode, Dictionary, 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 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? | Improve this Doc View Source GenericResponse(String, HttpStatusCode, Dictionary, 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 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? | Improve this Doc View Source GetRequestBody(CancellationToken) Gets the request body as bytes. Declaration public Task 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. | Improve this Doc View Source GetRequestBodyAsString(CancellationToken) Gets the request body as string. Declaration public Task 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. | Improve this Doc View Source GetResponseBody(CancellationToken) Gets the response body as bytes. Declaration public Task 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. | Improve this Doc View Source GetResponseBodyAsString(CancellationToken) Gets the response body as string. Declaration public Task 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. | Improve this Doc View Source Ok(Byte[], Dictionary, 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 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? | Improve this Doc View Source Ok(String, Dictionary, 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 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? | Improve this Doc View Source 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? | Improve this Doc View Source 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? | Improve this Doc View Source SetRequestBody(Byte[]) Sets the request body. Declaration public void SetRequestBody(byte[] body) Parameters Type Name Description Byte [] body The request body bytes. | Improve this Doc View Source 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. | Improve this Doc View Source SetResponseBody(Byte[]) Set the response body bytes. Declaration public void SetResponseBody(byte[] body) Parameters Type Name Description Byte [] body The body bytes to set. | Improve this Doc View Source 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. | Improve this Doc View Source TerminateServerConnection() Terminate the connection to server at the end of this HTTP request/response session. Declaration public void TerminateServerConnection() Events | Improve this Doc View Source MultipartRequestPartSent Occurs when multipart request part sent. Declaration public event EventHandler MultipartRequestPartSent Event Type Type Description EventHandler < MultipartRequestPartSentEventArgs > Implements System.IDisposable" + "keywords": "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. Inheritance Object SessionEventArgsBase SessionEventArgs Implements IDisposable Inherited Members SessionEventArgsBase.ClientConnectionId SessionEventArgsBase.ServerConnectionId SessionEventArgsBase.BufferPool SessionEventArgsBase.ExceptionFunc SessionEventArgsBase.TimeLine SessionEventArgsBase.UserData SessionEventArgsBase.EnableWinAuth SessionEventArgsBase.IsHttps SessionEventArgsBase.ClientLocalEndPoint SessionEventArgsBase.ClientRemoteEndPoint SessionEventArgsBase.ClientEndPoint SessionEventArgsBase.HttpClient SessionEventArgsBase.WebSession SessionEventArgsBase.CustomUpStreamProxy SessionEventArgsBase.CustomUpStreamProxyUsed SessionEventArgsBase.ProxyEndPoint SessionEventArgsBase.LocalEndPoint SessionEventArgsBase.IsTransparent SessionEventArgsBase.IsSocks SessionEventArgsBase.Exception SessionEventArgsBase.DataSent SessionEventArgsBase.DataReceived SessionEventArgsBase.TerminateSession() Namespace : Titanium.Web.Proxy.EventArguments Assembly : Titanium.Web.Proxy.dll Syntax public class SessionEventArgs : SessionEventArgsBase, IDisposable Properties | Improve this Doc View Source IsPromise Is this session a HTTP/2 promise? Declaration public bool IsPromise { get; } Property Value Type Description Boolean | Improve this Doc View Source ReRequest Should we send the request again ? Declaration public bool ReRequest { get; set; } Property Value Type Description Boolean | Improve this Doc View Source WebSocketDecoder Declaration [Obsolete(\"Use [WebSocketDecoderReceive] instead\")] public WebSocketDecoder WebSocketDecoder { get; } Property Value Type Description WebSocketDecoder | Improve this Doc View Source WebSocketDecoderReceive Declaration public WebSocketDecoder WebSocketDecoderReceive { get; } Property Value Type Description WebSocketDecoder | Improve this Doc View Source WebSocketDecoderSend Declaration public WebSocketDecoder WebSocketDecoderSend { get; } Property Value Type Description WebSocketDecoder Methods | Improve this Doc View Source Dispose() Implement any cleanup here Declaration public override void Dispose() Overrides SessionEventArgsBase.Dispose() | Improve this Doc View Source GenericResponse(Byte[], HttpStatusCode, IDictionary, 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, IDictionary headers, bool closeServerConnection = false) Parameters Type Name Description Byte [] result The bytes to sent. HttpStatusCode status The HTTP status code. IDictionary < String , HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source GenericResponse(Byte[], HttpStatusCode, IEnumerable, 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, IEnumerable headers, bool closeServerConnection = false) Parameters Type Name Description Byte [] result The bytes to sent. HttpStatusCode status The HTTP status code. IEnumerable < HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source GenericResponse(String, HttpStatusCode, IDictionary, 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, IDictionary headers, bool closeServerConnection = false) Parameters Type Name Description String html The html content. HttpStatusCode status The HTTP status code. IDictionary < String , HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source GenericResponse(String, HttpStatusCode, IEnumerable, 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, IEnumerable headers = null, bool closeServerConnection = false) Parameters Type Name Description String html The html content. HttpStatusCode status The HTTP status code. IEnumerable < HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source GetRequestBody(CancellationToken) Gets the request body as bytes. Declaration public Task 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. | Improve this Doc View Source GetRequestBodyAsString(CancellationToken) Gets the request body as string. Declaration public Task 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. | Improve this Doc View Source GetResponseBody(CancellationToken) Gets the response body as bytes. Declaration public Task 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. | Improve this Doc View Source GetResponseBodyAsString(CancellationToken) Gets the response body as string. Declaration public Task 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. | Improve this Doc View Source Ok(Byte[], IDictionary, Boolean) Before request is made to server respond with the specified byte[] to client and ignore the request. Declaration public void Ok(byte[] result, IDictionary headers, bool closeServerConnection = false) Parameters Type Name Description Byte [] result The html content bytes. IDictionary < String , HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source Ok(Byte[], IEnumerable, Boolean) Before request is made to server respond with the specified byte[] to client and ignore the request. Declaration public void Ok(byte[] result, IEnumerable headers = null, bool closeServerConnection = false) Parameters Type Name Description Byte [] result The html content bytes. IEnumerable < HttpHeader > headers The HTTP headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source Ok(String, IDictionary, 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, IDictionary headers, bool closeServerConnection = false) Parameters Type Name Description String html HTML content to sent. IDictionary < String , HttpHeader > headers HTTP response headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source Ok(String, IEnumerable, 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, IEnumerable headers = null, bool closeServerConnection = false) Parameters Type Name Description String html HTML content to sent. IEnumerable < HttpHeader > headers HTTP response headers. Boolean closeServerConnection Close the server connection used by request if any? | Improve this Doc View Source 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? | Improve this Doc View Source 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? | Improve this Doc View Source SetRequestBody(Byte[]) Sets the request body. Declaration public void SetRequestBody(byte[] body) Parameters Type Name Description Byte [] body The request body bytes. | Improve this Doc View Source 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. | Improve this Doc View Source SetResponseBody(Byte[]) Set the response body bytes. Declaration public void SetResponseBody(byte[] body) Parameters Type Name Description Byte [] body The body bytes to set. | Improve this Doc View Source 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. | Improve this Doc View Source TerminateServerConnection() Terminate the connection to server at the end of this HTTP request/response session. Declaration public void TerminateServerConnection() Events | Improve this Doc View Source MultipartRequestPartSent Occurs when multipart request part sent. Declaration public event EventHandler MultipartRequestPartSent Event Type Type Description EventHandler < MultipartRequestPartSentEventArgs > Implements System.IDisposable" }, "api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html": { "href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html", diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index fe53085ef..9e986ea1c 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -315,24 +315,42 @@ references: isSpec: "True" fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose nameWithType: SessionEventArgs.Dispose -- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name: GenericResponse(Byte[], HttpStatusCode, Dictionary, Boolean) - href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ - commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name.vb: GenericResponse(Byte(), HttpStatusCode, Dictionary(Of String, HttpHeader), Boolean) - fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[], System.Net.HttpStatusCode, System.Collections.Generic.Dictionary, System.Boolean) - fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte(), System.Net.HttpStatusCode, System.Collections.Generic.Dictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) - nameWithType: SessionEventArgs.GenericResponse(Byte[], HttpStatusCode, Dictionary, Boolean) - nameWithType.vb: SessionEventArgs.GenericResponse(Byte(), HttpStatusCode, Dictionary(Of String, HttpHeader), Boolean) -- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name: GenericResponse(String, HttpStatusCode, Dictionary, Boolean) - href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ - commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name.vb: GenericResponse(String, HttpStatusCode, Dictionary(Of String, HttpHeader), Boolean) - fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.Dictionary, System.Boolean) - fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.Dictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) - nameWithType: SessionEventArgs.GenericResponse(String, HttpStatusCode, Dictionary, Boolean) - nameWithType.vb: SessionEventArgs.GenericResponse(String, HttpStatusCode, Dictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: GenericResponse(Byte[], HttpStatusCode, IDictionary, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_IDictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: GenericResponse(Byte(), HttpStatusCode, IDictionary(Of String, HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[], System.Net.HttpStatusCode, System.Collections.Generic.IDictionary, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte(), System.Net.HttpStatusCode, System.Collections.Generic.IDictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.GenericResponse(Byte[], HttpStatusCode, IDictionary, Boolean) + nameWithType.vb: SessionEventArgs.GenericResponse(Byte(), HttpStatusCode, IDictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: GenericResponse(Byte[], HttpStatusCode, IEnumerable, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_IEnumerable_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[],System.Net.HttpStatusCode,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: GenericResponse(Byte(), HttpStatusCode, IEnumerable(Of HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte[], System.Net.HttpStatusCode, System.Collections.Generic.IEnumerable, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte(), System.Net.HttpStatusCode, System.Collections.Generic.IEnumerable(Of Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.GenericResponse(Byte[], HttpStatusCode, IEnumerable, Boolean) + nameWithType.vb: SessionEventArgs.GenericResponse(Byte(), HttpStatusCode, IEnumerable(Of HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: GenericResponse(String, HttpStatusCode, IDictionary, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_IDictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: GenericResponse(String, HttpStatusCode, IDictionary(Of String, HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.IDictionary, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.IDictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.GenericResponse(String, HttpStatusCode, IDictionary, Boolean) + nameWithType.vb: SessionEventArgs.GenericResponse(String, HttpStatusCode, IDictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: GenericResponse(String, HttpStatusCode, IEnumerable, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_IEnumerable_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String,System.Net.HttpStatusCode,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: GenericResponse(String, HttpStatusCode, IEnumerable(Of HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.IEnumerable, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String, System.Net.HttpStatusCode, System.Collections.Generic.IEnumerable(Of Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.GenericResponse(String, HttpStatusCode, IEnumerable, Boolean) + nameWithType.vb: SessionEventArgs.GenericResponse(String, HttpStatusCode, IEnumerable(Of HttpHeader), Boolean) - uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse* name: GenericResponse href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_ @@ -411,24 +429,42 @@ references: commentId: E:Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent nameWithType: SessionEventArgs.MultipartRequestPartSent -- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name: Ok(Byte[], Dictionary, Boolean) - href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ - commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name.vb: Ok(Byte(), Dictionary(Of String, HttpHeader), Boolean) - fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[], System.Collections.Generic.Dictionary, System.Boolean) - fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte(), System.Collections.Generic.Dictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) - nameWithType: SessionEventArgs.Ok(Byte[], Dictionary, Boolean) - nameWithType.vb: SessionEventArgs.Ok(Byte(), Dictionary(Of String, HttpHeader), Boolean) -- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name: Ok(String, Dictionary, Boolean) - href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ - commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) - name.vb: Ok(String, Dictionary(Of String, HttpHeader), Boolean) - fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.Dictionary, System.Boolean) - fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.Dictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) - nameWithType: SessionEventArgs.Ok(String, Dictionary, Boolean) - nameWithType.vb: SessionEventArgs.Ok(String, Dictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: Ok(Byte[], IDictionary, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_IDictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: Ok(Byte(), IDictionary(Of String, HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[], System.Collections.Generic.IDictionary, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte(), System.Collections.Generic.IDictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.Ok(Byte[], IDictionary, Boolean) + nameWithType.vb: SessionEventArgs.Ok(Byte(), IDictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: Ok(Byte[], IEnumerable, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_IEnumerable_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: Ok(Byte(), IEnumerable(Of HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[], System.Collections.Generic.IEnumerable, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte(), System.Collections.Generic.IEnumerable(Of Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.Ok(Byte[], IEnumerable, Boolean) + nameWithType.vb: SessionEventArgs.Ok(Byte(), IEnumerable(Of HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: Ok(String, IDictionary, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_IDictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.IDictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: Ok(String, IDictionary(Of String, HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.IDictionary, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.IDictionary(Of System.String, Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.Ok(String, IDictionary, Boolean) + nameWithType.vb: SessionEventArgs.Ok(String, IDictionary(Of String, HttpHeader), Boolean) +- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name: Ok(String, IEnumerable, Boolean) + href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_IEnumerable_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_ + commentId: M:Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.IEnumerable{Titanium.Web.Proxy.Models.HttpHeader},System.Boolean) + name.vb: Ok(String, IEnumerable(Of HttpHeader), Boolean) + fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.IEnumerable, System.Boolean) + fullName.vb: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String, System.Collections.Generic.IEnumerable(Of Titanium.Web.Proxy.Models.HttpHeader), System.Boolean) + nameWithType: SessionEventArgs.Ok(String, IEnumerable, Boolean) + nameWithType.vb: SessionEventArgs.Ok(String, IEnumerable(Of HttpHeader), Boolean) - uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok* name: Ok href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_
    Dictionary<String, HttpHeader>IEnumerable<HttpHeader> headers

    HTTP response headers.