-
-
Notifications
You must be signed in to change notification settings - Fork 9
modules core
Все някъде в кода имаме място, където взима входящия рикуест и решава какво да прави с него. Едно от нещата, коит може да направи е да го пусне на модулите в правилната последователност. Друго нещо, което може да се направи е да се покаже Server Status-a, който няма нищо общо с модулите и кеширането като лога.
Мисля, че хубаво име е handlers
.
Иска ми се тази логика какво да се прави да е модулярна. За всеки виртуален хост (в конфигурацията) да може да избираме коя логика да се изпълнява. В момента виждам два вида модула за работа и те са:
- Кеширане с взимане от upstream (подразбиращия се)
- Server Status
За целта ще сложим един незадължителен ключ в конфигурацията на кеш зоните, да кажем - handler
. За името не съм сигурен, не ми харесва това. Пример:
{
"name": "proxied.example.com",
"upstream_address": "http://example.com",
"cache_zone": 2,
"cache_key": "2.1"
},
{
"name": "server-status.page",
"handler": "server_status"
}
Това ще ни реши проблема със странния хак, с който сме пуснали статуса. Също така, ще ни позволи по - нататък да можем да добавяме друг вид логика за обратоване на рикуест. Като например plain old даване на файлове от дикса. Или CGI, PHP, WSGI и подобни.