Rozhraní API poskytuje možnost rozšíření základních funkcí serveru proxy. Napsáním modulů plug-in (vámi vytvořených rozšíření aplikace) můžete provádět například následující přizpůsobená zpracování:
Základní proces požadavků serveru lze rozdělit na kroky podle typu zpracování, která v dané fázi server provádí. Každý krok zahrnuje důležitý okamžik, ve kterém může být spuštěn daný program. Přidáním direktiv API do konfiguračního souboru indikujete, které z funkcí aplikace má server volat během konkrétního kroku. Zahrnutím více než jedné direktivy API pro daný krok můžete v průběhu kroku procesu požadavku zavolat několik funkcí aplikace.
Zkompilovaný program modulu plug-in je soubor .DLL, .so nebo .o v závislosti na operačním systému. Jak server postupuje s kroky procesu požadavku, volá funkce modulu plug-in aplikace asociované s každým krokem, dokud některá funkce neindikuje zvládnutí požadavku. Je-li z konkrétního kroku zavolána více než jedna funkce modulu plug-in, jsou funkce volány v pořadí uvedeném v konfiguračním souboru.
Pokud není požadavek funkcí aplikace dokončen (nebyla zadána žádná funkce aplikace nebo tato funkce vrátila pro daný krok kód HTTP_NOACTION), provede server pro daný krok výchozí akci. Poznámka: Tento postup platí pro všechny kroky kromě kroku služby; krok služby nemá výchozí akci.
Pro každý krok v procesu požadavku existuje direktiva konfigurace, jež umožňuje zadat přizpůsobenou funkci aplikace, která bude zavolána a provedena v průběhu daného kroku.
Pokud existuje více funkcí modulů plug-in, které jsou volány z jednoho kroku zpracování, je někdy důležité relativní pořadí daných direktiv. V rámci jednoho kroku budou funkce provedeny v pořadí uvedeném v seznamu.
Direktivy NameTrans a Service fungují jako direktiva Exec a jsou závislé na svém výskytu a umístění relativně k dalším direktivám mapování v rámci konfiguračního souboru. To znamená, že server zpracovává direktivy Service, NameTrans, Map, Pass, Exec, Redirect a Fail v postupném pořadí v rámci konfiguračního souboru. Po úspěšném namapování adresy URL na soubor server nečte ani nezpracovává žádné další direktivy pro daný požadavek.
Poznámka: Direktivy NameTrans a Service společně s direktivami Map, Pass, Exec, Redirect a Fail je možné konfigurovat pomocí formuláře Směrování požadavků. Před úpravami se v tomto formuláři zobrazují výchozí nastavení, která jsou pro tyto direktivy zobrazena ve vhodném pořadí.
ServerInit | /cesta/soubor:název_funkce | ||
PreExit | /cesta/soubor:název_funkce | ||
Authentication | typ | /cesta/soubor:název_funkce | |
NameTrans | /adresa_URL | /cesta/soubor:název_funkce | |
Authorization | /adresa_URL | /cesta/soubor:název_funkce | |
ObjectType | /adresa_URL | /cesta/soubor:název_funkce | |
PostAuth | /cesta/soubor:název_funkce | ||
Service | /adresa_URL | /cesta/soubor:název_funkce | |
Transmogrifier | /cesta/soubor:název_funkce_pro_otevření:název_funkce_pro_zápis:název_funkce_pro_zavření:název_chybové_funkce | ||
Log | /adresa_URL | /cesta/soubor:název_funkce | |
Error | /adresa_URL | /cesta/soubor:název_funkce | |
PostExit | /cesta/soubor:název_funkce | ||
ServerTerm | /cesta/soubor:název_funkce | ||
Midnight | /cesta/soubor:název_funkce | ||
PICSDBLookup | /cesta/soubor:název_funkce | ||
GC Advisor | /cesta/soubor:název_funkce | ||
Proxy Advisor | /cesta/soubor:název_funkce |
Poznámka: Šablona adresy URL je u direktivy Service požadována, pokud má proběhnout převod cesty.