nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.http.proxy.TestHttpProcessServiceは、ProxyServerServiceから呼び出され、HTTPリクエストを読み込み、HTTPレスポンスを返すProcess実装サービスです。
HTTPリクエストに対して、処理を行い応答を返すアクションを設定できます。
HTTPリクエストの特定には、条件式を使いますが、以下の情報を条件として使用できます。
アクションでは、以下の処理が行えます。
また、リクエスト及びレスポンスの圧縮にも対応しています。
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- ソケット通信を待ち受けるプロキシサービス -->
- <service name="TestProxyServer"
- code="jp.ossc.nimbus.service.http.proxy.ProxyServerService">
- <!-- 待ち受けるポート番号を設定する -->
- <attribute name="Port">8080</attribute>
- <!-- クライアントからのリクエストの読み込みタイムアウト[ms]を設定する -->
- <attribute name="SoTimeout">1000</attribute>
- <!-- 処理を委譲するProcessサービスのサービス名を設定する -->
- <attribute name="ProcessServiceName">#TestProcess</attribute>
- <depends>TestProcess</depends>
- </service>
- <!-- HTTPリクエスト処理を行うProcessサービス -->
- <service name="TestProcess"
- code="jp.ossc.nimbus.service.http.proxy.TestHttpProcessService">
- <!-- リクエスト毎の処理を設定する -->
- <invoke name="setAction">
- <!-- リクエストを特定する条件式を設定する -->
- <argument>
- @Header.URLMatcher(.*/Login).matches@
- </argument>
- <!-- 処理を行うアクションを設定する -->
- <argument>
- <object code="jp.ossc.nimbus.service.http.proxy.TestHttpProcessService$Action">
- <!-- レスポンスするHTMLファイルのパスを指定する -->
- <attribute name="ResponseBodyInputFile">./test/Login_response.html</attribute>
- </object>
- </argument>
- </invoke>
- </service>
- </manager>
- </server>