La interfaz de API le proporciona la habilidad de ampliar las funciones básicas del servidor proxy. Al escribir plug-ins (extensiones de aplicaciones que crea el usuario) se puede llevar a cabo un proceso personalizado como el siguiente:
El proceso básico de petición de servidor puede dividirse en varios pasos, según el tipo de proceso que ejecuta el servidor durante esa fase. Cada paso incluye una ligazón en la que puede ejecutarse una parte específica del programa. Al añadir directrices API al archivo de configuración, indica cuál de las funciones de aplicación desea que el servidor llame durante un paso determinado. Puede llamar a varias funciones de aplicación durante un paso de proceso de petición incluyendo más de una directriz API para dicho paso.
El programa plug-in compilado reside en un archivo .DLL, .so u .o, según el sistema operativo. Cuando el servidor continúa con sus pasos de proceso de petición, llama a las funciones de aplicación de plug-in asociadas a cada paso, hasta que una de las funciones indica que ha manejado la petición. Si se indica más de una función de plug-in para un paso determinado, éstas se llamarán en el orden en que aparecen en el archivo de configuración.
Si una función de aplicación no ha completado la petición (no se ha especificado una función de aplicación o la función de aplicación para ese paso devolvió el código HTTP_NOACTION), el servidor ejecutará su acción por omisión para ese paso. Nota: Esto es válido para todos los pasos salvo el paso Service. El paso Service no tiene ninguna acción por omisión.
Cada paso del proceso de petición tiene una directriz de configuración que le permite especificar cuál de las funciones de aplicaciones personalizadas desea que se llame y se ejecute durante ese paso.
Si tiene múltiples funciones de plug-in que se llaman desde un paso del proceso, a veces es importante el orden relativo de dichas directrices. Dentro de un paso, las funciones para dicho paso se ejecutarán en el orden en el que están listadas.
Las directrices Service y NameTrans funcionan como la directriz Exec y dependen de su aparición y colocación en relación a otras directrices de correlación en el archivo de configuración. Esto quiere decir que el servidor procesa las directrices Service, NameTrans, Map, Pass, Exec, Redirect y Fail en su orden secuencial en el archivo de configuración. Cuando se correlaciona satisfactoriamente un URL con un archivo, no se lee ni se procesa ninguna de las demás directrices.
Nota: Las directrices NameTrans y Service, junto con las directrices Map, Pass, Exec, Redirect y Fail, se pueden configurar utilizando el formulario Direccionamiento de peticiones. Antes de que se modifique, este formulario muestra los valores por omisión que aparecen en el orden adecuado para estas directrices.
ServerInit | /vía_acceso/archivo:nombre_función | ||
PreExit | /vía_acceso/archivo:nombre_función | ||
Authentication | tipo | /vía_acceso/archivo:nombre_función | |
NameTrans | /URL | /vía_acceso/archivo:nombre_función | |
Authorization | /URL | /vía_acceso/archivo:nombre_función | |
ObjectType | /URL | /vía_acceso/archivo:nombre_función | |
PostAuth | /vía_acceso/archivo:nombre_función | ||
Service | /URL | /vía_acceso/archivo:nombre_función | |
Transmogrifier | /vía_acceso/archivo:abrir_nombre_función:grabar_nombre_función:cerrar_nombre_función:error_nombre_función | ||
Log | /URL | /vía_acceso/archivo:nombre_función | |
Error | /URL | /vía_acceso/archivo:nombre_función | |
PostExit | /vía_acceso/archivo:nombre_función | ||
ServerTerm | /vía_acceso/archivo:nombre_función | ||
Midnight | /vía_acceso/archivo:nombre_función | ||
PICSDBLookup | /vía_acceso/archivo:nombre_función | ||
GC Advisor | /vía_acceso/archivo:nombre_función | ||
Proxy Advisor | /vía_acceso/archivo:nombre_función |
Nota: Se necesita una plantilla de URL con la directriz Service si desea que haya conversión de vía de acceso.