<divclass="markdown level1 summary"><p>Initializes a new instance of the <aclass="xref"href="Titanium.Web.Proxy.Http2.Hpack.Decoder.html">Decoder</a> class.</p>
</div>
<divclass="markdown level1 conceptual"></div>
<h5class="decalaration">Declaration</h5>
<divclass="codewrapper">
<pre><codeclass="lang-csharp hljs">public Decoder(int maxHeaderSize, int maxHeaderTableSize)</code></pre>
<divclass="markdown level1 summary"><p>Initializes a new instance of the <aclass="xref"href="Titanium.Web.Proxy.Http2.Hpack.Encoder.html">Encoder</a> class.</p>
<td><p>throws IOException if an I/O error occurs. In particular, an <pre><code>IOException</code></pre> may be thrown if the output stream has been closed.</p>
"title":"Namespace Titanium.Web.Proxy.Exceptions | Titanium Web Proxy",
"keywords":"Namespace Titanium.Web.Proxy.Exceptions Classes BodyNotFoundException An exception thrown when body is unexpectedly empty. ProxyAuthorizationException Proxy authorization exception. ProxyException Base class exception associated with this proxy server. ProxyHttpException Proxy HTTP exception."
"keywords":"Namespace Titanium.Web.Proxy.Exceptions Classes BodyNotFoundException An exception thrown when body is unexpectedly empty. ProxyAuthorizationException Proxy authorization exception. ProxyConnectException Proxy Connection exception. ProxyException Base class exception associated with this proxy server. ProxyHttpException Proxy HTTP exception. ServerConnectionException The server connection was closed upon first read with the new connection from pool. Should retry the request with a new connection."
"title":"Class ServerConnectionException | Titanium Web Proxy",
"keywords":"Class ServerConnectionException The server connection was closed upon first read with the new connection from pool. Should retry the request with a new connection. Inheritance Object Exception ProxyException ServerConnectionException Implements ISerializable _Exception Inherited Members Exception.GetBaseException() Exception.ToString() Exception.GetObjectData(SerializationInfo, StreamingContext) Exception.GetType() Exception.Message Exception.Data Exception.InnerException Exception.TargetSite Exception.StackTrace Exception.HelpLink Exception.Source Exception.HResult Exception.SerializeObjectState Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Exceptions Assembly : Titanium.Web.Proxy.dll Syntax public class ServerConnectionException : ProxyException, ISerializable, _Exception Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/Titanium.Web.Proxy.Helpers.html":{
"href":"api/Titanium.Web.Proxy.Helpers.html",
"title":"Namespace Titanium.Web.Proxy.Helpers | Titanium Web Proxy",
...
...
@@ -154,6 +164,56 @@
"title":"Class RedirectResponse | Titanium Web Proxy",
"keywords":"Class RedirectResponse The http redirect response. Inheritance Object RequestResponseBase Response RedirectResponse Inherited Members Response.StatusCode Response.StatusDescription Response.HasBody Response.KeepAlive Response.Is100Continue Response.ExpectationFailed Response.HeaderText RequestResponseBase.BodyInternal RequestResponseBase.OriginalIsBodyRead RequestResponseBase.KeepBody RequestResponseBase.HttpVersion RequestResponseBase.Headers RequestResponseBase.ContentLength RequestResponseBase.ContentEncoding RequestResponseBase.Encoding RequestResponseBase.ContentType RequestResponseBase.IsChunked RequestResponseBase.Body RequestResponseBase.BodyString RequestResponseBase.IsBodyRead RequestResponseBase.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http.Responses Assembly : Titanium.Web.Proxy.dll Syntax public sealed class RedirectResponse : Response Constructors RedirectResponse() Initializes a new instance of the RedirectResponse class. Declaration public RedirectResponse()"
"keywords":"Class Decoder Inheritance Object Decoder Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public class Decoder Constructors Decoder(Int32, Int32) Initializes a new instance of the Decoder class. Declaration public Decoder(int maxHeaderSize, int maxHeaderTableSize) Parameters Type Name Description Int32 maxHeaderSize Max header size. Int32 maxHeaderTableSize Max header table size. Methods Decode(BinaryReader, IHeaderListener) Decode the header block into header fields. Declaration public void Decode(BinaryReader input, IHeaderListener headerListener) Parameters Type Name Description BinaryReader input Input. IHeaderListener headerListener Header listener. EndHeaderBlock() End the current header block. Returns if the header field has been truncated. This must be called after the header block has been completely decoded. Declaration public bool EndHeaderBlock() Returns Type Description Boolean true , if header block was ended, false otherwise. GetMaxHeaderTableSize() Return the maximum table size. This is the maximum size allowed by both the encoder and the decoder. Declaration public int GetMaxHeaderTableSize() Returns Type Description Int32 The max header table size. SetMaxHeaderTableSize(Int32) Set the maximum table size. If this is below the maximum size of the dynamic table used by the encoder, the beginning of the next header block MUST signal this change. Declaration public void SetMaxHeaderTableSize(int maxHeaderTableSize) Parameters Type Name Description Int32 maxHeaderTableSize Max header table size."
"title":"Class DynamicTable | Titanium Web Proxy",
"keywords":"Class DynamicTable Inheritance Object DynamicTable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public class DynamicTable Constructors DynamicTable(Int32) Creates a new dynamic table with the specified initial capacity. Declaration public DynamicTable(int initialCapacity) Parameters Type Name Description Int32 initialCapacity Initial capacity. Properties Capacity Return the maximum allowable size of the dynamic table. Declaration public int Capacity { get; } Property Value Type Description Int32 The capacity. Size Return the current size of the dynamic table. This is the sum of the size of the entries. Declaration public int Size { get; } Property Value Type Description Int32 The size. Methods Add(HttpHeader) Add the header field to the dynamic table. Entries are evicted from the dynamic table until the size of the table and the new header field is less than or equal to the table's capacity. If the size of the new entry is larger than the table's capacity, the dynamic table will be cleared. Declaration public void Add(HttpHeader header) Parameters Type Name Description HttpHeader header Header. Clear() Remove all entries from the dynamic table. Declaration public void Clear() GetEntry(Int32) Return the header field at the given index. The first and newest entry is always at index 1, and the oldest entry is at the index length(). Declaration public HttpHeader GetEntry(int index) Parameters Type Name Description Int32 index Index. Returns Type Description HttpHeader The entry. Length() Return the number of header fields in the dynamic table. Declaration public int Length() Returns Type Description Int32 Remove() Remove and return the oldest header field from the dynamic table. Declaration public HttpHeader Remove() Returns Type Description HttpHeader SetCapacity(Int32) Set the maximum size of the dynamic table. Entries are evicted from the dynamic table until the size of the table is less than or equal to the maximum size. Declaration public void SetCapacity(int capacity) Parameters Type Name Description Int32 capacity Capacity."
"keywords":"Class Encoder Inheritance Object Encoder Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public class Encoder Constructors Encoder(Int32) Initializes a new instance of the Encoder class. Declaration public Encoder(int maxHeaderTableSize) Parameters Type Name Description Int32 maxHeaderTableSize Max header table size. Properties MaxHeaderTableSize Gets the the maximum table size. Declaration public int MaxHeaderTableSize { get; } Property Value Type Description Int32 The max header table size. Methods EncodeHeader(BinaryWriter, String, String, Boolean) Encode the header field into the header block. Declaration public void EncodeHeader(BinaryWriter output, string name, string value, bool sensitive = false) Parameters Type Name Description BinaryWriter output Output. String name Name. String value Value. Boolean sensitive If set to true sensitive. SetMaxHeaderTableSize(BinaryWriter, Int32) Set the maximum table size. Declaration public void SetMaxHeaderTableSize(BinaryWriter output, int maxHeaderTableSize) Parameters Type Name Description BinaryWriter output Output. Int32 maxHeaderTableSize Max header table size."
"keywords":"Class HpackUtil Inheritance Object HpackUtil Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public static class HpackUtil Fields HuffmanCodeLengths Declaration public static readonly byte[] HuffmanCodeLengths Field Value Type Description Byte [] HuffmanCodes Declaration public static readonly int[] HuffmanCodes Field Value Type Description Int32 [] HuffmanEos Declaration public const int HuffmanEos = 256 Field Value Type Description Int32"
"title":"Class HuffmanDecoder | Titanium Web Proxy",
"keywords":"Class HuffmanDecoder Inheritance Object HuffmanDecoder Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public class HuffmanDecoder Fields Instance Huffman Decoder Declaration public static readonly HuffmanDecoder Instance Field Value Type Description HuffmanDecoder Methods Decode(Byte[]) Decompresses the given Huffman coded string literal. Declaration public string Decode(byte[] buf) Parameters Type Name Description Byte [] buf the string literal to be decoded Returns Type Description String the output stream for the compressed data Exceptions Type Condition IOException throws IOException if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed."
"title":"Class HuffmanEncoder | Titanium Web Proxy",
"keywords":"Class HuffmanEncoder Inheritance Object HuffmanEncoder Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public class HuffmanEncoder Fields Instance Huffman Encoder Declaration public static readonly HuffmanEncoder Instance Field Value Type Description HuffmanEncoder Methods Encode(BinaryWriter, Byte[]) Compresses the input string literal using the Huffman coding. Declaration public void Encode(BinaryWriter output, byte[] data) Parameters Type Name Description BinaryWriter output the output stream for the compressed data Byte [] data the string literal to be Huffman encoded Exceptions Type Condition IOException if an I/O error occurs. Encode(BinaryWriter, Byte[], Int32, Int32) Compresses the input string literal using the Huffman coding. Declaration public void Encode(BinaryWriter output, byte[] data, int off, int len) Parameters Type Name Description BinaryWriter output the output stream for the compressed data Byte [] data the string literal to be Huffman encoded Int32 off the start offset in the data Int32 len the number of bytes to encode Exceptions Type Condition IOException if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed. GetEncodedLength(Byte[]) Returns the number of bytes required to Huffman encode the input string literal. Declaration public int GetEncodedLength(byte[] data) Parameters Type Name Description Byte [] data the string literal to be Huffman encoded Returns Type Description Int32 the number of bytes required to Huffman encode data"
"title":"Interface IHeaderListener | Titanium Web Proxy",
"keywords":"Interface IHeaderListener Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public interface IHeaderListener Methods AddHeader(String, String, Boolean) EmitHeader is called by the decoder during header field emission. The name and value byte arrays must not be modified. Declaration void AddHeader(string name, string value, bool sensitive) Parameters Type Name Description String name Name. String value Value. Boolean sensitive If set to true sensitive."
"keywords":"Class StaticTable Inheritance Object StaticTable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Http2.Hpack Assembly : Titanium.Web.Proxy.dll Syntax public static class StaticTable Properties Length The number of header fields in the static table. Declaration public static int Length { get; } Property Value Type Description Int32 The length. Methods Get(Int32) Return the http header field at the given index value. Declaration public static HttpHeader Get(int index) Parameters Type Name Description Int32 index Index. Returns Type Description HttpHeader The header field. GetIndex(String) Returns the lowest index value for the given header field name in the static table. Returns -1 if the header field name is not in the static table. Declaration public static int GetIndex(string name) Parameters Type Name Description String name Name. Returns Type Description Int32 The index. GetIndex(String, String) Returns the index value for the given header field in the static table. Returns -1 if the header field is not in the static table. Declaration public static int GetIndex(string name, string value) Parameters Type Name Description String name Name. String value Value. Returns Type Description Int32 The index."
"title":"Class ExplicitProxyEndPoint | Titanium Web Proxy",
...
...
@@ -167,18 +227,33 @@
"api/Titanium.Web.Proxy.Models.html":{
"href":"api/Titanium.Web.Proxy.Models.html",
"title":"Namespace Titanium.Web.Proxy.Models | Titanium Web Proxy",
"keywords":"Namespace Titanium.Web.Proxy.Models Classes ExplicitProxyEndPoint A proxy endpoint that the client is aware of. So client application know that it is communicating with a proxy server. ExternalProxy An upstream proxy this proxy uses if any. HttpHeader Http Header object used by proxy ProxyEndPoint An abstract endpoint where the proxy listens TransparentProxyEndPoint A proxy end point client is not aware of. Useful when requests are redirected to this proxy end point through port forwarding via router."
"keywords":"Namespace Titanium.Web.Proxy.Models Classes ExplicitProxyEndPoint A proxy endpoint that the client is aware of. So client application know that it is communicating with a proxy server. ExternalProxy An upstream proxy this proxy uses if any. HttpHeader Http Header object used by proxy ProxyAuthenticationContext A context container for authentication flows ProxyEndPoint An abstract endpoint where the proxy listens TransparentProxyEndPoint A proxy end point client is not aware of. Useful when requests are redirected to this proxy end point through port forwarding via router. Enums ProxyAuthenticationResult ProxyProtocolType"
"keywords":"Class HttpHeader Http Header object used by proxy Inheritance Object HttpHeader Inherited Members Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public class HttpHeader Constructors HttpHeader(String, String) Initialize a new instance. Declaration public HttpHeader(string name, string value) Parameters Type Name Description String name Header name. String value Header value. Fields HttpHeaderOverhead HPACK: Header Compression for HTTP/2 Section 4.1. Calculating Table Size The additional 32 octets account for an estimated overhead associated with an entry. Declaration public const int HttpHeaderOverhead = 32 Field Value Type Description Int32 Properties Name Header Name. Declaration public string Name { get; set; } Property Value Type Description String Size Declaration public int Size { get; } Property Value Type Description Int32 Value Header Value. Declaration public string Value { get; set; } Property Value Type Description String Methods SizeOf(String, String) Declaration public static int SizeOf(string name, string value) Parameters Type Name Description String name String value Returns Type Description Int32 ToString() Returns header as a valid header string. Declaration public override string ToString() Returns Type Description String Overrides Object.ToString()"
"title":"Class ProxyAuthenticationContext | Titanium Web Proxy",
"keywords":"Class ProxyAuthenticationContext A context container for authentication flows Inheritance Object ProxyAuthenticationContext Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public class ProxyAuthenticationContext Properties Continuation An optional continuation token to return to the caller if set Declaration public string Continuation { get; set; } Property Value Type Description String Result The result of the current authentication request Declaration public ProxyAuthenticationResult Result { get; set; } Property Value Type Description ProxyAuthenticationResult Methods Failed() Declaration public static ProxyAuthenticationContext Failed() Returns Type Description ProxyAuthenticationContext Succeeded() Declaration public static ProxyAuthenticationContext Succeeded() Returns Type Description ProxyAuthenticationContext"
"title":"Enum ProxyAuthenticationResult | Titanium Web Proxy",
"keywords":"Enum ProxyAuthenticationResult Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public enum ProxyAuthenticationResult Fields Name Description ContinuationNeeded Indicates that this stage of the authentication request succeeded And a second pass of the handshake needs to occur Failure Indicates the authentication request failed Success Indicates the authentication request was successful"
"title":"Class ProxyEndPoint | Titanium Web Proxy",
"keywords":"Class ProxyEndPoint An abstract endpoint where the proxy listens Inheritance Object ProxyEndPoint ExplicitProxyEndPoint TransparentProxyEndPoint Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public abstract class ProxyEndPoint Constructors ProxyEndPoint(IPAddress, Int32, Boolean) Constructor. Declaration protected ProxyEndPoint(IPAddress ipAddress, int port, bool decryptSsl) Parameters Type Name Description IPAddress ipAddress Int32 port Boolean decryptSsl Properties DecryptSsl Enable SSL? Declaration public bool DecryptSsl { get; } Property Value Type Description Boolean IpAddress Ip Address we are listening. Declaration public IPAddress IpAddress { get; } Property Value Type Description IPAddress IpV6Enabled Is IPv6 enabled? Declaration public bool IpV6Enabled { get; } Property Value Type Description Boolean Port Port we are listening. Declaration public int Port { get; } Property Value Type Description Int32"