java.lang.Object
com.sun.net.httpserver.Filter
public abstract class Filter extends Object
着信要求の事前処理および事後処理に使用されるフィルタです。 事前処理はアプリケーションの交換ハンドラが呼び出される前に行われ、事後処理は交換ハンドラが返されたあとに行われます。 フィルタはチェーンで編成され、
HttpContext
インスタンスに関連付けられます。
チェーン内の各Filter
は、独自のdoFilter(HttpExchange, Chain)
実装内で次のフィルタを呼び出します。 チェーン内の最後のFilter
がアプリケーション交換ハンドラを呼び出します。
- 導入されたバージョン:
- 1.6
-
ネストされたクラスのサマリー
ネストされたクラス -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract String
このFilter
の簡単な説明を返します。abstract void
doFilter(HttpExchange exchange, Filter.Chain chain)
このフィルタに対し、指定された交換の事前処理または事後処理を要求します。
-
コンストラクタの詳細
-
フィルタ
protected Filter()サブクラスが呼び出すためのコンストラクタ。
-
-
メソッドの詳細
-
doFilter
public abstract void doFilter(HttpExchange exchange, Filter.Chain chain) throws IOExceptionこのフィルタに対し、指定された交換の事前処理または事後処理を要求します。 フィルタは次のことができます:- リクエスト・ヘッダーを調査または変更します。
- 適切なフィルタ・ストリームを作成し、
HttpExchange.setStreams(InputStream, OutputStream)
をコールして、リクエスト本文またはレスポンス本文をフィルタします。 - 他のフィルタまたは交換ハンドラがアクセスできる、交換の属性オブジェクトを設定します。
- 次のいずれかを決定します:
-
Filter.Chain.doFilter(HttpExchange)
をコールして、チェーンの次のフィルタを起動します。 -
Filter.Chain.doFilter(HttpExchange)
をコールしないで、呼出しのチェーンを終了します。
-
- 前述のオプション1.が使用されている場合、doFilter()がチェーン内の後続のすべてのフィルタを返したときに、レスポンス・ヘッダーを調査または変更できます。
- 前述のオプション2.を使用する場合、このフィルタはHttpExchangeを使用して適切なレスポンスを送り返す必要があります。
- パラメータ:
exchange
- フィルタ処理されるHttpExchange
chain
- 次のフィルタの呼出しを可能にするChain
- 例外:
IOException
- どのフィルタ・モジュールでもスローされる可能性があり、キャッチされた場合、再度スローする必要があるNullPointerException
- 交換とチェーンのいずれかがnull
の場合
-
description
public abstract String description()このFilter
の簡単な説明を返します。- 戻り値:
Filter
を記述するString
-