Caching Proxy Help

API Request Processing

API 概述

API 接口给予您扩展代理服务器基本功能的能力。通过写插件(您创建的应用程序扩展),您可做如下的定制处理:

基本服务器请求处理

基本服务器请求过程可以根据服务器在该阶段执行处理的类型分成几个步骤。每一步都包括一个您程序的指定部分可在其执行的关键部分。通过在配置文件中添加 API 伪指令,您可以指出在特定步骤中希望服务器调用的应用程序函数。通过在一个请求进程的步骤中包括多个 API 伪指令,您可以在该步骤调用几个应用程序函数。

您编译好的插件程序是 .DLL.so .o 文件,这取决于您的操作系统。服务器按照它的请求进程步骤进行处理,它调用与每一步关联的插件应用程序函数, 直到有一个函数表明它已处理该请求。如果从特定步骤中调用一个以上插件函数,这些函数按在配置文件中的顺序调用。

如果应用程序功能未完成请求(未指定应用程序功能或此步骤的应用程序功能返回代码 HTTP_NOACTION),则服务器执行此步骤的缺省操作。注:除服务步骤外,所有的步骤都是这样;服务步骤没有缺省操作。

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
Error /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 伪指令中,您必须给出打开、写入和关闭函数的名称。

相关信息