Unverified Commit abdfbc87 authored by honfika's avatar honfika Committed by GitHub

Merge pull request #750 from justcoding121/master

stable
parents 2b38dec9 02541efd
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L31">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L30">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl*"></a> <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl">DecryptSsl</h4> <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl">DecryptSsl</h4>
...@@ -137,7 +137,7 @@ If false we relay the connection to the hostname mentioned in SniHostname.</p> ...@@ -137,7 +137,7 @@ If false we relay the connection to the hostname mentioned in SniHostname.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L24">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L23">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName*"></a> <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName">SniHostName</h4> <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName">SniHostName</h4>
...@@ -171,7 +171,7 @@ TransparentEndPoint.</p> ...@@ -171,7 +171,7 @@ TransparentEndPoint.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L36">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L35">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession*"></a> <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession">TerminateSession()</h4> <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession">TerminateSession()</h4>
...@@ -193,7 +193,7 @@ TransparentEndPoint.</p> ...@@ -193,7 +193,7 @@ TransparentEndPoint.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L10" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L9" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_String_System_Security_Cryptography_X509Certificates_X509CertificateCollection_System_Security_Cryptography_X509Certificates_X509Certificate_System_String___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.%23ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase%2CSystem.String%2CSystem.Security.Cryptography.X509Certificates.X509CertificateCollection%2CSystem.Security.Cryptography.X509Certificates.X509Certificate%2CSystem.String%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_String_System_Security_Cryptography_X509Certificates_X509CertificateCollection_System_Security_Cryptography_X509Certificates_X509Certificate_System_String___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.%23ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase%2CSystem.String%2CSystem.Security.Cryptography.X509Certificates.X509CertificateCollection%2CSystem.Security.Cryptography.X509Certificates.X509Certificate%2CSystem.String%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L11">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L10">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.#ctor*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.#ctor*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_String_System_Security_Cryptography_X509Certificates_X509CertificateCollection_System_Security_Cryptography_X509Certificates_X509Certificate_System_String___" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.#ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String[])">CertificateSelectionEventArgs(SessionEventArgsBase, String, X509CertificateCollection, X509Certificate, String[])</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_String_System_Security_Cryptography_X509Certificates_X509CertificateCollection_System_Security_Cryptography_X509Certificates_X509Certificate_System_String___" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.#ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String[])">CertificateSelectionEventArgs(SessionEventArgsBase, String, X509CertificateCollection, X509Certificate, String[])</h4>
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L44">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L43">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers">AcceptableIssuers</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_AcceptableIssuers" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.AcceptableIssuers">AcceptableIssuers</h4>
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L49">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L48">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate">ClientCertificate</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_ClientCertificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.ClientCertificate">ClientCertificate</h4>
...@@ -220,7 +220,7 @@ ...@@ -220,7 +220,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L34">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L33">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates">LocalCertificates</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_LocalCertificates" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.LocalCertificates">LocalCertificates</h4>
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L39">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L38">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate">RemoteCertificate</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_RemoteCertificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.RemoteCertificate">RemoteCertificate</h4>
...@@ -282,7 +282,7 @@ ...@@ -282,7 +282,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L24">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L23">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session">Session</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_Session" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.Session">Session</h4>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L29">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L28">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost">TargetHost</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs_TargetHost" data-uid="Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs.TargetHost">TargetHost</h4>
...@@ -350,7 +350,7 @@ ...@@ -350,7 +350,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateSelectionEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateSelectionEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L9" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateSelectionEventArgs.cs/#L8" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -105,7 +105,7 @@ during SSL authentication.</p> ...@@ -105,7 +105,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_Security_Cryptography_X509Certificates_X509Certificate_System_Security_Cryptography_X509Certificates_X509Chain_System_Net_Security_SslPolicyErrors_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.%23ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase%2CSystem.Security.Cryptography.X509Certificates.X509Certificate%2CSystem.Security.Cryptography.X509Certificates.X509Chain%2CSystem.Net.Security.SslPolicyErrors)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_Security_Cryptography_X509Certificates_X509Certificate_System_Security_Cryptography_X509Certificates_X509Chain_System_Net_Security_SslPolicyErrors_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.%23ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase%2CSystem.Security.Cryptography.X509Certificates.X509Certificate%2CSystem.Security.Cryptography.X509Certificates.X509Chain%2CSystem.Net.Security.SslPolicyErrors)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L13">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L12">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.#ctor*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.#ctor*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_Security_Cryptography_X509Certificates_X509Certificate_System_Security_Cryptography_X509Certificates_X509Chain_System_Net_Security_SslPolicyErrors_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.#ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">CertificateValidationEventArgs(SessionEventArgsBase, X509Certificate, X509Chain, SslPolicyErrors)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs__ctor_Titanium_Web_Proxy_EventArguments_SessionEventArgsBase_System_Security_Cryptography_X509Certificates_X509Certificate_System_Security_Cryptography_X509Certificates_X509Chain_System_Net_Security_SslPolicyErrors_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.#ctor(Titanium.Web.Proxy.EventArguments.SessionEventArgsBase,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">CertificateValidationEventArgs(SessionEventArgsBase, X509Certificate, X509Chain, SslPolicyErrors)</h4>
...@@ -154,7 +154,7 @@ during SSL authentication.</p> ...@@ -154,7 +154,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L29">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L28">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate">Certificate</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Certificate" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Certificate">Certificate</h4>
...@@ -185,7 +185,7 @@ during SSL authentication.</p> ...@@ -185,7 +185,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L34">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L33">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain">Chain</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Chain" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Chain">Chain</h4>
...@@ -216,7 +216,7 @@ during SSL authentication.</p> ...@@ -216,7 +216,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L44">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L43">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid">IsValid</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_IsValid" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.IsValid">IsValid</h4>
...@@ -247,7 +247,7 @@ during SSL authentication.</p> ...@@ -247,7 +247,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L24">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L23">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session">Session</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_Session" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.Session">Session</h4>
...@@ -278,7 +278,7 @@ during SSL authentication.</p> ...@@ -278,7 +278,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L39">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L38">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors*"></a> <a id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors_" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors">SslPolicyErrors</h4> <h4 id="Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs_SslPolicyErrors" data-uid="Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs.SslPolicyErrors">SslPolicyErrors</h4>
...@@ -315,7 +315,7 @@ during SSL authentication.</p> ...@@ -315,7 +315,7 @@ during SSL authentication.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_CertificateValidationEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.CertificateValidationEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L11" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/CertificateValidationEventArgs.cs/#L10" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -184,7 +184,7 @@ or when server terminates connection from proxy.</p> ...@@ -184,7 +184,7 @@ or when server terminates connection from proxy.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L33">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L35">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise">IsPromise</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_IsPromise" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.IsPromise">IsPromise</h4>
...@@ -215,7 +215,7 @@ or when server terminates connection from proxy.</p> ...@@ -215,7 +215,7 @@ or when server terminates connection from proxy.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L48">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L50">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest">ReRequest</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_ReRequest" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.ReRequest">ReRequest</h4>
...@@ -246,7 +246,7 @@ or when server terminates connection from proxy.</p> ...@@ -246,7 +246,7 @@ or when server terminates connection from proxy.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L62">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L64">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder">WebSocketDecoder</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoder" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder">WebSocketDecoder</h4>
...@@ -254,7 +254,68 @@ or when server terminates connection from proxy.</p> ...@@ -254,7 +254,68 @@ or when server terminates connection from proxy.</p>
<div class="markdown level1 conceptual"></div> <div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5> <h5 class="decalaration">Declaration</h5>
<div class="codewrapper"> <div class="codewrapper">
<pre><code class="lang-csharp hljs">public WebSocketDecoder WebSocketDecoder { get; }</code></pre> <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use [WebSocketDecoderReceive] instead&quot;)]
public WebSocketDecoder WebSocketDecoder { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">WebSocketDecoder</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderReceive.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L69">View Source</a>
</span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderReceive_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderReceive" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive">WebSocketDecoderReceive</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public WebSocketDecoder WebSocketDecoderReceive { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">WebSocketDecoder</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderSend.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L67">View Source</a>
</span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderSend_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderSend" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend">WebSocketDecoderSend</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public WebSocketDecoder WebSocketDecoderSend { get; }</code></pre>
</div> </div>
<h5 class="propertyValue">Property Value</h5> <h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed"> <table class="table table-bordered table-striped table-condensed">
...@@ -278,7 +339,7 @@ or when server terminates connection from proxy.</p> ...@@ -278,7 +339,7 @@ or when server terminates connection from proxy.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L609">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L616">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose">Dispose()</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Dispose" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Dispose">Dispose()</h4>
...@@ -296,7 +357,7 @@ or when server terminates connection from proxy.</p> ...@@ -296,7 +357,7 @@ or when server terminates connection from proxy.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte%5B%5D%2CSystem.Net.HttpStatusCode%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.Byte%5B%5D%2CSystem.Net.HttpStatusCode%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L526">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L533">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-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)">GenericResponse(Byte[], HttpStatusCode, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_Byte___System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-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)">GenericResponse(Byte[], HttpStatusCode, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4>
...@@ -349,7 +410,7 @@ the specified status to client. And then ignore the request.</p> ...@@ -349,7 +410,7 @@ the specified status to client. And then ignore the request.</p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String%2CSystem.Net.HttpStatusCode%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse(System.String%2CSystem.Net.HttpStatusCode%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L507">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L514">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GenericResponse*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-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)">GenericResponse(String, HttpStatusCode, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GenericResponse_System_String_System_Net_HttpStatusCode_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-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)">GenericResponse(String, HttpStatusCode, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4>
...@@ -403,7 +464,7 @@ And then ignore the request. </p> ...@@ -403,7 +464,7 @@ And then ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L342">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L349">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody(System.Threading.CancellationToken)">GetRequestBody(CancellationToken)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBody_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBody(System.Threading.CancellationToken)">GetRequestBody(CancellationToken)</h4>
...@@ -453,7 +514,7 @@ And then ignore the request. </p> ...@@ -453,7 +514,7 @@ And then ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L357">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L364">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString(System.Threading.CancellationToken)">GetRequestBodyAsString(CancellationToken)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetRequestBodyAsString_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetRequestBodyAsString(System.Threading.CancellationToken)">GetRequestBodyAsString(CancellationToken)</h4>
...@@ -503,7 +564,7 @@ And then ignore the request. </p> ...@@ -503,7 +564,7 @@ And then ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L402">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L409">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody(System.Threading.CancellationToken)">GetResponseBody(CancellationToken)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBody_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBody(System.Threading.CancellationToken)">GetResponseBody(CancellationToken)</h4>
...@@ -553,7 +614,7 @@ And then ignore the request. </p> ...@@ -553,7 +614,7 @@ And then ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_System_Threading_CancellationToken_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString(System.Threading.CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L417">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L424">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString(System.Threading.CancellationToken)">GetResponseBodyAsString(CancellationToken)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_GetResponseBodyAsString_System_Threading_CancellationToken_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.GetResponseBodyAsString(System.Threading.CancellationToken)">GetResponseBodyAsString(CancellationToken)</h4>
...@@ -603,7 +664,7 @@ And then ignore the request. </p> ...@@ -603,7 +664,7 @@ And then ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte%5B%5D%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte%5B%5D%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L487">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L494">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean)">Ok(Byte[], Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_Byte___System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.Byte[],System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean)">Ok(Byte[], Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4>
...@@ -650,7 +711,7 @@ and ignore the request. </p> ...@@ -650,7 +711,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String%2CSystem.Collections.Generic.Dictionary%7BSystem.String%2CTitanium.Web.Proxy.Models.HttpHeader%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L465">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L472">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean)">Ok(String, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Ok_System_String_System_Collections_Generic_Dictionary_System_String_Titanium_Web_Proxy_Models_HttpHeader__System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Ok(System.String,System.Collections.Generic.Dictionary{System.String,Titanium.Web.Proxy.Models.HttpHeader},System.Boolean)">Ok(String, Dictionary&lt;String, HttpHeader&gt;, Boolean)</h4>
...@@ -697,7 +758,7 @@ and ignore the request. </p> ...@@ -697,7 +758,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L542">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L549">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_System_String_System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect(System.String,System.Boolean)">Redirect(String, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Redirect_System_String_System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Redirect(System.String,System.Boolean)">Redirect(String, Boolean)</h4>
...@@ -737,7 +798,7 @@ and ignore the request. </p> ...@@ -737,7 +798,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_Titanium_Web_Proxy_Http_Response_System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond(Titanium.Web.Proxy.Http.Response%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_Titanium_Web_Proxy_Http_Response_System_Boolean_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond(Titanium.Web.Proxy.Http.Response%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L561">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L568">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_Titanium_Web_Proxy_Http_Response_System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond(Titanium.Web.Proxy.Http.Response,System.Boolean)">Respond(Response, Boolean)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_Respond_Titanium_Web_Proxy_Http_Response_System_Boolean_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.Respond(Titanium.Web.Proxy.Http.Response,System.Boolean)">Respond(Response, Boolean)</h4>
...@@ -777,7 +838,7 @@ and ignore the request. </p> ...@@ -777,7 +838,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_System_Byte___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_System_Byte___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L371">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L378">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_System_Byte___" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody(System.Byte[])">SetRequestBody(Byte[])</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBody_System_Byte___" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBody(System.Byte[])">SetRequestBody(Byte[])</h4>
...@@ -811,7 +872,7 @@ and ignore the request. </p> ...@@ -811,7 +872,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_System_String_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_System_String_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L386">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L393">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_System_String_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString(System.String)">SetRequestBodyString(String)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetRequestBodyString_System_String_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetRequestBodyString(System.String)">SetRequestBodyString(String)</h4>
...@@ -845,7 +906,7 @@ and ignore the request. </p> ...@@ -845,7 +906,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_System_Byte___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_System_Byte___.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L431">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L438">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_System_Byte___" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody(System.Byte[])">SetResponseBody(Byte[])</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBody_System_Byte___" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBody(System.Byte[])">SetResponseBody(Byte[])</h4>
...@@ -879,7 +940,7 @@ and ignore the request. </p> ...@@ -879,7 +940,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_System_String_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_System_String_.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L446">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L453">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_System_String_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString(System.String)">SetResponseBodyString(String)</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_SetResponseBodyString_System_String_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.SetResponseBodyString(System.String)">SetResponseBodyString(String)</h4>
...@@ -913,7 +974,7 @@ and ignore the request. </p> ...@@ -913,7 +974,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L601">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L608">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection*"></a> <a id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection_" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection*"></a>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection">TerminateServerConnection()</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_TerminateServerConnection" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.TerminateServerConnection">TerminateServerConnection()</h4>
...@@ -931,7 +992,7 @@ and ignore the request. </p> ...@@ -931,7 +992,7 @@ and ignore the request. </p>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_MultipartRequestPartSent.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_SessionEventArgs_MultipartRequestPartSent.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L67">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs/#L74">View Source</a>
</span> </span>
<h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_MultipartRequestPartSent" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent">MultipartRequestPartSent</h4> <h4 id="Titanium_Web_Proxy_EventArguments_SessionEventArgs_MultipartRequestPartSent" data-uid="Titanium.Web.Proxy.EventArguments.SessionEventArgs.MultipartRequestPartSent">MultipartRequestPartSent</h4>
<div class="markdown level1 summary"><p>Occurs when multipart request part sent.</p> <div class="markdown level1 summary"><p>Occurs when multipart request part sent.</p>
......
...@@ -205,7 +205,7 @@ ...@@ -205,7 +205,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L20">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L19">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo_" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo*"></a> <a id="Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo_" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo*"></a>
<h4 id="Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo">ClientHelloInfo</h4> <h4 id="Titanium_Web_Proxy_Http_ConnectRequest_ClientHelloInfo" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.ClientHelloInfo">ClientHelloInfo</h4>
...@@ -235,7 +235,7 @@ ...@@ -235,7 +235,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest_TunnelType.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest.TunnelType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest_TunnelType.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest.TunnelType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L18">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L17">View Source</a>
</span> </span>
<a id="Titanium_Web_Proxy_Http_ConnectRequest_TunnelType_" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.TunnelType*"></a> <a id="Titanium_Web_Proxy_Http_ConnectRequest_TunnelType_" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.TunnelType*"></a>
<h4 id="Titanium_Web_Proxy_Http_ConnectRequest_TunnelType" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.TunnelType">TunnelType</h4> <h4 id="Titanium_Web_Proxy_Http_ConnectRequest_TunnelType" data-uid="Titanium.Web.Proxy.Http.ConnectRequest.TunnelType">TunnelType</h4>
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http_ConnectRequest.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http.ConnectRequest%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L10" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http/ConnectRequest.cs/#L9" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_IndexType.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.IndexType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_IndexType.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.IndexType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L25" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L23" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodeLengths.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodeLengths%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodeLengths.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodeLengths%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L294">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L292">View Source</a>
</span> </span>
<h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodeLengths" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodeLengths">HuffmanCodeLengths</h4> <h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodeLengths" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodeLengths">HuffmanCodeLengths</h4>
<div class="markdown level1 summary"></div> <div class="markdown level1 summary"></div>
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodes.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodes%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodes.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodes%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L34">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L32">View Source</a>
</span> </span>
<h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodes" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodes">HuffmanCodes</h4> <h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanCodes" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanCodes">HuffmanCodes</h4>
<div class="markdown level1 summary"></div> <div class="markdown level1 summary"></div>
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanEos.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanEos%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanEos.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanEos%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span> </span>
<span class="small pull-right mobile-hide"> <span class="small pull-right mobile-hide">
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L314">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L312">View Source</a>
</span> </span>
<h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanEos" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanEos">HuffmanEos</h4> <h4 id="Titanium_Web_Proxy_Http2_Hpack_HpackUtil_HuffmanEos" data-uid="Titanium.Web.Proxy.Http2.Hpack.HpackUtil.HuffmanEos">HuffmanEos</h4>
<div class="markdown level1 summary"></div> <div class="markdown level1 summary"></div>
...@@ -220,7 +220,7 @@ ...@@ -220,7 +220,7 @@
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/new/master/apiSpec/new?filename=Titanium_Web_Proxy_Http2_Hpack_HpackUtil.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.Http2.Hpack.HpackUtil%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li> </li>
<li> <li>
<a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L22" class="contribution-link">View Source</a> <a href="https://github.com/justcoding121/Titanium-Web-Proxy/blob/master/src/Titanium.Web.Proxy/Http2/Hpack/HpackUtil.cs/#L20" class="contribution-link">View Source</a>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -298,7 +298,7 @@ Buffer size should be at least 10 bytes.</p> ...@@ -298,7 +298,7 @@ Buffer size should be at least 10 bytes.</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><a class="xref" href="Titanium.Web.Proxy.Network.CertificateManager.html">CertificateManager</a></td> <td><span class="xref">CertificateManager</span></td>
<td></td> <td></td>
</tr> </tr>
</tbody> </tbody>
......
...@@ -191,19 +191,6 @@ ...@@ -191,19 +191,6 @@
</li> </li>
</ul> </ul>
</li> </li>
<li>
<span class="expand-stub"></span>
<a href="Titanium.Web.Proxy.Network.html" name="" title="Titanium.Web.Proxy.Network">Titanium.Web.Proxy.Network</a>
<ul class="nav level2">
<li>
<a href="Titanium.Web.Proxy.Network.CertificateEngine.html" name="" title="CertificateEngine">CertificateEngine</a>
</li>
<li>
<a href="Titanium.Web.Proxy.Network.CertificateManager.html" name="" title="CertificateManager">CertificateManager</a>
</li>
</ul>
</li>
</ul> </ul>
</div> </div>
</div> </div>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
"api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html": { "api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html": {
"href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html", "href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html",
"title": "Class SessionEventArgs | Titanium Web Proxy", "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 public WebSocketDecoder WebSocketDecoder { 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<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? | Improve this Doc View Source 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? | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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? | Improve this Doc View Source 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? | 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<MultipartRequestPartSentEventArgs> 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, 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? | Improve this Doc View Source 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? | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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. | Improve this Doc View Source 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? | Improve this Doc View Source 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? | 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<MultipartRequestPartSentEventArgs> MultipartRequestPartSent Event Type Type Description EventHandler < MultipartRequestPartSentEventArgs > Implements System.IDisposable"
}, },
"api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html": { "api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html": {
"href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html", "href": "api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html",
...@@ -239,21 +239,6 @@ ...@@ -239,21 +239,6 @@
"title": "Class TransparentProxyEndPoint | Titanium Web Proxy", "title": "Class TransparentProxyEndPoint | Titanium Web Proxy",
"keywords": "Class 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. Inheritance Object TransparentProxyEndPoint Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public class TransparentProxyEndPoint : TransparentBaseProxyEndPoint Constructors | Improve this Doc View Source TransparentProxyEndPoint(IPAddress, Int32, Boolean) Initialize a new instance. Declaration public TransparentProxyEndPoint(IPAddress ipAddress, int port, bool decryptSsl = true) Parameters Type Name Description IPAddress ipAddress Listening Ip address. Int32 port Listening port. Boolean decryptSsl Should we decrypt ssl? Properties | Improve this Doc View Source GenericCertificateName Name of the Certificate need to be sent (same as the hostname we want to proxy). This is valid only when UseServerNameIndication is set to false. Declaration public override string GenericCertificateName { get; set; } Property Value Type Description String Events | Improve this Doc View Source BeforeSslAuthenticate Before Ssl authentication this event is fired. Declaration public event AsyncEventHandler<BeforeSslAuthenticateEventArgs> BeforeSslAuthenticate Event Type Type Description AsyncEventHandler < BeforeSslAuthenticateEventArgs >" "keywords": "Class 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. Inheritance Object TransparentProxyEndPoint Namespace : Titanium.Web.Proxy.Models Assembly : Titanium.Web.Proxy.dll Syntax public class TransparentProxyEndPoint : TransparentBaseProxyEndPoint Constructors | Improve this Doc View Source TransparentProxyEndPoint(IPAddress, Int32, Boolean) Initialize a new instance. Declaration public TransparentProxyEndPoint(IPAddress ipAddress, int port, bool decryptSsl = true) Parameters Type Name Description IPAddress ipAddress Listening Ip address. Int32 port Listening port. Boolean decryptSsl Should we decrypt ssl? Properties | Improve this Doc View Source GenericCertificateName Name of the Certificate need to be sent (same as the hostname we want to proxy). This is valid only when UseServerNameIndication is set to false. Declaration public override string GenericCertificateName { get; set; } Property Value Type Description String Events | Improve this Doc View Source BeforeSslAuthenticate Before Ssl authentication this event is fired. Declaration public event AsyncEventHandler<BeforeSslAuthenticateEventArgs> BeforeSslAuthenticate Event Type Type Description AsyncEventHandler < BeforeSslAuthenticateEventArgs >"
}, },
"api/Titanium.Web.Proxy.Network.CertificateEngine.html": {
"href": "api/Titanium.Web.Proxy.Network.CertificateEngine.html",
"title": "Enum CertificateEngine | Titanium Web Proxy",
"keywords": "Enum CertificateEngine Certificate Engine option. Namespace : Titanium.Web.Proxy.Network Assembly : Titanium.Web.Proxy.dll Syntax public enum CertificateEngine Fields Name Description BouncyCastle Uses BouncyCastle 3rd party library. Default. BouncyCastleFast DefaultWindows Uses Windows Certification Generation API and only valid in Windows OS. Observed to be faster than BouncyCastle. Bug #468 Reported."
},
"api/Titanium.Web.Proxy.Network.CertificateManager.html": {
"href": "api/Titanium.Web.Proxy.Network.CertificateManager.html",
"title": "Class CertificateManager | Titanium Web Proxy",
"keywords": "Class CertificateManager A class to manage SSL certificates used by this proxy server. Inheritance Object CertificateManager Implements IDisposable 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.Network Assembly : Titanium.Web.Proxy.dll Syntax public sealed class CertificateManager : IDisposable Properties | Improve this Doc View Source CertificateCacheTimeOutMinutes Minutes certificates should be kept in cache when not used. Declaration public int CertificateCacheTimeOutMinutes { get; set; } Property Value Type Description Int32 | Improve this Doc View Source CertificateEngine Select Certificate Engine. Optionally set to BouncyCastle. Mono only support BouncyCastle and it is the default. Declaration public CertificateEngine CertificateEngine { get; set; } Property Value Type Description CertificateEngine | Improve this Doc View Source CertificateStorage The fake certificate cache storage. The default cache storage implementation saves certificates in folder \"crts\" (will be created in proxy dll directory). Implement ICertificateCache interface and assign concrete class here to customize. Declaration public ICertificateCache CertificateStorage { get; set; } Property Value Type Description ICertificateCache | Improve this Doc View Source OverwritePfxFile Overwrite Root certificate file. true : replace an existing .pfx file if password is incorrect or if RootCertificate = null. Declaration public bool OverwritePfxFile { get; set; } Property Value Type Description Boolean | Improve this Doc View Source PfxFilePath Name(path) of the Root certificate file. Set the name(path) of the .pfx file. If it is string.Empty Root certificate file will be named as \"rootCert.pfx\" (and will be saved in proxy dll directory) Declaration public string PfxFilePath { get; set; } Property Value Type Description String | Improve this Doc View Source PfxPassword Password of the Root certificate file. Set a password for the .pfx file Declaration public string PfxPassword { get; set; } Property Value Type Description String | Improve this Doc View Source RootCertificate The root certificate. Declaration public X509Certificate2 RootCertificate { get; set; } Property Value Type Description X509Certificate2 | Improve this Doc View Source RootCertificateIssuerName Name of the root certificate issuer. (This is valid only when RootCertificate property is not set.) Declaration public string RootCertificateIssuerName { get; set; } Property Value Type Description String | Improve this Doc View Source RootCertificateName Name of the root certificate. (This is valid only when RootCertificate property is not set.) If no certificate is provided then a default Root Certificate will be created and used. The provided root certificate will be stored in proxy exe directory with the private key. Root certificate file will be named as \"rootCert.pfx\". Declaration public string RootCertificateName { get; set; } Property Value Type Description String | Improve this Doc View Source SaveFakeCertificates Save all fake certificates using CertificateStorage . for can load the certificate and not make new certificate every time. Declaration public bool SaveFakeCertificates { get; set; } Property Value Type Description Boolean | Improve this Doc View Source StorageFlag Adjust behaviour when certificates are saved to filesystem. Declaration public X509KeyStorageFlags StorageFlag { get; set; } Property Value Type Description X509KeyStorageFlags Methods | Improve this Doc View Source ClearRootCertificate() Clear the root certificate and cache. Declaration public void ClearRootCertificate() | Improve this Doc View Source CreateRootCertificate(Boolean) Attempts to create a RootCertificate. Declaration public bool CreateRootCertificate(bool persistToFile = true) Parameters Type Name Description Boolean persistToFile if set to true try to load/save the certificate from rootCert.pfx. Returns Type Description Boolean true if succeeded, else false. | Improve this Doc View Source CreateServerCertificate(String) Creates a server certificate signed by the root certificate. Declaration public Task<X509Certificate2> CreateServerCertificate(string certificateName) Parameters Type Name Description String certificateName Returns Type Description Task < X509Certificate2 > | Improve this Doc View Source Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration public void Dispose() | Improve this Doc View Source EnsureRootCertificate() Ensure certificates are setup (creates root if required). Also makes root certificate trusted based on initial setup from proxy constructor for user/machine trust. Declaration public void EnsureRootCertificate() | Improve this Doc View Source EnsureRootCertificate(Boolean, Boolean, Boolean) Ensure certificates are setup (creates root if required). Also makes root certificate trusted based on provided parameters. Note:setting machineTrustRootCertificate to true will force userTrustRootCertificate to true. Declaration public void EnsureRootCertificate(bool userTrustRootCertificate, bool machineTrustRootCertificate, bool trustRootCertificateAsAdmin = false) Parameters Type Name Description Boolean userTrustRootCertificate Should fake HTTPS certificate be trusted by this machine's user certificate store? Boolean machineTrustRootCertificate Should fake HTTPS certificate be trusted by this machine's certificate store? Boolean trustRootCertificateAsAdmin Should we attempt to trust certificates with elevated permissions by prompting for UAC if required? | Improve this Doc View Source IsRootCertificateMachineTrusted() Determines whether the root certificate is machine trusted. Declaration public bool IsRootCertificateMachineTrusted() Returns Type Description Boolean | Improve this Doc View Source IsRootCertificateUserTrusted() Determines whether the root certificate is trusted. Declaration public bool IsRootCertificateUserTrusted() Returns Type Description Boolean | Improve this Doc View Source LoadRootCertificate() Loads root certificate from current executing assembly location with expected name rootCert.pfx. Declaration public X509Certificate2 LoadRootCertificate() Returns Type Description X509Certificate2 | Improve this Doc View Source LoadRootCertificate(String, String, Boolean, X509KeyStorageFlags) Manually load a Root certificate file from give path (.pfx file). Declaration public bool LoadRootCertificate(string pfxFilePath, string password, bool overwritePfXFile = true, X509KeyStorageFlags storageFlag = X509KeyStorageFlags.Exportable) Parameters Type Name Description String pfxFilePath Set the name(path) of the .pfx file. If it is string.Empty Root certificate file will be named as \"rootCert.pfx\" (and will be saved in proxy dll directory). String password Set a password for the .pfx file. Boolean overwritePfXFile true : replace an existing .pfx file if password is incorrect or if RootCertificate==null. X509KeyStorageFlags storageFlag Returns Type Description Boolean true if succeeded, else false. | Improve this Doc View Source RemoveTrustedRootCertificate(Boolean) Removes the trusted certificates from user store, optionally also from machine store. To remove from machine store elevated permissions are required (will fail silently otherwise). Declaration public void RemoveTrustedRootCertificate(bool machineTrusted = false) Parameters Type Name Description Boolean machineTrusted Should also remove from machine store? | Improve this Doc View Source RemoveTrustedRootCertificateAsAdmin(Boolean) Removes the trusted certificates from user store, optionally also from machine store Declaration public bool RemoveTrustedRootCertificateAsAdmin(bool machineTrusted = false) Parameters Type Name Description Boolean machineTrusted Returns Type Description Boolean Should also remove from machine store? | Improve this Doc View Source TrustRootCertificate(Boolean) Trusts the root certificate in user store, optionally also in machine store. Machine trust would require elevated permissions (will silently fail otherwise). Declaration public void TrustRootCertificate(bool machineTrusted = false) Parameters Type Name Description Boolean machineTrusted | Improve this Doc View Source TrustRootCertificateAsAdmin(Boolean) Puts the certificate to the user store, optionally also to machine store. Prompts with UAC if elevated permissions are required. Works only on Windows. Declaration public bool TrustRootCertificateAsAdmin(bool machineTrusted = false) Parameters Type Name Description Boolean machineTrusted Returns Type Description Boolean True if success. Implements System.IDisposable"
},
"api/Titanium.Web.Proxy.Network.html": {
"href": "api/Titanium.Web.Proxy.Network.html",
"title": "Namespace Titanium.Web.Proxy.Network | Titanium Web Proxy",
"keywords": "Namespace Titanium.Web.Proxy.Network Classes CertificateManager A class to manage SSL certificates used by this proxy server. Enums CertificateEngine Certificate Engine option."
},
"api/Titanium.Web.Proxy.ProxyServer.html": { "api/Titanium.Web.Proxy.ProxyServer.html": {
"href": "api/Titanium.Web.Proxy.ProxyServer.html", "href": "api/Titanium.Web.Proxy.ProxyServer.html",
"title": "Class ProxyServer | Titanium Web Proxy", "title": "Class ProxyServer | Titanium Web Proxy",
......
...@@ -559,6 +559,32 @@ references: ...@@ -559,6 +559,32 @@ references:
isSpec: "True" isSpec: "True"
fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoder
nameWithType: SessionEventArgs.WebSocketDecoder nameWithType: SessionEventArgs.WebSocketDecoder
- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive
name: WebSocketDecoderReceive
href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderReceive
commentId: P:Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive
fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive
nameWithType: SessionEventArgs.WebSocketDecoderReceive
- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive*
name: WebSocketDecoderReceive
href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderReceive_
commentId: Overload:Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive
isSpec: "True"
fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderReceive
nameWithType: SessionEventArgs.WebSocketDecoderReceive
- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend
name: WebSocketDecoderSend
href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderSend
commentId: P:Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend
fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend
nameWithType: SessionEventArgs.WebSocketDecoderSend
- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend*
name: WebSocketDecoderSend
href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgs.html#Titanium_Web_Proxy_EventArguments_SessionEventArgs_WebSocketDecoderSend_
commentId: Overload:Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend
isSpec: "True"
fullName: Titanium.Web.Proxy.EventArguments.SessionEventArgs.WebSocketDecoderSend
nameWithType: SessionEventArgs.WebSocketDecoderSend
- uid: Titanium.Web.Proxy.EventArguments.SessionEventArgsBase - uid: Titanium.Web.Proxy.EventArguments.SessionEventArgsBase
name: SessionEventArgsBase name: SessionEventArgsBase
href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html href: api/Titanium.Web.Proxy.EventArguments.SessionEventArgsBase.html
...@@ -2895,353 +2921,6 @@ references: ...@@ -2895,353 +2921,6 @@ references:
isSpec: "True" isSpec: "True"
fullName: Titanium.Web.Proxy.Models.TransparentProxyEndPoint.GenericCertificateName fullName: Titanium.Web.Proxy.Models.TransparentProxyEndPoint.GenericCertificateName
nameWithType: TransparentProxyEndPoint.GenericCertificateName nameWithType: TransparentProxyEndPoint.GenericCertificateName
- uid: Titanium.Web.Proxy.Network
name: Titanium.Web.Proxy.Network
href: api/Titanium.Web.Proxy.Network.html
commentId: N:Titanium.Web.Proxy.Network
fullName: Titanium.Web.Proxy.Network
nameWithType: Titanium.Web.Proxy.Network
- uid: Titanium.Web.Proxy.Network.CertificateEngine
name: CertificateEngine
href: api/Titanium.Web.Proxy.Network.CertificateEngine.html
commentId: T:Titanium.Web.Proxy.Network.CertificateEngine
fullName: Titanium.Web.Proxy.Network.CertificateEngine
nameWithType: CertificateEngine
- uid: Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastle
name: BouncyCastle
href: api/Titanium.Web.Proxy.Network.CertificateEngine.html#Titanium_Web_Proxy_Network_CertificateEngine_BouncyCastle
commentId: F:Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastle
fullName: Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastle
nameWithType: CertificateEngine.BouncyCastle
- uid: Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastleFast
name: BouncyCastleFast
href: api/Titanium.Web.Proxy.Network.CertificateEngine.html#Titanium_Web_Proxy_Network_CertificateEngine_BouncyCastleFast
commentId: F:Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastleFast
fullName: Titanium.Web.Proxy.Network.CertificateEngine.BouncyCastleFast
nameWithType: CertificateEngine.BouncyCastleFast
- uid: Titanium.Web.Proxy.Network.CertificateEngine.DefaultWindows
name: DefaultWindows
href: api/Titanium.Web.Proxy.Network.CertificateEngine.html#Titanium_Web_Proxy_Network_CertificateEngine_DefaultWindows
commentId: F:Titanium.Web.Proxy.Network.CertificateEngine.DefaultWindows
fullName: Titanium.Web.Proxy.Network.CertificateEngine.DefaultWindows
nameWithType: CertificateEngine.DefaultWindows
- uid: Titanium.Web.Proxy.Network.CertificateManager
name: CertificateManager
href: api/Titanium.Web.Proxy.Network.CertificateManager.html
commentId: T:Titanium.Web.Proxy.Network.CertificateManager
fullName: Titanium.Web.Proxy.Network.CertificateManager
nameWithType: CertificateManager
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes
name: CertificateCacheTimeOutMinutes
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateCacheTimeOutMinutes
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes
nameWithType: CertificateManager.CertificateCacheTimeOutMinutes
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes*
name: CertificateCacheTimeOutMinutes
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateCacheTimeOutMinutes_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateCacheTimeOutMinutes
nameWithType: CertificateManager.CertificateCacheTimeOutMinutes
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine
name: CertificateEngine
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateEngine
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine
nameWithType: CertificateManager.CertificateEngine
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine*
name: CertificateEngine
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateEngine_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateEngine
nameWithType: CertificateManager.CertificateEngine
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage
name: CertificateStorage
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateStorage
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage
nameWithType: CertificateManager.CertificateStorage
- uid: Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage*
name: CertificateStorage
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CertificateStorage_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.CertificateStorage
nameWithType: CertificateManager.CertificateStorage
- uid: Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate
name: ClearRootCertificate()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_ClearRootCertificate
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate
fullName: Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate()
nameWithType: CertificateManager.ClearRootCertificate()
- uid: Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate*
name: ClearRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_ClearRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.ClearRootCertificate
nameWithType: CertificateManager.ClearRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate(System.Boolean)
name: CreateRootCertificate(Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CreateRootCertificate_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate(System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate(System.Boolean)
nameWithType: CertificateManager.CreateRootCertificate(Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate*
name: CreateRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CreateRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.CreateRootCertificate
nameWithType: CertificateManager.CreateRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate(System.String)
name: CreateServerCertificate(String)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CreateServerCertificate_System_String_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate(System.String)
fullName: Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate(System.String)
nameWithType: CertificateManager.CreateServerCertificate(String)
- uid: Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate*
name: CreateServerCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_CreateServerCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.CreateServerCertificate
nameWithType: CertificateManager.CreateServerCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.Dispose
name: Dispose()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_Dispose
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.Dispose
fullName: Titanium.Web.Proxy.Network.CertificateManager.Dispose()
nameWithType: CertificateManager.Dispose()
- uid: Titanium.Web.Proxy.Network.CertificateManager.Dispose*
name: Dispose
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_Dispose_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.Dispose
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.Dispose
nameWithType: CertificateManager.Dispose
- uid: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate
name: EnsureRootCertificate()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_EnsureRootCertificate
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate
fullName: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate()
nameWithType: CertificateManager.EnsureRootCertificate()
- uid: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate(System.Boolean,System.Boolean,System.Boolean)
name: EnsureRootCertificate(Boolean, Boolean, Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_EnsureRootCertificate_System_Boolean_System_Boolean_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate(System.Boolean,System.Boolean,System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate(System.Boolean, System.Boolean, System.Boolean)
nameWithType: CertificateManager.EnsureRootCertificate(Boolean, Boolean, Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate*
name: EnsureRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_EnsureRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.EnsureRootCertificate
nameWithType: CertificateManager.EnsureRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted
name: IsRootCertificateMachineTrusted()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_IsRootCertificateMachineTrusted
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted
fullName: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted()
nameWithType: CertificateManager.IsRootCertificateMachineTrusted()
- uid: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted*
name: IsRootCertificateMachineTrusted
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_IsRootCertificateMachineTrusted_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateMachineTrusted
nameWithType: CertificateManager.IsRootCertificateMachineTrusted
- uid: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted
name: IsRootCertificateUserTrusted()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_IsRootCertificateUserTrusted
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted
fullName: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted()
nameWithType: CertificateManager.IsRootCertificateUserTrusted()
- uid: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted*
name: IsRootCertificateUserTrusted
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_IsRootCertificateUserTrusted_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.IsRootCertificateUserTrusted
nameWithType: CertificateManager.IsRootCertificateUserTrusted
- uid: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate
name: LoadRootCertificate()
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_LoadRootCertificate
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate
fullName: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate()
nameWithType: CertificateManager.LoadRootCertificate()
- uid: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate(System.String,System.String,System.Boolean,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)
name: LoadRootCertificate(String, String, Boolean, X509KeyStorageFlags)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_LoadRootCertificate_System_String_System_String_System_Boolean_System_Security_Cryptography_X509Certificates_X509KeyStorageFlags_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate(System.String,System.String,System.Boolean,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)
fullName: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate(System.String, System.String, System.Boolean, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)
nameWithType: CertificateManager.LoadRootCertificate(String, String, Boolean, X509KeyStorageFlags)
- uid: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate*
name: LoadRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_LoadRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.LoadRootCertificate
nameWithType: CertificateManager.LoadRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile
name: OverwritePfxFile
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_OverwritePfxFile
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile
fullName: Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile
nameWithType: CertificateManager.OverwritePfxFile
- uid: Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile*
name: OverwritePfxFile
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_OverwritePfxFile_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.OverwritePfxFile
nameWithType: CertificateManager.OverwritePfxFile
- uid: Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath
name: PfxFilePath
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_PfxFilePath
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath
fullName: Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath
nameWithType: CertificateManager.PfxFilePath
- uid: Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath*
name: PfxFilePath
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_PfxFilePath_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.PfxFilePath
nameWithType: CertificateManager.PfxFilePath
- uid: Titanium.Web.Proxy.Network.CertificateManager.PfxPassword
name: PfxPassword
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_PfxPassword
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.PfxPassword
fullName: Titanium.Web.Proxy.Network.CertificateManager.PfxPassword
nameWithType: CertificateManager.PfxPassword
- uid: Titanium.Web.Proxy.Network.CertificateManager.PfxPassword*
name: PfxPassword
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_PfxPassword_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.PfxPassword
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.PfxPassword
nameWithType: CertificateManager.PfxPassword
- uid: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate(System.Boolean)
name: RemoveTrustedRootCertificate(Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RemoveTrustedRootCertificate_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate(System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate(System.Boolean)
nameWithType: CertificateManager.RemoveTrustedRootCertificate(Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate*
name: RemoveTrustedRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RemoveTrustedRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificate
nameWithType: CertificateManager.RemoveTrustedRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin(System.Boolean)
name: RemoveTrustedRootCertificateAsAdmin(Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RemoveTrustedRootCertificateAsAdmin_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin(System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin(System.Boolean)
nameWithType: CertificateManager.RemoveTrustedRootCertificateAsAdmin(Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin*
name: RemoveTrustedRootCertificateAsAdmin
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RemoveTrustedRootCertificateAsAdmin_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.RemoveTrustedRootCertificateAsAdmin
nameWithType: CertificateManager.RemoveTrustedRootCertificateAsAdmin
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificate
name: RootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificate
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.RootCertificate
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificate
nameWithType: CertificateManager.RootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificate*
name: RootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.RootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificate
nameWithType: CertificateManager.RootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName
name: RootCertificateIssuerName
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificateIssuerName
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName
nameWithType: CertificateManager.RootCertificateIssuerName
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName*
name: RootCertificateIssuerName
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificateIssuerName_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateIssuerName
nameWithType: CertificateManager.RootCertificateIssuerName
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName
name: RootCertificateName
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificateName
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName
nameWithType: CertificateManager.RootCertificateName
- uid: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName*
name: RootCertificateName
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_RootCertificateName_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.RootCertificateName
nameWithType: CertificateManager.RootCertificateName
- uid: Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates
name: SaveFakeCertificates
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_SaveFakeCertificates
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates
fullName: Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates
nameWithType: CertificateManager.SaveFakeCertificates
- uid: Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates*
name: SaveFakeCertificates
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_SaveFakeCertificates_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.SaveFakeCertificates
nameWithType: CertificateManager.SaveFakeCertificates
- uid: Titanium.Web.Proxy.Network.CertificateManager.StorageFlag
name: StorageFlag
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_StorageFlag
commentId: P:Titanium.Web.Proxy.Network.CertificateManager.StorageFlag
fullName: Titanium.Web.Proxy.Network.CertificateManager.StorageFlag
nameWithType: CertificateManager.StorageFlag
- uid: Titanium.Web.Proxy.Network.CertificateManager.StorageFlag*
name: StorageFlag
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_StorageFlag_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.StorageFlag
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.StorageFlag
nameWithType: CertificateManager.StorageFlag
- uid: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate(System.Boolean)
name: TrustRootCertificate(Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_TrustRootCertificate_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate(System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate(System.Boolean)
nameWithType: CertificateManager.TrustRootCertificate(Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate*
name: TrustRootCertificate
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_TrustRootCertificate_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificate
nameWithType: CertificateManager.TrustRootCertificate
- uid: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin(System.Boolean)
name: TrustRootCertificateAsAdmin(Boolean)
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_TrustRootCertificateAsAdmin_System_Boolean_
commentId: M:Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin(System.Boolean)
fullName: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin(System.Boolean)
nameWithType: CertificateManager.TrustRootCertificateAsAdmin(Boolean)
- uid: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin*
name: TrustRootCertificateAsAdmin
href: api/Titanium.Web.Proxy.Network.CertificateManager.html#Titanium_Web_Proxy_Network_CertificateManager_TrustRootCertificateAsAdmin_
commentId: Overload:Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin
isSpec: "True"
fullName: Titanium.Web.Proxy.Network.CertificateManager.TrustRootCertificateAsAdmin
nameWithType: CertificateManager.TrustRootCertificateAsAdmin
- uid: Titanium.Web.Proxy.ProxyServer - uid: Titanium.Web.Proxy.ProxyServer
name: ProxyServer name: ProxyServer
href: api/Titanium.Web.Proxy.ProxyServer.html href: api/Titanium.Web.Proxy.ProxyServer.html
......
...@@ -156,7 +156,11 @@ namespace Titanium.Web.Proxy.Examples.Basic ...@@ -156,7 +156,11 @@ namespace Titanium.Web.Proxy.Examples.Basic
// this is just to show the functionality, provided values are junk // this is just to show the functionality, provided values are junk
return new ExternalProxy return new ExternalProxy
{ {
BypassLocalhost = false, HostName = "127.0.0.9", Port = 9090, Password = "fake", UserName = "fake", BypassLocalhost = false,
HostName = "127.0.0.9",
Port = 9090,
Password = "fake",
UserName = "fake",
UseDefaultCredentials = false UseDefaultCredentials = false
}; };
} }
...@@ -168,7 +172,11 @@ namespace Titanium.Web.Proxy.Examples.Basic ...@@ -168,7 +172,11 @@ namespace Titanium.Web.Proxy.Examples.Basic
// this is just to show the functionality, provided values are junk // this is just to show the functionality, provided values are junk
return new ExternalProxy return new ExternalProxy
{ {
BypassLocalhost = false, HostName = "127.0.0.10", Port = 9191, Password = "fake2", UserName = "fake2", BypassLocalhost = false,
HostName = "127.0.0.10",
Port = 9191,
Password = "fake2",
UserName = "fake2",
UseDefaultCredentials = false UseDefaultCredentials = false
}; };
} }
...@@ -422,4 +430,3 @@ namespace Titanium.Web.Proxy.Examples.Basic ...@@ -422,4 +430,3 @@ namespace Titanium.Web.Proxy.Examples.Basic
//} //}
} }
} }
using System; using System.Text;
using System.Text;
namespace Titanium.Web.Proxy.Examples.Basic namespace Titanium.Web.Proxy.Examples.Basic
{ {
......
...@@ -104,7 +104,7 @@ namespace Titanium.Web.Proxy.Examples.Wpf ...@@ -104,7 +104,7 @@ namespace Titanium.Web.Proxy.Examples.Wpf
Dispatcher.Invoke(() => { ServerConnectionCount = proxyServer.ServerConnectionCount; }); Dispatcher.Invoke(() => { ServerConnectionCount = proxyServer.ServerConnectionCount; });
}; };
proxyServer.Start(); proxyServer.Start();
proxyServer.SetAsSystemProxy(explicitEndPoint, ProxyProtocolType.AllHttp); proxyServer.SetAsSystemProxy(explicitEndPoint, ProxyProtocolType.AllHttp);
InitializeComponent(); InitializeComponent();
...@@ -279,7 +279,7 @@ namespace Titanium.Web.Proxy.Examples.Wpf ...@@ -279,7 +279,7 @@ namespace Titanium.Web.Proxy.Examples.Wpf
li.SentDataCount += args.Count; li.SentDataCount += args.Count;
//if (tunnelType == TunnelType.Http2) //if (tunnelType == TunnelType.Http2)
AppendTransferLog( session.GetHashCode() + (isTunnelConnect ? "_tunnel" : "") + "_sent", AppendTransferLog(session.GetHashCode() + (isTunnelConnect ? "_tunnel" : "") + "_sent",
args.Buffer, args.Offset, args.Count); args.Buffer, args.Offset, args.Count);
} }
}; };
......
...@@ -162,7 +162,7 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -162,7 +162,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
const string password = "password"; const string password = "password";
Pkcs12Store store; Pkcs12Store store;
if(RunTime.IsRunningOnMono) if (RunTime.IsRunningOnMono)
{ {
var builder = new Pkcs12StoreBuilder(); var builder = new Pkcs12StoreBuilder();
builder.SetUseDerEncoding(true); builder.SetUseDerEncoding(true);
...@@ -172,7 +172,7 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -172,7 +172,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
{ {
store = new Pkcs12Store(); store = new Pkcs12Store();
} }
var entry = new X509CertificateEntry(certificate); var entry = new X509CertificateEntry(certificate);
store.SetCertificateEntry(certificate.SubjectDN.ToString(), entry); store.SetCertificateEntry(certificate.SubjectDN.ToString(), entry);
......
...@@ -171,7 +171,7 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -171,7 +171,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
const string password = "password"; const string password = "password";
Pkcs12Store store; Pkcs12Store store;
if(RunTime.IsRunningOnMono) if (RunTime.IsRunningOnMono)
{ {
var builder = new Pkcs12StoreBuilder(); var builder = new Pkcs12StoreBuilder();
builder.SetUseDerEncoding(true); builder.SetUseDerEncoding(true);
...@@ -181,7 +181,7 @@ namespace Titanium.Web.Proxy.Network.Certificate ...@@ -181,7 +181,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
{ {
store = new Pkcs12Store(); store = new Pkcs12Store();
} }
var entry = new X509CertificateEntry(certificate); var entry = new X509CertificateEntry(certificate);
store.SetCertificateEntry(certificate.SubjectDN.ToString(), entry); store.SetCertificateEntry(certificate.SubjectDN.ToString(), entry);
......
...@@ -12,7 +12,7 @@ namespace Titanium.Web.Proxy.Network ...@@ -12,7 +12,7 @@ namespace Titanium.Web.Proxy.Network
{ {
Certificate = certificate; Certificate = certificate;
} }
internal X509Certificate2 Certificate { get; } internal X509Certificate2 Certificate { get; }
/// <summary> /// <summary>
......
...@@ -25,7 +25,7 @@ namespace Titanium.Web.Proxy.Network ...@@ -25,7 +25,7 @@ namespace Titanium.Web.Proxy.Network
BouncyCastle = 0, BouncyCastle = 0,
BouncyCastleFast = 2, BouncyCastleFast = 2,
/// <summary> /// <summary>
/// Uses Windows Certification Generation API and only valid in Windows OS. /// Uses Windows Certification Generation API and only valid in Windows OS.
/// Observed to be faster than BouncyCastle. /// Observed to be faster than BouncyCastle.
......
...@@ -6,13 +6,12 @@ using Titanium.Web.Proxy.Helpers; ...@@ -6,13 +6,12 @@ using Titanium.Web.Proxy.Helpers;
namespace Titanium.Web.Proxy.Network namespace Titanium.Web.Proxy.Network
{ {
internal sealed class DefaultCertificateDiskCache : ICertificateCache public sealed class DefaultCertificateDiskCache : ICertificateCache
{ {
private const string defaultCertificateDirectoryName = "crts"; private const string defaultCertificateDirectoryName = "crts";
private const string defaultCertificateFileExtension = ".pfx"; private const string defaultCertificateFileExtension = ".pfx";
private const string defaultRootCertificateFileName = "rootCert" + defaultCertificateFileExtension; private const string defaultRootCertificateFileName = "rootCert" + defaultCertificateFileExtension;
private string? rootCertificatePath; private string? rootCertificatePath;
private string? certificatePath;
public X509Certificate2? LoadRootCertificate(string pathOrName, string password, X509KeyStorageFlags storageFlags) public X509Certificate2? LoadRootCertificate(string pathOrName, string password, X509KeyStorageFlags storageFlags)
{ {
...@@ -56,8 +55,6 @@ namespace Titanium.Web.Proxy.Network ...@@ -56,8 +55,6 @@ namespace Titanium.Web.Proxy.Network
{ {
// do nothing // do nothing
} }
certificatePath = null;
} }
private X509Certificate2? loadCertificate(string path, string password, X509KeyStorageFlags storageFlags) private X509Certificate2? loadCertificate(string path, string password, X509KeyStorageFlags storageFlags)
...@@ -95,20 +92,15 @@ namespace Titanium.Web.Proxy.Network ...@@ -95,20 +92,15 @@ namespace Titanium.Web.Proxy.Network
private string getCertificatePath(bool create) private string getCertificatePath(bool create)
{ {
if (certificatePath == null) string path = getRootCertificateDirectory();
{
string path = getRootCertificateDirectory();
string certPath = Path.Combine(path, defaultCertificateDirectoryName);
if (create && !Directory.Exists(certPath))
{
Directory.CreateDirectory(certPath);
}
certificatePath = certPath; string certPath = Path.Combine(path, defaultCertificateDirectoryName);
if (create && !Directory.Exists(certPath))
{
Directory.CreateDirectory(certPath);
} }
return certificatePath; return certPath;
} }
private string getRootCertificateDirectory() private string getRootCertificateDirectory()
......
using System; using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Http;
namespace Titanium.Web.Proxy.Compression namespace Titanium.Web.Proxy.Compression
{ {
......
using System; namespace Titanium.Web.Proxy.Compression
namespace Titanium.Web.Proxy.Compression
{ {
internal enum HttpCompression internal enum HttpCompression
{ {
......
using System; using System.Threading;
using System.Threading;
using Titanium.Web.Proxy.Network.Tcp; using Titanium.Web.Proxy.Network.Tcp;
namespace Titanium.Web.Proxy.EventArguments namespace Titanium.Web.Proxy.EventArguments
......
using System; using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.X509Certificates;
namespace Titanium.Web.Proxy.EventArguments namespace Titanium.Web.Proxy.EventArguments
{ {
......
using System; using System.Net.Security;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
namespace Titanium.Web.Proxy.EventArguments namespace Titanium.Web.Proxy.EventArguments
......
using System; using Titanium.Web.Proxy.Network.Tcp;
using Titanium.Web.Proxy.Network.Tcp;
namespace Titanium.Web.Proxy.EventArguments namespace Titanium.Web.Proxy.EventArguments
{ {
......
...@@ -20,7 +20,7 @@ namespace Titanium.Web.Proxy.EventArguments ...@@ -20,7 +20,7 @@ namespace Titanium.Web.Proxy.EventArguments
internal LimitedStream(IHttpStreamReader baseStream, IBufferPool bufferPool, bool isChunked, internal LimitedStream(IHttpStreamReader baseStream, IBufferPool bufferPool, bool isChunked,
long contentLength) long contentLength)
{ {
this.baseReader = baseStream; this.baseReader = baseStream;
this.bufferPool = bufferPool; this.bufferPool = bufferPool;
this.isChunked = isChunked; this.isChunked = isChunked;
......
...@@ -25,7 +25,9 @@ namespace Titanium.Web.Proxy.EventArguments ...@@ -25,7 +25,9 @@ namespace Titanium.Web.Proxy.EventArguments
/// </summary> /// </summary>
private bool reRequest; private bool reRequest;
private WebSocketDecoder? webSocketDecoder; private WebSocketDecoder? webSocketDecoderSend;
private WebSocketDecoder? webSocketDecoderReceive;
/// <summary> /// <summary>
/// Is this session a HTTP/2 promise? /// Is this session a HTTP/2 promise?
...@@ -59,7 +61,12 @@ namespace Titanium.Web.Proxy.EventArguments ...@@ -59,7 +61,12 @@ namespace Titanium.Web.Proxy.EventArguments
} }
} }
public WebSocketDecoder WebSocketDecoder => webSocketDecoder ??= new WebSocketDecoder(BufferPool); [Obsolete("Use [WebSocketDecoderReceive] instead")]
public WebSocketDecoder WebSocketDecoder => WebSocketDecoderReceive;
public WebSocketDecoder WebSocketDecoderSend => webSocketDecoderSend ??= new WebSocketDecoder(BufferPool);
public WebSocketDecoder WebSocketDecoderReceive => webSocketDecoderReceive ??= new WebSocketDecoder(BufferPool);
/// <summary> /// <summary>
/// Occurs when multipart request part sent. /// Occurs when multipart request part sent.
...@@ -588,7 +595,7 @@ namespace Titanium.Web.Proxy.EventArguments ...@@ -588,7 +595,7 @@ namespace Titanium.Web.Proxy.EventArguments
{ {
HttpClient.Request.Locked = true; HttpClient.Request.Locked = true;
HttpClient.Request.CancelRequest = true; HttpClient.Request.CancelRequest = true;
// set new response. // set new response.
HttpClient.Response = response; HttpClient.Response = response;
HttpClient.Response.Locked = true; HttpClient.Response.Locked = true;
......
...@@ -62,7 +62,7 @@ namespace Titanium.Web.Proxy.Extensions ...@@ -62,7 +62,7 @@ namespace Titanium.Web.Proxy.Extensions
} }
} }
internal static async Task<T> WithCancellation<T>(this Task<T> task, CancellationToken cancellationToken) where T : struct internal static async Task<T> WithCancellation<T>(this Task<T> task, CancellationToken cancellationToken) where T : struct
{ {
var tcs = new TaskCompletionSource<bool>(); var tcs = new TaskCompletionSource<bool>();
using (cancellationToken.Register(s => ((TaskCompletionSource<bool>)s).TrySetResult(true), tcs)) using (cancellationToken.Register(s => ((TaskCompletionSource<bool>)s).TrySetResult(true), tcs))
......
using System; using System.Net.Sockets;
using System.Net.Sockets;
namespace Titanium.Web.Proxy.Extensions namespace Titanium.Web.Proxy.Extensions
{ {
......
using System; using System.IO;
using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Titanium.Web.Proxy.Http; using Titanium.Web.Proxy.Http;
...@@ -12,7 +11,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -12,7 +11,7 @@ namespace Titanium.Web.Proxy.Helpers
{ {
public TcpClientConnection Connection { get; } public TcpClientConnection Connection { get; }
internal HttpClientStream(TcpClientConnection connection, Stream stream, IBufferPool bufferPool, CancellationToken cancellationToken) internal HttpClientStream(TcpClientConnection connection, Stream stream, IBufferPool bufferPool, CancellationToken cancellationToken)
: base(stream, bufferPool, cancellationToken) : base(stream, bufferPool, cancellationToken)
{ {
Connection = connection; Connection = connection;
...@@ -27,10 +26,10 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -27,10 +26,10 @@ namespace Titanium.Web.Proxy.Helpers
internal async ValueTask WriteResponseAsync(Response response, CancellationToken cancellationToken = default) internal async ValueTask WriteResponseAsync(Response response, CancellationToken cancellationToken = default)
{ {
var headerBuilder = new HeaderBuilder(); var headerBuilder = new HeaderBuilder();
// Write back response status to client // Write back response status to client
headerBuilder.WriteResponseLine(response.HttpVersion, response.StatusCode, response.StatusDescription); headerBuilder.WriteResponseLine(response.HttpVersion, response.StatusCode, response.StatusDescription);
await WriteAsync(response, headerBuilder, cancellationToken); await WriteAsync(response, headerBuilder, cancellationToken);
} }
......
...@@ -9,6 +9,7 @@ using System.Threading; ...@@ -9,6 +9,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Titanium.Web.Proxy.Compression; using Titanium.Web.Proxy.Compression;
using Titanium.Web.Proxy.EventArguments; using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Exceptions;
using Titanium.Web.Proxy.Extensions; using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Http; using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
...@@ -1017,7 +1018,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -1017,7 +1018,7 @@ namespace Titanium.Web.Proxy.Helpers
string? contentEncoding = useOriginalHeaderValues ? requestResponse.OriginalContentEncoding : requestResponse.ContentEncoding; string? contentEncoding = useOriginalHeaderValues ? requestResponse.OriginalContentEncoding : requestResponse.ContentEncoding;
Stream s = limitedStream = new LimitedStream(this, bufferPool, isChunked, contentLength); Stream s = limitedStream = new LimitedStream(this, bufferPool, isChunked, contentLength);
if (transformation == TransformationMode.Uncompress && contentEncoding != null) if (transformation == TransformationMode.Uncompress && contentEncoding != null)
{ {
s = decompressStream = DecompressionFactory.Create(CompressionUtil.CompressionNameToEnum(contentEncoding), s); s = decompressStream = DecompressionFactory.Create(CompressionUtil.CompressionNameToEnum(contentEncoding), s);
...@@ -1102,13 +1103,16 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -1102,13 +1103,16 @@ namespace Titanium.Web.Proxy.Helpers
return; return;
} }
int idx = chunkHead.IndexOf(";"); int idx = chunkHead.IndexOf(";", StringComparison.Ordinal);
if (idx >= 0) if (idx >= 0)
{ {
chunkHead = chunkHead.Substring(0, idx); chunkHead = chunkHead.Substring(0, idx);
} }
int chunkSize = int.Parse(chunkHead, NumberStyles.HexNumber); if (!int.TryParse(chunkHead, NumberStyles.HexNumber, null, out int chunkSize))
{
throw new ProxyHttpException($"Invalid chunk length: '{chunkHead}'", null, null);
}
await writer.WriteLineAsync(chunkHead, cancellationToken); await writer.WriteLineAsync(chunkHead, cancellationToken);
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
// RFC 4437: Web Distributed Authoring and Versioning (WebDAV): Redirect Reference Resources // RFC 4437: Web Distributed Authoring and Versioning (WebDAV): Redirect Reference Resources
Mkredirectref, Mkredirectref,
Updateredirectref, Updateredirectref,
// RFC 4791: Calendaring Extensions to WebDAV (CalDAV) // RFC 4791: Calendaring Extensions to WebDAV (CalDAV)
Mkcalendar, Mkcalendar,
......
...@@ -8,7 +8,7 @@ namespace Titanium.Web.Proxy ...@@ -8,7 +8,7 @@ namespace Titanium.Web.Proxy
{ {
public static byte[] EmptyArray = new byte[0]; public static byte[] EmptyArray = new byte[0];
public static Task CompletedTask = new Task(() => { }); public static Task CompletedTask = Task.FromResult<object>(null);
} }
} }
#endif #endif
...@@ -53,7 +53,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -53,7 +53,7 @@ namespace Titanium.Web.Proxy.Helpers
} }
try try
{ {
// do reverse DNS lookup even if hostName is an IP address // do reverse DNS lookup even if hostName is an IP address
var hostEntry = Dns.GetHostEntry(hostName); var hostEntry = Dns.GetHostEntry(hostName);
// if DNS resolved hostname matches local DNS name, // if DNS resolved hostname matches local DNS name,
......
...@@ -19,7 +19,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -19,7 +19,7 @@ namespace Titanium.Web.Proxy.Helpers
public Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) public Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
{ {
#if NET45 #if NET45
return Net45Compatibility.CompletedTask; return Net45Compatibility.CompletedTask;
#else #else
return Task.CompletedTask; return Task.CompletedTask;
#endif #endif
......
using System; using System;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Runtime.Versioning; using System.Runtime.Versioning;
using System.Text;
namespace Titanium.Web.Proxy.Helpers namespace Titanium.Web.Proxy.Helpers
{ {
...@@ -63,7 +63,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -63,7 +63,7 @@ namespace Titanium.Web.Proxy.Helpers
public static bool IsUwpOnWindows => IsWindows && UwpHelper.IsRunningAsUwp(); public static bool IsUwpOnWindows => IsWindows && UwpHelper.IsRunningAsUwp();
public static bool IsMac => isRunningOnMac; public static bool IsMac => isRunningOnMac;
/// <summary> /// <summary>
/// Is socket reuse available to use? /// Is socket reuse available to use?
/// </summary> /// </summary>
......
...@@ -345,9 +345,9 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -345,9 +345,9 @@ namespace Titanium.Web.Proxy.Helpers
/// <summary> /// <summary>
/// Opens the registry key with the internet settings /// Opens the registry key with the internet settings
/// </summary> /// </summary>
private static RegistryKey openInternetSettingsKey() private static RegistryKey? openInternetSettingsKey()
{ {
return Registry.CurrentUser.OpenSubKey(regKeyInternetSettings, true); return Registry.CurrentUser?.OpenSubKey(regKeyInternetSettings, true);
} }
} }
} }
...@@ -130,7 +130,7 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -130,7 +130,7 @@ namespace Titanium.Web.Proxy.Helpers
/// <param name="cancellationTokenSource"></param> /// <param name="cancellationTokenSource"></param>
/// <param name="exceptionFunc"></param> /// <param name="exceptionFunc"></param>
/// <returns></returns> /// <returns></returns>
internal static Task SendRaw(Stream clientStream, Stream serverStream, IBufferPool bufferPool, internal static Task SendRaw(Stream clientStream, Stream serverStream, IBufferPool bufferPool,
Action<byte[], int, int>? onDataSend, Action<byte[], int, int>? onDataReceive, Action<byte[], int, int>? onDataSend, Action<byte[], int, int>? onDataReceive,
CancellationTokenSource cancellationTokenSource, CancellationTokenSource cancellationTokenSource,
ExceptionHandler exceptionFunc) ExceptionHandler exceptionFunc)
......
using System; using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.StreamExtended; using Titanium.Web.Proxy.StreamExtended;
namespace Titanium.Web.Proxy.Http namespace Titanium.Web.Proxy.Http
......
...@@ -145,7 +145,7 @@ namespace Titanium.Web.Proxy.Http ...@@ -145,7 +145,7 @@ namespace Titanium.Web.Proxy.Http
{ {
url = "/"; url = "/";
} }
// prepare the request & headers // prepare the request & headers
var headerBuilder = new HeaderBuilder(); var headerBuilder = new HeaderBuilder();
headerBuilder.WriteRequestLine(Request.Method, url, Request.HttpVersion); headerBuilder.WriteRequestLine(Request.Method, url, Request.HttpVersion);
......
...@@ -210,7 +210,7 @@ namespace Titanium.Web.Proxy.Http ...@@ -210,7 +210,7 @@ namespace Titanium.Web.Proxy.Http
internal bool Locked { get; set; } internal bool Locked { get; set; }
internal bool BodyAvailable => BodyInternal != null; internal bool BodyAvailable => BodyInternal != null;
internal bool IsBodySent { get; set; } internal bool IsBodySent { get; set; }
internal abstract void EnsureBodyAvailable(bool throwWhenNotReadYet = true); internal abstract void EnsureBodyAvailable(bool throwWhenNotReadYet = true);
......
...@@ -103,7 +103,7 @@ namespace Titanium.Web.Proxy.Http2.Hpack ...@@ -103,7 +103,7 @@ namespace Titanium.Web.Proxy.Http2.Hpack
if (headerField != null) if (headerField != null)
{ {
int index = getIndex(headerField.Index) + StaticTable.Length; int index = getIndex(headerField.Index) + StaticTable.Length;
// Section 6.1. Indexed Header Field Representation // Section 6.1. Indexed Header Field Representation
encodeInteger(output, 0x80, 7, index); encodeInteger(output, 0x80, 7, index);
} }
......
...@@ -15,302 +15,300 @@ ...@@ -15,302 +15,300 @@
* limitations under the License. * limitations under the License.
*/ */
using System;
namespace Titanium.Web.Proxy.Http2.Hpack namespace Titanium.Web.Proxy.Http2.Hpack
{ {
public static class HpackUtil public static class HpackUtil
{ {
// Section 6.2. Literal Header Field Representation // Section 6.2. Literal Header Field Representation
public enum IndexType public enum IndexType
{ {
Incremental, // Section 6.2.1. Literal Header Field with Incremental Indexing Incremental, // Section 6.2.1. Literal Header Field with Incremental Indexing
None, // Section 6.2.2. Literal Header Field without Indexing None, // Section 6.2.2. Literal Header Field without Indexing
Never // Section 6.2.3. Literal Header Field never Indexed Never // Section 6.2.3. Literal Header Field never Indexed
} }
// Appendix B: Huffman Codes // Appendix B: Huffman Codes
// http://tools.ietf.org/html/rfc7541#appendix-B // http://tools.ietf.org/html/rfc7541#appendix-B
public static readonly int[] HuffmanCodes = { public static readonly int[] HuffmanCodes = {
0x1ff8, 0x1ff8,
0x7fffd8, 0x7fffd8,
0xfffffe2, 0xfffffe2,
0xfffffe3, 0xfffffe3,
0xfffffe4, 0xfffffe4,
0xfffffe5, 0xfffffe5,
0xfffffe6, 0xfffffe6,
0xfffffe7, 0xfffffe7,
0xfffffe8, 0xfffffe8,
0xffffea, 0xffffea,
0x3ffffffc, 0x3ffffffc,
0xfffffe9, 0xfffffe9,
0xfffffea, 0xfffffea,
0x3ffffffd, 0x3ffffffd,
0xfffffeb, 0xfffffeb,
0xfffffec, 0xfffffec,
0xfffffed, 0xfffffed,
0xfffffee, 0xfffffee,
0xfffffef, 0xfffffef,
0xffffff0, 0xffffff0,
0xffffff1, 0xffffff1,
0xffffff2, 0xffffff2,
0x3ffffffe, 0x3ffffffe,
0xffffff3, 0xffffff3,
0xffffff4, 0xffffff4,
0xffffff5, 0xffffff5,
0xffffff6, 0xffffff6,
0xffffff7, 0xffffff7,
0xffffff8, 0xffffff8,
0xffffff9, 0xffffff9,
0xffffffa, 0xffffffa,
0xffffffb, 0xffffffb,
0x14, 0x14,
0x3f8, 0x3f8,
0x3f9, 0x3f9,
0xffa, 0xffa,
0x1ff9, 0x1ff9,
0x15, 0x15,
0xf8, 0xf8,
0x7fa, 0x7fa,
0x3fa, 0x3fa,
0x3fb, 0x3fb,
0xf9, 0xf9,
0x7fb, 0x7fb,
0xfa, 0xfa,
0x16, 0x16,
0x17, 0x17,
0x18, 0x18,
0x0, 0x0,
0x1, 0x1,
0x2, 0x2,
0x19, 0x19,
0x1a, 0x1a,
0x1b, 0x1b,
0x1c, 0x1c,
0x1d, 0x1d,
0x1e, 0x1e,
0x1f, 0x1f,
0x5c, 0x5c,
0xfb, 0xfb,
0x7ffc, 0x7ffc,
0x20, 0x20,
0xffb, 0xffb,
0x3fc, 0x3fc,
0x1ffa, 0x1ffa,
0x21, 0x21,
0x5d, 0x5d,
0x5e, 0x5e,
0x5f, 0x5f,
0x60, 0x60,
0x61, 0x61,
0x62, 0x62,
0x63, 0x63,
0x64, 0x64,
0x65, 0x65,
0x66, 0x66,
0x67, 0x67,
0x68, 0x68,
0x69, 0x69,
0x6a, 0x6a,
0x6b, 0x6b,
0x6c, 0x6c,
0x6d, 0x6d,
0x6e, 0x6e,
0x6f, 0x6f,
0x70, 0x70,
0x71, 0x71,
0x72, 0x72,
0xfc, 0xfc,
0x73, 0x73,
0xfd, 0xfd,
0x1ffb, 0x1ffb,
0x7fff0, 0x7fff0,
0x1ffc, 0x1ffc,
0x3ffc, 0x3ffc,
0x22, 0x22,
0x7ffd, 0x7ffd,
0x3, 0x3,
0x23, 0x23,
0x4, 0x4,
0x24, 0x24,
0x5, 0x5,
0x25, 0x25,
0x26, 0x26,
0x27, 0x27,
0x6, 0x6,
0x74, 0x74,
0x75, 0x75,
0x28, 0x28,
0x29, 0x29,
0x2a, 0x2a,
0x7, 0x7,
0x2b, 0x2b,
0x76, 0x76,
0x2c, 0x2c,
0x8, 0x8,
0x9, 0x9,
0x2d, 0x2d,
0x77, 0x77,
0x78, 0x78,
0x79, 0x79,
0x7a, 0x7a,
0x7b, 0x7b,
0x7ffe, 0x7ffe,
0x7fc, 0x7fc,
0x3ffd, 0x3ffd,
0x1ffd, 0x1ffd,
0xffffffc, 0xffffffc,
0xfffe6, 0xfffe6,
0x3fffd2, 0x3fffd2,
0xfffe7, 0xfffe7,
0xfffe8, 0xfffe8,
0x3fffd3, 0x3fffd3,
0x3fffd4, 0x3fffd4,
0x3fffd5, 0x3fffd5,
0x7fffd9, 0x7fffd9,
0x3fffd6, 0x3fffd6,
0x7fffda, 0x7fffda,
0x7fffdb, 0x7fffdb,
0x7fffdc, 0x7fffdc,
0x7fffdd, 0x7fffdd,
0x7fffde, 0x7fffde,
0xffffeb, 0xffffeb,
0x7fffdf, 0x7fffdf,
0xffffec, 0xffffec,
0xffffed, 0xffffed,
0x3fffd7, 0x3fffd7,
0x7fffe0, 0x7fffe0,
0xffffee, 0xffffee,
0x7fffe1, 0x7fffe1,
0x7fffe2, 0x7fffe2,
0x7fffe3, 0x7fffe3,
0x7fffe4, 0x7fffe4,
0x1fffdc, 0x1fffdc,
0x3fffd8, 0x3fffd8,
0x7fffe5, 0x7fffe5,
0x3fffd9, 0x3fffd9,
0x7fffe6, 0x7fffe6,
0x7fffe7, 0x7fffe7,
0xffffef, 0xffffef,
0x3fffda, 0x3fffda,
0x1fffdd, 0x1fffdd,
0xfffe9, 0xfffe9,
0x3fffdb, 0x3fffdb,
0x3fffdc, 0x3fffdc,
0x7fffe8, 0x7fffe8,
0x7fffe9, 0x7fffe9,
0x1fffde, 0x1fffde,
0x7fffea, 0x7fffea,
0x3fffdd, 0x3fffdd,
0x3fffde, 0x3fffde,
0xfffff0, 0xfffff0,
0x1fffdf, 0x1fffdf,
0x3fffdf, 0x3fffdf,
0x7fffeb, 0x7fffeb,
0x7fffec, 0x7fffec,
0x1fffe0, 0x1fffe0,
0x1fffe1, 0x1fffe1,
0x3fffe0, 0x3fffe0,
0x1fffe2, 0x1fffe2,
0x7fffed, 0x7fffed,
0x3fffe1, 0x3fffe1,
0x7fffee, 0x7fffee,
0x7fffef, 0x7fffef,
0xfffea, 0xfffea,
0x3fffe2, 0x3fffe2,
0x3fffe3, 0x3fffe3,
0x3fffe4, 0x3fffe4,
0x7ffff0, 0x7ffff0,
0x3fffe5, 0x3fffe5,
0x3fffe6, 0x3fffe6,
0x7ffff1, 0x7ffff1,
0x3ffffe0, 0x3ffffe0,
0x3ffffe1, 0x3ffffe1,
0xfffeb, 0xfffeb,
0x7fff1, 0x7fff1,
0x3fffe7, 0x3fffe7,
0x7ffff2, 0x7ffff2,
0x3fffe8, 0x3fffe8,
0x1ffffec, 0x1ffffec,
0x3ffffe2, 0x3ffffe2,
0x3ffffe3, 0x3ffffe3,
0x3ffffe4, 0x3ffffe4,
0x7ffffde, 0x7ffffde,
0x7ffffdf, 0x7ffffdf,
0x3ffffe5, 0x3ffffe5,
0xfffff1, 0xfffff1,
0x1ffffed, 0x1ffffed,
0x7fff2, 0x7fff2,
0x1fffe3, 0x1fffe3,
0x3ffffe6, 0x3ffffe6,
0x7ffffe0, 0x7ffffe0,
0x7ffffe1, 0x7ffffe1,
0x3ffffe7, 0x3ffffe7,
0x7ffffe2, 0x7ffffe2,
0xfffff2, 0xfffff2,
0x1fffe4, 0x1fffe4,
0x1fffe5, 0x1fffe5,
0x3ffffe8, 0x3ffffe8,
0x3ffffe9, 0x3ffffe9,
0xffffffd, 0xffffffd,
0x7ffffe3, 0x7ffffe3,
0x7ffffe4, 0x7ffffe4,
0x7ffffe5, 0x7ffffe5,
0xfffec, 0xfffec,
0xfffff3, 0xfffff3,
0xfffed, 0xfffed,
0x1fffe6, 0x1fffe6,
0x3fffe9, 0x3fffe9,
0x1fffe7, 0x1fffe7,
0x1fffe8, 0x1fffe8,
0x7ffff3, 0x7ffff3,
0x3fffea, 0x3fffea,
0x3fffeb, 0x3fffeb,
0x1ffffee, 0x1ffffee,
0x1ffffef, 0x1ffffef,
0xfffff4, 0xfffff4,
0xfffff5, 0xfffff5,
0x3ffffea, 0x3ffffea,
0x7ffff4, 0x7ffff4,
0x3ffffeb, 0x3ffffeb,
0x7ffffe6, 0x7ffffe6,
0x3ffffec, 0x3ffffec,
0x3ffffed, 0x3ffffed,
0x7ffffe7, 0x7ffffe7,
0x7ffffe8, 0x7ffffe8,
0x7ffffe9, 0x7ffffe9,
0x7ffffea, 0x7ffffea,
0x7ffffeb, 0x7ffffeb,
0xffffffe, 0xffffffe,
0x7ffffec, 0x7ffffec,
0x7ffffed, 0x7ffffed,
0x7ffffee, 0x7ffffee,
0x7ffffef, 0x7ffffef,
0x7fffff0, 0x7fffff0,
0x3ffffee, 0x3ffffee,
0x3fffffff // EOS 0x3fffffff // EOS
}; };
public static readonly byte[] HuffmanCodeLengths = { public static readonly byte[] HuffmanCodeLengths = {
13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28, 13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28,
28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28,
6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6, 6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6,
5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10,
13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6,
15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5, 15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5,
6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28, 6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28,
20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23, 20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23,
24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24, 24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24,
22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23, 22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23,
21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23, 21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23,
26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25, 26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25,
19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27, 19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27,
20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23, 20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23,
26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26, 26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26,
30 // EOS 30 // EOS
}; };
public const int HuffmanEos = 256; public const int HuffmanEos = 256;
} }
} }
...@@ -15,20 +15,19 @@ ...@@ -15,20 +15,19 @@
* limitations under the License. * limitations under the License.
*/ */
using System;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
namespace Titanium.Web.Proxy.Http2.Hpack namespace Titanium.Web.Proxy.Http2.Hpack
{ {
internal interface IHeaderListener internal interface IHeaderListener
{ {
/// <summary> /// <summary>
/// EmitHeader is called by the decoder during header field emission. /// EmitHeader is called by the decoder during header field emission.
/// The name and value byte arrays must not be modified. /// The name and value byte arrays must not be modified.
/// </summary> /// </summary>
/// <param name="name">Name.</param> /// <param name="name">Name.</param>
/// <param name="value">Value.</param> /// <param name="value">Value.</param>
/// <param name="sensitive">If set to <c>true</c> sensitive.</param> /// <param name="sensitive">If set to <c>true</c> sensitive.</param>
void AddHeader(ByteString name, ByteString value, bool sensitive); void AddHeader(ByteString name, ByteString value, bool sensitive);
} }
} }
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
* limitations under the License. * limitations under the License.
*/ */
using System;
using System.Collections.Generic; using System.Collections.Generic;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
...@@ -32,7 +31,7 @@ namespace Titanium.Web.Proxy.Http2.Hpack ...@@ -32,7 +31,7 @@ namespace Titanium.Web.Proxy.Http2.Hpack
private static readonly Dictionary<ByteString, int> staticIndexByName; private static readonly Dictionary<ByteString, int> staticIndexByName;
public static ByteString KnownHeaderAuhtority = (ByteString)":authority"; public static ByteString KnownHeaderAuhtority = (ByteString)":authority";
public static ByteString KnownHeaderMethod = (ByteString)":method"; public static ByteString KnownHeaderMethod = (ByteString)":method";
public static ByteString KnownHeaderPath = (ByteString)":path"; public static ByteString KnownHeaderPath = (ByteString)":path";
...@@ -109,11 +108,11 @@ namespace Titanium.Web.Proxy.Http2.Hpack ...@@ -109,11 +108,11 @@ namespace Titanium.Web.Proxy.Http2.Hpack
create("WWW-Authenticate", string.Empty); // 61 create("WWW-Authenticate", string.Empty); // 61
} }
/// <summary> /// <summary>
/// The number of header fields in the static table. /// The number of header fields in the static table.
/// </summary> /// </summary>
/// <value>The length.</value> /// <value>The length.</value>
public static int Length => staticTable.Count; public static int Length => staticTable.Count;
/// <summary> /// <summary>
/// Return the http header field at the given index value. /// Return the http header field at the given index value.
......
...@@ -43,12 +43,12 @@ namespace Titanium.Web.Proxy.Http2 ...@@ -43,12 +43,12 @@ namespace Titanium.Web.Proxy.Http2
// Now async relay all server=>client & client=>server data // Now async relay all server=>client & client=>server data
var sendRelay = var sendRelay =
copyHttp2FrameAsync(clientStream, serverStream, clientSettings, serverSettings, copyHttp2FrameAsync(clientStream, serverStream, clientSettings, serverSettings,
sessionFactory, sessions, onBeforeRequest, sessionFactory, sessions, onBeforeRequest,
connectionId, true, cancellationTokenSource.Token, exceptionFunc); connectionId, true, cancellationTokenSource.Token, exceptionFunc);
var receiveRelay = var receiveRelay =
copyHttp2FrameAsync(serverStream, clientStream, serverSettings, clientSettings, copyHttp2FrameAsync(serverStream, clientStream, serverSettings, clientSettings,
sessionFactory, sessions, onBeforeResponse, sessionFactory, sessions, onBeforeResponse,
connectionId, false, cancellationTokenSource.Token, exceptionFunc); connectionId, false, cancellationTokenSource.Token, exceptionFunc);
await Task.WhenAny(sendRelay, receiveRelay); await Task.WhenAny(sendRelay, receiveRelay);
...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Http2 ...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Http2
private static async Task copyHttp2FrameAsync(Stream input, Stream output, private static async Task copyHttp2FrameAsync(Stream input, Stream output,
Http2Settings localSettings, Http2Settings remoteSettings, Http2Settings localSettings, Http2Settings remoteSettings,
Func<SessionEventArgs> sessionFactory, ConcurrentDictionary<int, SessionEventArgs> sessions, Func<SessionEventArgs> sessionFactory, ConcurrentDictionary<int, SessionEventArgs> sessions,
Func<SessionEventArgs, Task> onBeforeRequestResponse, Func<SessionEventArgs, Task> onBeforeRequestResponse,
Guid connectionId, bool isClient, CancellationToken cancellationToken, Guid connectionId, bool isClient, CancellationToken cancellationToken,
ExceptionHandler exceptionFunc) ExceptionHandler exceptionFunc)
...@@ -81,7 +81,7 @@ namespace Titanium.Web.Proxy.Http2 ...@@ -81,7 +81,7 @@ namespace Titanium.Web.Proxy.Http2
int length = (frameHeaderBuffer[0] << 16) + (frameHeaderBuffer[1] << 8) + frameHeaderBuffer[2]; int length = (frameHeaderBuffer[0] << 16) + (frameHeaderBuffer[1] << 8) + frameHeaderBuffer[2];
var type = (Http2FrameType)frameHeaderBuffer[3]; var type = (Http2FrameType)frameHeaderBuffer[3];
var flags = (Http2FrameFlag)frameHeaderBuffer[4]; var flags = (Http2FrameFlag)frameHeaderBuffer[4];
int streamId = ((frameHeaderBuffer[5] & 0x7f) << 24) + (frameHeaderBuffer[6] << 16) + int streamId = ((frameHeaderBuffer[5] & 0x7f) << 24) + (frameHeaderBuffer[6] << 16) +
(frameHeaderBuffer[7] << 8) + frameHeaderBuffer[8]; (frameHeaderBuffer[7] << 8) + frameHeaderBuffer[8];
frameHeader.Length = length; frameHeader.Length = length;
...@@ -129,7 +129,7 @@ namespace Titanium.Web.Proxy.Http2 ...@@ -129,7 +129,7 @@ namespace Titanium.Web.Proxy.Http2
//System.Diagnostics.Debug.WriteLine("CONN: " + connectionId + ", CLIENT: " + isClient + ", STREAM: " + streamId + ", TYPE: " + type); //System.Diagnostics.Debug.WriteLine("CONN: " + connectionId + ", CLIENT: " + isClient + ", STREAM: " + streamId + ", TYPE: " + type);
if (type == Http2FrameType.Data && args != null) if (type == Http2FrameType.Data && args != null)
{ {
if (isClient) if (isClient)
args.OnDataSent(buffer, 0, read); args.OnDataSent(buffer, 0, read);
else else
args.OnDataReceived(buffer, 0, read); args.OnDataReceived(buffer, 0, read);
......
...@@ -85,7 +85,7 @@ namespace Titanium.Web.Proxy.Models ...@@ -85,7 +85,7 @@ namespace Titanium.Web.Proxy.Models
/// <param name="port">The port.</param> /// <param name="port">The port.</param>
public ExternalProxy(string hostName, int port) public ExternalProxy(string hostName, int port)
{ {
HostName = hostName; HostName = hostName;
Port = port; Port = port;
} }
...@@ -115,7 +115,7 @@ namespace Titanium.Web.Proxy.Models ...@@ -115,7 +115,7 @@ namespace Titanium.Web.Proxy.Models
} }
public enum ExternalProxyType public enum ExternalProxyType
{ {
/// <summary>A HTTP/HTTPS proxy server.</summary> /// <summary>A HTTP/HTTPS proxy server.</summary>
Http, Http,
......
...@@ -58,7 +58,7 @@ namespace Titanium.Web.Proxy.Models ...@@ -58,7 +58,7 @@ namespace Titanium.Web.Proxy.Models
nameString = name.Trim(); nameString = name.Trim();
NameData = nameString.GetByteString(); NameData = nameString.GetByteString();
valueString = value.Trim(); valueString = value.Trim();
ValueData = valueString.GetByteString(); ValueData = valueString.GetByteString();
} }
......
using System; using System.Net;
using System.Net;
using System.Threading.Tasks; using System.Threading.Tasks;
using Titanium.Web.Proxy.EventArguments; using Titanium.Web.Proxy.EventArguments;
......
...@@ -45,7 +45,7 @@ namespace Titanium.Web.Proxy.Network ...@@ -45,7 +45,7 @@ namespace Titanium.Web.Proxy.Network
} }
catch (Exception ex) catch (Exception ex)
{ {
exception = ex; exception = ex;
} }
...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Network ...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Network
} }
exception = null; exception = null;
await disposeConnection(); await disposeConnection();
} }
return new RetryResult(currentConnection, exception, @continue); return new RetryResult(currentConnection, exception, @continue);
...@@ -80,9 +80,9 @@ namespace Titanium.Web.Proxy.Network ...@@ -80,9 +80,9 @@ namespace Titanium.Web.Proxy.Network
internal class RetryResult internal class RetryResult
{ {
internal TcpServerConnection? LatestConnection { get; } internal TcpServerConnection? LatestConnection { get; }
internal Exception? Exception { get; } internal Exception? Exception { get; }
internal bool Continue { get; } internal bool Continue { get; }
internal RetryResult(TcpServerConnection? lastConnection, Exception? exception, bool @continue) internal RetryResult(TcpServerConnection? lastConnection, Exception? exception, bool @continue)
......
...@@ -85,7 +85,7 @@ namespace Titanium.Web.Proxy.Network.Tcp ...@@ -85,7 +85,7 @@ namespace Titanium.Web.Proxy.Network.Tcp
// This way we can push tcp Time_Wait to client side when possible. // This way we can push tcp Time_Wait to client side when possible.
await Task.Delay(1000); await Task.Delay(1000);
proxyServer.UpdateClientConnectionCount(false); proxyServer.UpdateClientConnectionCount(false);
try try
{ {
tcpClientSocket.Close(); tcpClientSocket.Close();
......
...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Network.Tcp ...@@ -59,7 +59,7 @@ namespace Titanium.Web.Proxy.Network.Tcp
cacheKeyBuilder.Append("-"); cacheKeyBuilder.Append("-");
cacheKeyBuilder.Append(remotePort); cacheKeyBuilder.Append(remotePort);
cacheKeyBuilder.Append("-"); cacheKeyBuilder.Append("-");
// when creating Tcp client isConnect won't matter // when creating Tcp client isConnect won't matter
cacheKeyBuilder.Append(isHttps); cacheKeyBuilder.Append(isHttps);
...@@ -382,7 +382,7 @@ retry: ...@@ -382,7 +382,7 @@ retry:
proxySocket.ProxyUser = externalProxy.UserName; proxySocket.ProxyUser = externalProxy.UserName;
proxySocket.ProxyPass = externalProxy.Password; proxySocket.ProxyPass = externalProxy.Password;
} }
tcpServerSocket = proxySocket; tcpServerSocket = proxySocket;
} }
else else
...@@ -744,7 +744,7 @@ retry: ...@@ -744,7 +744,7 @@ retry:
{ {
((Socket)asyncResult.AsyncState).EndConnect(asyncResult); ((Socket)asyncResult.AsyncState).EndConnect(asyncResult);
} }
public static Task CreateTask(Socket socket, IPAddress ipAddress, int port) public static Task CreateTask(Socket socket, IPAddress ipAddress, int port)
{ {
return Task.Factory.FromAsync(beginConnect, endConnect, ipAddress, port, state: socket); return Task.Factory.FromAsync(beginConnect, endConnect, ipAddress, port, state: socket);
......
...@@ -97,7 +97,7 @@ namespace Titanium.Web.Proxy.Network.Tcp ...@@ -97,7 +97,7 @@ namespace Titanium.Web.Proxy.Network.Tcp
await Task.Delay(1000); await Task.Delay(1000);
proxyServer.UpdateServerConnectionCount(false); proxyServer.UpdateServerConnectionCount(false);
Stream.Dispose(); Stream.Dispose();
try try
{ {
TcpSocket.Close(); TcpSocket.Close();
......
...@@ -61,7 +61,7 @@ namespace Titanium.Web.Proxy.Network.WinAuth.Security ...@@ -61,7 +61,7 @@ namespace Titanium.Web.Proxy.Network.WinAuth.Security
out clientToken, out clientToken,
out NewContextAttributes, out NewContextAttributes,
out NewLifeTime); out NewLifeTime);
if (result != IntermediateResult) if (result != IntermediateResult)
{ {
return null; return null;
......
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
...@@ -11,7 +11,7 @@ using System.Runtime.InteropServices; ...@@ -11,7 +11,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Titanium.Web.Proxy")] [assembly: AssemblyProduct("Titanium.Web.Proxy")]
[assembly: AssemblyCopyright("Copyright Titanium 2015-2019")] [assembly: AssemblyCopyright("Copyright © Titanium 2015-2020")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
[assembly: InternalsVisibleTo("Titanium.Web.Proxy.UnitTests, PublicKey=" + [assembly: InternalsVisibleTo("Titanium.Web.Proxy.UnitTests, PublicKey=" +
......
...@@ -156,7 +156,7 @@ namespace Titanium.Web.Proxy ...@@ -156,7 +156,7 @@ namespace Titanium.Web.Proxy
response.Headers.AddHeader(KnownHeaders.ProxyAuthenticate, continuation); response.Headers.AddHeader(KnownHeaders.ProxyAuthenticate, continuation);
response.Headers.AddHeader(KnownHeaders.ProxyConnection, KnownHeaders.ConnectionKeepAlive); response.Headers.AddHeader(KnownHeaders.ProxyConnection, KnownHeaders.ConnectionKeepAlive);
response.Headers.FixProxyHeaders(); response.Headers.FixProxyHeaders();
return response; return response;
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
OF THE POSSIBILITY OF SUCH DAMAGE. OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System;
using System.Net.Sockets; using System.Net.Sockets;
namespace Titanium.Web.Proxy.ProxySocket.Authentication namespace Titanium.Web.Proxy.ProxySocket.Authentication
......
...@@ -152,7 +152,7 @@ namespace Titanium.Web.Proxy.ProxySocket.Authentication ...@@ -152,7 +152,7 @@ namespace Titanium.Web.Proxy.ProxySocket.Authentication
int recv = Server.EndReceive(ar); int recv = Server.EndReceive(ar);
if (recv <= 0) if (recv <= 0)
throw new SocketException(10054); throw new SocketException(10054);
Received += recv; Received += recv;
if (Received == 2) if (Received == 2)
if (Buffer[1] == 0) if (Buffer[1] == 0)
......
...@@ -136,10 +136,10 @@ namespace Titanium.Web.Proxy.ProxySocket ...@@ -136,10 +136,10 @@ namespace Titanium.Web.Proxy.ProxySocket
{ {
if (host == null) if (host == null)
throw new ArgumentNullException(); throw new ArgumentNullException();
if (port <= 0 || port > 65535 || host.Length > 255) if (port <= 0 || port > 65535 || host.Length > 255)
throw new ArgumentException(); throw new ArgumentException();
byte[] buffer = GetConnectBytes(host, port); byte[] buffer = GetConnectBytes(host, port);
if (Server.Send(buffer, 0, buffer.Length, SocketFlags.None) < buffer.Length) if (Server.Send(buffer, 0, buffer.Length, SocketFlags.None) < buffer.Length)
{ {
......
...@@ -90,7 +90,7 @@ namespace Titanium.Web.Proxy.ProxySocket ...@@ -90,7 +90,7 @@ namespace Titanium.Web.Proxy.ProxySocket
ReadBytes(buffer, 2); ReadBytes(buffer, 2);
if (buffer[1] == 255) if (buffer[1] == 255)
throw new ProxyException("No authentication method accepted."); throw new ProxyException("No authentication method accepted.");
AuthMethod authenticate; AuthMethod authenticate;
switch (buffer[1]) switch (buffer[1])
{ {
...@@ -120,7 +120,7 @@ namespace Titanium.Web.Proxy.ProxySocket ...@@ -120,7 +120,7 @@ namespace Titanium.Web.Proxy.ProxySocket
{ {
if (host == null) if (host == null)
throw new ArgumentNullException(); throw new ArgumentNullException();
if (port <= 0 || port > 65535 || host.Length > 255) if (port <= 0 || port > 65535 || host.Length > 255)
throw new ArgumentException(); throw new ArgumentException();
...@@ -206,7 +206,7 @@ namespace Titanium.Web.Proxy.ProxySocket ...@@ -206,7 +206,7 @@ namespace Titanium.Web.Proxy.ProxySocket
try try
{ {
Authenticate(buffer); Authenticate(buffer);
int length = GetEndPointBytes(remoteEP, buffer); int length = GetEndPointBytes(remoteEP, buffer);
Negotiate(buffer, length); Negotiate(buffer, length);
} }
......
...@@ -121,7 +121,7 @@ namespace Titanium.Web.Proxy.ProxySocket ...@@ -121,7 +121,7 @@ namespace Titanium.Web.Proxy.ProxySocket
int recv = Server.EndReceive(ar); int recv = Server.EndReceive(ar);
if (recv <= 0) if (recv <= 0)
throw new SocketException(10054); throw new SocketException(10054);
Received += recv; Received += recv;
} }
......
...@@ -33,7 +33,7 @@ namespace Titanium.Web.Proxy ...@@ -33,7 +33,7 @@ namespace Titanium.Web.Proxy
/// <param name="connectArgs">The Connect request if this is a HTTPS request from explicit endpoint.</param> /// <param name="connectArgs">The Connect request if this is a HTTPS request from explicit endpoint.</param>
/// <param name="prefetchConnectionTask">Prefetched server connection for current client using Connect/SNI headers.</param> /// <param name="prefetchConnectionTask">Prefetched server connection for current client using Connect/SNI headers.</param>
/// <param name="isHttps">Is HTTPS</param> /// <param name="isHttps">Is HTTPS</param>
private async Task handleHttpSessionRequest(ProxyEndPoint endPoint, HttpClientStream clientStream, private async Task handleHttpSessionRequest(ProxyEndPoint endPoint, HttpClientStream clientStream,
CancellationTokenSource cancellationTokenSource, TunnelConnectSessionEventArgs? connectArgs = null, CancellationTokenSource cancellationTokenSource, TunnelConnectSessionEventArgs? connectArgs = null,
Task<TcpServerConnection>? prefetchConnectionTask = null, bool isHttps = false) Task<TcpServerConnection>? prefetchConnectionTask = null, bool isHttps = false)
{ {
...@@ -50,7 +50,7 @@ namespace Titanium.Web.Proxy ...@@ -50,7 +50,7 @@ namespace Titanium.Web.Proxy
// Loop through each subsequent request on this particular client connection // Loop through each subsequent request on this particular client connection
// (assuming HTTP connection is kept alive by client) // (assuming HTTP connection is kept alive by client)
while (true) while (true)
{ {
if (clientStream.IsClosed) if (clientStream.IsClosed)
{ {
return; return;
...@@ -152,7 +152,7 @@ namespace Titanium.Web.Proxy ...@@ -152,7 +152,7 @@ namespace Titanium.Web.Proxy
} }
catch (SocketException e) catch (SocketException e)
{ {
if(e.SocketErrorCode != SocketError.HostNotFound) if (e.SocketErrorCode != SocketError.HostNotFound)
{ {
throw; throw;
} }
...@@ -336,7 +336,7 @@ namespace Titanium.Web.Proxy ...@@ -336,7 +336,7 @@ namespace Titanium.Web.Proxy
headerBuilder.WriteResponseLine(response.HttpVersion, response.StatusCode, response.StatusDescription); headerBuilder.WriteResponseLine(response.HttpVersion, response.StatusCode, response.StatusDescription);
headerBuilder.WriteHeaders(response.Headers); headerBuilder.WriteHeaders(response.Headers);
await writer.WriteHeadersAsync(headerBuilder, cancellationToken); await writer.WriteHeadersAsync(headerBuilder, cancellationToken);
await args.ClearResponse(cancellationToken); await args.ClearResponse(cancellationToken);
} }
......
...@@ -135,8 +135,8 @@ namespace Titanium.Web.Proxy.StreamExtended ...@@ -135,8 +135,8 @@ namespace Titanium.Web.Proxy.StreamExtended
if (CompressionData != null && CompressionData.Length > 0) if (CompressionData != null && CompressionData.Length > 0)
{ {
int compressionMethod = CompressionData[0]; int compressionMethod = CompressionData[0];
string compression = compressions.Length > compressionMethod string compression = compressions.Length > compressionMethod
? compressions[compressionMethod] ? compressions[compressionMethod]
: $"unknown [0x{compressionMethod:X2}]"; : $"unknown [0x{compressionMethod:X2}]";
sb.AppendLine($"Compression: {compression}"); sb.AppendLine($"Compression: {compression}");
} }
......
...@@ -173,6 +173,12 @@ namespace Titanium.Web.Proxy.StreamExtended.Models ...@@ -173,6 +173,12 @@ namespace Titanium.Web.Proxy.StreamExtended.Models
{ 0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256" }, { 0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256" },
{ 0x00C5, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256" }, { 0x00C5, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256" },
{ 0x00FF, "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" }, { 0x00FF, "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" },
// RFC 8446
{ 0x1301, "TLS_AES_128_GCM_SHA256" },
{ 0x1302, "TLS_AES_256_GCM_SHA384" },
{ 0x1303, "TLS_CHACHA20_POLY1305_SHA256" },
{ 0x1304, "TLS_AES_128_CCM_SHA256" },
{ 0x1305, "TLS_AES_128_CCM_8_SHA256" },
{ 0x5600, "TLS_FALLBACK_SCSV" }, { 0x5600, "TLS_FALLBACK_SCSV" },
// RFC 4492 // RFC 4492
{ 0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA" }, { 0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA" },
...@@ -353,6 +359,15 @@ namespace Titanium.Web.Proxy.StreamExtended.Models ...@@ -353,6 +359,15 @@ namespace Titanium.Web.Proxy.StreamExtended.Models
{ 0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM" }, { 0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM" },
{ 0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" }, { 0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" },
{ 0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8" }, { 0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8" },
{ 0xC0B0, "TLS_ECCPWD_WITH_AES_128_GCM_SHA256" },
{ 0xC0B1, "TLS_ECCPWD_WITH_AES_256_GCM_SHA384" },
{ 0xC0B2, "TLS_ECCPWD_WITH_AES_128_CCM_SHA256" },
{ 0xC0B3, "TLS_ECCPWD_WITH_AES_256_CCM_SHA384" },
{ 0xC0B4, "TLS_SHA256_SHA256" },
{ 0xC0B5, "TLS_SHA384_SHA384" },
{ 0xC100, "TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC" },
{ 0xC101, "TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC" },
{ 0xC102, "TLS_GOSTR341112_256_WITH_28147_CNT_IMIT" },
// old numbers used in the beginning http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305 // old numbers used in the beginning http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305
{ 0xCC13, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" }, { 0xCC13, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" },
{ 0xCC14, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" }, { 0xCC14, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" },
...@@ -365,6 +380,11 @@ namespace Titanium.Web.Proxy.StreamExtended.Models ...@@ -365,6 +380,11 @@ namespace Titanium.Web.Proxy.StreamExtended.Models
{ 0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256" }, { 0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256" },
{ 0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256" }, { 0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256" },
{ 0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256" }, { 0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256" },
// RFC 8442
{ 0xD001, "TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256" },
{ 0xD002, "TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384" },
{ 0xD003, "TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256" },
{ 0xD005, "TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256" },
// http://tools.ietf.org/html/draft-josefsson-salsa20-tls // http://tools.ietf.org/html/draft-josefsson-salsa20-tls
{ 0xE410, "TLS_RSA_WITH_ESTREAM_SALSA20_SHA1" }, { 0xE410, "TLS_RSA_WITH_ESTREAM_SALSA20_SHA1" },
{ 0xE411, "TLS_RSA_WITH_SALSA20_SHA1" }, { 0xE411, "TLS_RSA_WITH_SALSA20_SHA1" },
......
using System; using System.Threading;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Titanium.Web.Proxy.StreamExtended.Network namespace Titanium.Web.Proxy.StreamExtended.Network
......
using System; using System.Threading;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Titanium.Web.Proxy.StreamExtended.Network namespace Titanium.Web.Proxy.StreamExtended.Network
...@@ -52,5 +51,5 @@ namespace Titanium.Web.Proxy.StreamExtended.Network ...@@ -52,5 +51,5 @@ namespace Titanium.Web.Proxy.StreamExtended.Network
return buffer; return buffer;
} }
} }
} }
...@@ -105,8 +105,8 @@ namespace Titanium.Web.Proxy.StreamExtended ...@@ -105,8 +105,8 @@ namespace Titanium.Web.Proxy.StreamExtended
} }
} }
string compression = compressions.Length > CompressionMethod string compression = compressions.Length > CompressionMethod
? compressions[CompressionMethod] ? compressions[CompressionMethod]
: $"unknown [0x{CompressionMethod:X2}]"; : $"unknown [0x{CompressionMethod:X2}]";
sb.AppendLine($"Compression: {compression}"); sb.AppendLine($"Compression: {compression}");
......
...@@ -151,7 +151,7 @@ namespace Titanium.Web.Proxy.StreamExtended ...@@ -151,7 +151,7 @@ namespace Titanium.Web.Proxy.StreamExtended
Dictionary<string, SslExtension>? extensions = null; Dictionary<string, SslExtension>? extensions = null;
if(extensionsStartPosition < recordLength + 5) if (extensionsStartPosition < recordLength + 5)
{ {
extensions = await ReadExtensions(majorVersion, minorVersion, peekStream, cancellationToken); extensions = await ReadExtensions(majorVersion, minorVersion, peekStream, cancellationToken);
} }
...@@ -291,7 +291,7 @@ namespace Titanium.Web.Proxy.StreamExtended ...@@ -291,7 +291,7 @@ namespace Titanium.Web.Proxy.StreamExtended
if (extensionsStartPosition < recordLength + 5) if (extensionsStartPosition < recordLength + 5)
{ {
extensions = await ReadExtensions(majorVersion, minorVersion, peekStream, cancellationToken); extensions = await ReadExtensions(majorVersion, minorVersion, peekStream, cancellationToken);
} }
var serverHelloInfo = new ServerHelloInfo(3, majorVersion, minorVersion, random, sessionId, cipherSuite, peekStream.Position) var serverHelloInfo = new ServerHelloInfo(3, majorVersion, minorVersion, random, sessionId, cipherSuite, peekStream.Position)
......
...@@ -90,7 +90,7 @@ namespace Titanium.Web.Proxy ...@@ -90,7 +90,7 @@ namespace Titanium.Web.Proxy
} }
else else
{ {
var sessionArgs = new SessionEventArgs(this, endPoint, clientStream, null, cancellationTokenSource); var sessionArgs = new SessionEventArgs(this, endPoint, clientStream, null, cancellationTokenSource);
var connection = await tcpConnectionFactory.GetServerConnection(this, httpsHostName, port, var connection = await tcpConnectionFactory.GetServerConnection(this, httpsHostName, port,
HttpHeader.VersionUnknown, false, null, HttpHeader.VersionUnknown, false, null,
true, sessionArgs, UpStreamEndPoint, true, sessionArgs, UpStreamEndPoint,
......
...@@ -42,7 +42,7 @@ namespace Titanium.Web.Proxy ...@@ -42,7 +42,7 @@ namespace Titanium.Web.Proxy
long size = b & 0x7f; long size = b & 0x7f;
// todo: size > int.Max?? // todo: size > int.Max??
bool masked = (b & 0x80) != 0; bool masked = (b & 0x80) != 0;
int idx = 2; int idx = 2;
...@@ -100,7 +100,7 @@ namespace Titanium.Web.Proxy ...@@ -100,7 +100,7 @@ namespace Titanium.Web.Proxy
{ {
data1[pos + 2] ^= (byte)(mask >> 16); data1[pos + 2] ^= (byte)(mask >> 16);
} }
; } }
} }
var frameData = buffer.Slice(idx, (int)size); var frameData = buffer.Slice(idx, (int)size);
...@@ -114,6 +114,19 @@ namespace Titanium.Web.Proxy ...@@ -114,6 +114,19 @@ namespace Titanium.Web.Proxy
{ {
copyToBuffer(buffer); copyToBuffer(buffer);
} }
if (copied)
{
if (buffer.Length == 0)
{
bufferLength = 0;
}
else
{
buffer.CopyTo(this.buffer);
bufferLength = buffer.Length;
}
}
} }
private Memory<byte> copyToBuffer(ReadOnlyMemory<byte> data) private Memory<byte> copyToBuffer(ReadOnlyMemory<byte> data)
......
...@@ -6,7 +6,7 @@ namespace Titanium.Web.Proxy ...@@ -6,7 +6,7 @@ namespace Titanium.Web.Proxy
public class WebSocketFrame public class WebSocketFrame
{ {
public bool IsFinal { get; internal set; } public bool IsFinal { get; internal set; }
public WebsocketOpCode OpCode { get; internal set; } public WebsocketOpCode OpCode { get; internal set; }
public ReadOnlyMemory<byte> Data { get; internal set; } public ReadOnlyMemory<byte> Data { get; internal set; }
......
using System; using System.Threading;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Titanium.Web.Proxy.EventArguments; using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Helpers; using Titanium.Web.Proxy.Helpers;
...@@ -21,7 +20,7 @@ namespace Titanium.Web.Proxy ...@@ -21,7 +20,7 @@ namespace Titanium.Web.Proxy
await serverConnection.Stream.WriteRequestAsync(args.HttpClient.Request, cancellationToken); await serverConnection.Stream.WriteRequestAsync(args.HttpClient.Request, cancellationToken);
var httpStatus = await serverConnection.Stream.ReadResponseStatus(cancellationToken); var httpStatus = await serverConnection.Stream.ReadResponseStatus(cancellationToken);
var response = args.HttpClient.Response; var response = args.HttpClient.Response;
response.HttpVersion = httpStatus.Version; response.HttpVersion = httpStatus.Version;
response.StatusCode = httpStatus.StatusCode; response.StatusCode = httpStatus.StatusCode;
......
...@@ -27,7 +27,9 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers ...@@ -27,7 +27,9 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers
Request.ParseRequestLine(line, out var method, out var url, out var version); Request.ParseRequestLine(line, out var method, out var url, out var version);
var request = new Request var request = new Request
{ {
Method = method, RequestUriString8 = url, HttpVersion = version Method = method,
RequestUriString8 = url,
HttpVersion = version
}; };
while (!string.IsNullOrEmpty(line = reader.ReadLine())) while (!string.IsNullOrEmpty(line = reader.ReadLine()))
{ {
...@@ -72,7 +74,9 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers ...@@ -72,7 +74,9 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers
Response.ParseResponseLine(line, out var version, out var status, out var desc); Response.ParseResponseLine(line, out var version, out var status, out var desc);
var response = new Response var response = new Response
{ {
HttpVersion = version, StatusCode = status, StatusDescription = desc HttpVersion = version,
StatusCode = status,
StatusDescription = desc
}; };
while (!string.IsNullOrEmpty(line = reader.ReadLine())) while (!string.IsNullOrEmpty(line = reader.ReadLine()))
...@@ -107,7 +111,7 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers ...@@ -107,7 +111,7 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers
} }
obj.Body = Encoding.ASCII.GetBytes(reader.ReadToEnd()); obj.Body = Encoding.ASCII.GetBytes(reader.ReadToEnd());
// done reading body // done reading body
return obj.ContentLength == obj.OriginalContentLength; return obj.ContentLength == obj.OriginalContentLength;
} }
......
...@@ -14,7 +14,7 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers ...@@ -14,7 +14,7 @@ namespace Titanium.Web.Proxy.IntegrationTests.Helpers
var handler = new HttpClientHandler var handler = new HttpClientHandler
{ {
Proxy = proxy, Proxy = proxy,
UseProxy = true UseProxy = true
}; };
return new HttpClient(handler); return new HttpClient(handler);
......
...@@ -72,7 +72,7 @@ namespace Titanium.Web.Proxy.IntegrationTests ...@@ -72,7 +72,7 @@ namespace Titanium.Web.Proxy.IntegrationTests
var client = testSuite.GetClient(proxy); var client = testSuite.GetClient(proxy);
var response = await client.PostAsync(new Uri(server.ListeningHttpUrl), var response = await client.PostAsync(new Uri(server.ListeningHttpUrl),
new StringContent("hello server. I am a client.")); new StringContent("hello server. I am a client."));
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
......
using Microsoft.AspNetCore; using System;
using System.Linq;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Hosting.Server.Features; using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
namespace Titanium.Web.Proxy.IntegrationTests.Setup namespace Titanium.Web.Proxy.IntegrationTests.Setup
{ {
......
using System; using System.Net.Http;
using System.Net.Http;
using Titanium.Web.Proxy.IntegrationTests.Helpers; using Titanium.Web.Proxy.IntegrationTests.Helpers;
using Titanium.Web.Proxy.IntegrationTests.Setup; using Titanium.Web.Proxy.IntegrationTests.Setup;
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="MSTest.TestAdapter" Version="2.0.0" /> <PackageReference Include="MSTest.TestAdapter" Version="2.0.0" />
<PackageReference Include="MSTest.TestFramework" Version="2.0.0" /> <PackageReference Include="MSTest.TestFramework" Version="2.0.0" />
<PackageReference Include="System.IO.Pipelines" Version="4.7.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
using System; using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Titanium.Web.Proxy.Network; using Titanium.Web.Proxy.Network;
namespace Titanium.Web.Proxy.UnitTests namespace Titanium.Web.Proxy.UnitTests
......
using System; using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Net; using System.Net;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
namespace Titanium.Web.Proxy.UnitTests namespace Titanium.Web.Proxy.UnitTests
......
using System; using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Net; using System.Net;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Titanium.Web.Proxy.Helpers; using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Helpers.WinHttp; using Titanium.Web.Proxy.Helpers.WinHttp;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
......
using System; using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Titanium.Web.Proxy.Http; using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Network.WinAuth; using Titanium.Web.Proxy.Network.WinAuth;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment