make wantedScripts an ordered list #3
4 changed files with 13 additions and 4 deletions
|
|
@ -29,7 +29,7 @@ initialization will run validation of your configuration file and check
|
||||||
if it is valid. if it is not you will see logs emitted about what failed
|
if it is valid. if it is not you will see logs emitted about what failed
|
||||||
|
|
||||||
when a request comes in, the scripts declared in the aproxy config file will
|
when a request comes in, the scripts declared in the aproxy config file will
|
||||||
be executed sequentially (TODO: ensure order on conf file is chain order).
|
be executed sequentially in the order they appear in the configuration.
|
||||||
|
|
||||||
each script has two types of callbacks: init and request
|
each script has two types of callbacks: init and request
|
||||||
|
|
||||||
|
|
|
||||||
7
conf.lua
7
conf.lua
|
|
@ -1,6 +1,11 @@
|
||||||
return {
|
return {
|
||||||
version = 1,
|
version = 1,
|
||||||
wantedScripts = {
|
wantedScripts = {
|
||||||
['webfinger_allowlist'] = {accounts = {"example@example.com"}}
|
{
|
||||||
|
name = 'webfinger_allowlist',
|
||||||
|
config = {
|
||||||
|
accounts = {"example@example.com"}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,9 @@ end
|
||||||
|
|
||||||
local function validateConfigFile(config_object)
|
local function validateConfigFile(config_object)
|
||||||
local all_schema_errors = {}
|
local all_schema_errors = {}
|
||||||
for module_name, module_config in pairs(config_object.wantedScripts) do
|
for _, script_entry in ipairs(config_object.wantedScripts) do
|
||||||
|
local module_name = script_entry.name
|
||||||
|
local module_config = script_entry.config
|
||||||
local module_manifest = require('scripts.' .. module_name)
|
local module_manifest = require('scripts.' .. module_name)
|
||||||
local config_schema = module_manifest.config
|
local config_schema = module_manifest.config
|
||||||
local schema_errors = validateSchema(config_schema, module_config)
|
local schema_errors = validateSchema(config_schema, module_config)
|
||||||
|
|
|
||||||
4
ctx.lua
4
ctx.lua
|
|
@ -18,7 +18,9 @@ end
|
||||||
|
|
||||||
function ctx:loadChain()
|
function ctx:loadChain()
|
||||||
self.compiled_chain = {}
|
self.compiled_chain = {}
|
||||||
for module_name, module_config in pairs(self._wanted_scripts) do
|
for _, script_entry in ipairs(self._wanted_scripts) do
|
||||||
|
local module_name = script_entry.name
|
||||||
|
local module_config = script_entry.config
|
||||||
local module = require('scripts.' .. module_name)
|
local module = require('scripts.' .. module_name)
|
||||||
local module_config_readonly = table.readonly(module_config)
|
local module_config_readonly = table.readonly(module_config)
|
||||||
local module_state = module.init(module_config_readonly)
|
local module_state = module.init(module_config_readonly)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue