-
-
Notifications
You must be signed in to change notification settings - Fork 9
modules configuration
Модулите ще трябва да могат да се конфигурират. Едва ли всички модули, които можем да измислим ще разминат от нуждата да имат нещо променимо. За целта ще трябва да решим по какъв начин ще им се дават конфигурациите. Аз мога да измисля два начина.
Първия е в config.json
. Пример:
"http": {...}
"modules": {
"output": {
"gzip": {
"compression": 7
}
}
}
Това има за бонус факта, че конфигурацията се държи на едно и също място. Но за сега не мога да измисля как да даваме някакви настройки за модула, които да са валидни само за определен vhost. Друг проблем е, че тук ще може да се мотае конфигурация за модули, които не са компилирани.
Другия вариант е да пазим конфигураицята на модулите в отделни файлове, да кажем config.output.gzip.json
и сървъра да я търси и зарежда при стартиране. Минуса е, че ще трябва да пишем още config parser-и за тези конфизи.
Като цяло клоня към първата идея.
Можеда направим някакъв вид йерархия на конфигурациите. В тази йерархия да може конфигурационни директиви да могат да се слагат в по - вътрешен блок и да имат значение само за този блок. Пример за йерахия: http
-> virtual host
-> cache zone
.
Това ще е доста работа, но ще ни даде голяма гъвкавост в употребата на сървъра.