Caching Proxy Help

API Request Processing

API の概説

API インターフェースにより、プロキシー・サーバーの基本機能を拡張できます。 プラグイン (作成するアプリケーション拡張子) の書き込みによって、以下のようにカスタマイズされた処理を実行できます。

基本サーバー要求プロセス

基本サーバー要求処理は、その段階でサーバーが実行する処理のタイプに基づいて、いくつかのステップに分けることができます。各ステップには、プログラムの特定パーツを実行できるつながりが組み込まれています。 API ディレクティブを構成ファイルに追加することにより、特定のステップ中にサーバーが呼び出すようにするアプリケーション機能を指示します。要求プロセス・ステップに複数の API ディレクティブを組み込むことにより、そのステップで複数のアプリケーション機能を呼び出すことができます。

コンパイル済みプラグイン・プログラムは、オペレーティング・システムに応じて .DLL ファイル、 .so ファイル、または .o ファイルとなります。サーバーはその要求プロセス・ステップを進んでいるときに、機能の 1 つが要求を処理したことを示すまで、各ステップに関連付けられたプラグイン・アプリケーション機能を呼び出します。複数のプラグイン機能を特定のステップから呼び出すと、それらは構成ファイルに表示される順に呼び出されます。

要求がアプリケーション機能によって完了されていない (アプリケーション機能が指定されなかったか、あるいはそのステップのアプリケーション機能がコード HTTP_NOACTION を戻した) 場合には、サーバーはそのステップのデフォルト・アクションを実行します。 注: これは Service ステップを除くすべてのステップにあてはまります。 Service ステップにはデフォルト・アクションはありません。

API 構成ディレクティブ

要求処理の各ステップごとに構成ディレクティブが存在し、これによりそのステップ中に呼び出して実行するカスタマイズ済みアプリケーション機能を指定できます。

API ディレクティブ形式

ServerInit /path/file:function_name
PreExit /path/file:function_name
Authentication type /path/file:function_name
NameTrans /URL /path/file:function_name
Authorization /URL /path/file:function_name
ObjectType /URL /path/file:function_name
PostAuth /path/file:function_name
Service /URL /path/file:function_name
Transmogrifier /path/file:open_function_name:write_function_name:close_function_name:error_function_name
Log /URL /path/file:function_name
エラー /URL /path/file:function_name
PostExit /path/file:function_name
ServerTerm /path/file:function_name
Midnight /path/file:function_name
PICSDBLookup /path/file:function_name
GC Advisor /path/file:function_name
Proxy Advisor /path/file:function_name

API ディレクティブ変数

これらのディレクティブにある変数には以下のような意味があります。
type
(認証ディレクティブだけに使用されます。) この設定は、アプリケーション機能が呼び出されるかどうかを判別します。有効な値は次の通りです。
Basic
アプリケーション機能は基本認証要求だけに呼び出されます。
*
アプリケーション機能はすべての要求に対して呼び出されます。

/URL
この値は、アプリケーション機能が呼び出される URL 要求を判別します。これらのディレクティブにある URL 指定は仮想ですが (プロトコルを組み込まない) 、スラッシュ (/) が前に付けられます。たとえば、 /www.ibm.com が正しくて、 http://www.ibm.com は誤りです。有効な値は次の通りです。
特定 URL
アプリケーション機能はその URL だけに呼び出されます。
URL テンプレート
アプリケーション機能はテンプレートに一致する URL だけに呼び出されます。テンプレートは /URL* 、 /* 、または * のように指定できます。

注: パス変換を行いたい場合には、URL テンプレートは Service ディレクティブで必要になります。


/path/file
コンパイル済みプログラムの完全修飾ファイル名。
:function_name
プログラム内のアプリケーション機能に指定した名前。 Transmogrifier ディレクティブでは、オープン、書き込み、およびクローズ機能の名前を指定する必要があります。

関連情報