C# Class Nekoxy.TransparentProxyLogic

通信データを透過し読み取るためのProxyLogic。 Transfer-Encoding: chunked なHTTPリクエストの RequestBody の読み取りは未対応。
Inheritance: TrotiNet.ProxyLogic
ファイルを表示 Open project: Gizeta/Nekoxy-fiddler

Public Methods

Method Description
CreateProxy ( HttpSocket clientSocket ) : TransparentProxyLogic

TcpServerがインスタンスを生成する際に使用するメソッド。 接続(AcceptCallback)の都度呼び出され、インスタンスが生成される。

TransparentProxyLogic ( HttpSocket clientSocket ) : System

SocketBPからインスタンスを初期化。 接続(AcceptCallback)の都度インスタンスが生成される。

Protected Methods

Method Description
OnReceiveRequest ( ) : void

クライアントからリクエストヘッダまで読み込み、サーバーアクセス前のタイミング。 上流プロキシの設定を行う。

OnReceiveResponse ( ) : void

OnReceiveResponseをoverrideし、レスポンスデータを読み取る。

SendRequest ( ) : void

SendResponseをoverrideし、リクエストデータを読み取る。

Private Methods

Method Description
GetContentWhenUnknownLength ( ) : byte[]

Transfer-Encoding も Content-Length も不明の場合、TrotiNet の SendResponse() にならい、Socket.Receive() が 0 になるまで受ける。

GetEffectiveRequestUri ( ) : Uri
SetUpstreamProxy ( ) : void

Method Details

CreateProxy() public static method

TcpServerがインスタンスを生成する際に使用するメソッド。 接続(AcceptCallback)の都度呼び出され、インスタンスが生成される。
public static CreateProxy ( HttpSocket clientSocket ) : TransparentProxyLogic
clientSocket TrotiNet.HttpSocket Browser-Proxy間Socket。SocketBP。
return TransparentProxyLogic

OnReceiveRequest() protected method

クライアントからリクエストヘッダまで読み込み、サーバーアクセス前のタイミング。 上流プロキシの設定を行う。
protected OnReceiveRequest ( ) : void
return void

OnReceiveResponse() protected method

OnReceiveResponseをoverrideし、レスポンスデータを読み取る。
protected OnReceiveResponse ( ) : void
return void

SendRequest() protected method

SendResponseをoverrideし、リクエストデータを読み取る。
protected SendRequest ( ) : void
return void

TransparentProxyLogic() public method

SocketBPからインスタンスを初期化。 接続(AcceptCallback)の都度インスタンスが生成される。
public TransparentProxyLogic ( HttpSocket clientSocket ) : System
clientSocket TrotiNet.HttpSocket Browser-Proxy間Socket。SocketBP。
return System