Pomoc do produktu Caching Proxy

Przetwarzanie żądania interfejsu API

Przegląd interfejsu API

Interfejs API zapewnia możliwość rozszerzenia podstawowych funkcji serwera proxy. Tworząc wtyczki (rozszerzenia aplikacji przygotowywane przez użytkownika), można wykonywać przetwarzanie w dostosowany sposób, na przykład:

Podstawowy proces żądania serwera

Podstawowy proces żądania serwera można podzielić na kroki na podstawie typu przetwarzania wykonywanego przez serwer w danej fazie. Każdy krok obejmuje moment, w którym można wykonać określoną część programu. Poprzez dodanie dyrektyw interfejsu API do pliku konfiguracyjnego można wskazać funkcje aplikacji, które powinny zostać wywołane przez serwer podczas określonego kroku. W czasie kroku procesu przetwarzania żądania można wywołać wiele funkcji aplikacji poprzez dołączenie kolejnych dyrektyw interfejsu API dla tego kroku.

Skompilowany program wtyczki ma postać pliku .DLL, .so lub .o w zależności od używanego systemu operacyjnego. Kiedy serwer przechodzi przez poszczególne kroki przetwarzania żądania, wywołuje funkcje aplikacji wtyczki powiązanej z każdym krokiem do momentu, gdy jedna z funkcji wskaże, że żądanie zostało obsłużone. Jeśli w danym kroku konieczne jest wywołanie kilku wtyczek, są one wywoływane zgodnie z ich kolejnością w pliku konfiguracyjnym.

Jeśli żądanie nie zostanie wykonane przez funkcję aplikacji (ponieważ nie określono funkcji aplikacji lub funkcja aplikacji dla danego kroku zwróciła kod HTTP_NOACTION), serwer wykonuje domyślną akcję dla tego kroku. Uwaga: Powyższy sposób postępowania dotyczy wszystkich kroków z wyjątkiem kroku Service, ponieważ ten krok nie ma akcji domyślnej.

Dyrektywy konfiguracji interfejsu API

Dla każdego kroku procesu żądania istnieje dyrektywa konfiguracyjna umożliwiająca określenie dostosowanej funkcji aplikacji, która ma zostać wywołana i wykonana w tym kroku.

Formaty dyrektyw interfejsu API

ServerInit /ścieżka/plik:nazwa_funkcji
PreExit /ścieżka/plik:nazwa_funkcji
Uwierzytelnianie typ /ścieżka/plik:nazwa_funkcji
NameTrans /adres_URL /ścieżka/plik:nazwa_funkcji
Autoryzacja /adres_URL /ścieżka/plik:nazwa_funkcji
Typ obiektu /adres_URL /ścieżka/plik:nazwa_funkcji
PostAuth /ścieżka/plik:nazwa_funkcji
Usługa /adres_URL /ścieżka/plik:nazwa_funkcji
Transmogrifier /ścieżka/plik:nazwa_funkcji_otwierania:nazwa_funkcji_zapisywania:nazwa_funkcji_zamykania:nazwa_funkcji_błędu
Dziennik /adres_URL /ścieżka/plik:nazwa_funkcji
Error /adres_URL /ścieżka/plik:nazwa_funkcji
PostExit /ścieżka/plik:nazwa_funkcji
ServerTerm /ścieżka/plik:nazwa_funkcji
Midnight /ścieżka/plik:nazwa_funkcji
PICSDBLookup /ścieżka/plik:nazwa_funkcji
GC Advisor /ścieżka/plik:nazwa_funkcji
Proxy Advisor /ścieżka/plik:nazwa_funkcji

Zmienne w dyrektywach interfejsu API

Zmienne w tych dyrektywach mają następujące znaczenie:
typ
Używany tylko dla dyrektywy Authentication. Ustawienie to określa, czy funkcja aplikacji zostanie wywołana. Poprawne wartości to:
Podstawowe
Funkcja aplikacji jest wywoływana tylko dla żądań podstawowego uwierzytelniania.
*
Funkcja aplikacji jest wywoływana dla wszystkich żądań.

/adres_URL
Ta wartość określa żądania adresów URL, dla których będzie wywoływana funkcja aplikacji. Specyfikacje adresów URL w tych dyrektywach są wirtualne (nie zawierają nazwy protokołu), lecz są poprzedzane znakiem ukośnika (/). Na przykład adres /www.ibm.com jest poprawny, lecz http://www.ibm.com - nie. Poprawne wartości to:
Konkretny adres URL
Funkcja aplikacji jest wywoływana tylko dla tego adresu URL.
Szablon adresu URL
Funkcja aplikacji jest wywoływana tylko dla adresów URL, które są zgodne z tym szablonem. Szablon można określić jako /URL*, /* lub *.

Uwaga: Jeśli ma być wykonywane tłumaczenie ścieżki, szablon adresu URL należy podać wraz z dyrektywą Service.


/ścieżka/plik
Pełna nazwa pliku skompilowanego programu.
:nazwa_funkcji
Nazwa nadana funkcji aplikacji w programie. W przypadku dyrektywy Transmogrifier należy określić nazwy funkcji otwierania, zapisywania i zamykania.

Informacje pokrewne