diff --git a/kong/db/dao/plugins.lua b/kong/db/dao/plugins.lua index 9bf8447ef047..f05c31d677a2 100644 --- a/kong/db/dao/plugins.lua +++ b/kong/db/dao/plugins.lua @@ -355,29 +355,5 @@ function Plugins:get_handlers() return list end -function Plugins:execute_plugin_init() - local handlers, err = self:get_handlers() - if not handlers then - return nil, err - end - - local errors - - for _, handler in ipairs(handlers) do - if implements(handler.handler, "init") then - local ok, err = pcall(handler.handler.init, handler.handler) - if not ok then - errors = errors or {} - errors[#errors + 1] = "on plugin '" .. handler.name .. "': " .. tostring(err) - end - end - end - - if errors then - return nil, "error executing plugin init: " .. table.concat(errors, "; ") - end - - return true -end return Plugins diff --git a/kong/init.lua b/kong/init.lua index 5a0eedfce23a..f200f08c49b4 100644 --- a/kong/init.lua +++ b/kong/init.lua @@ -629,8 +629,6 @@ function Kong.init() -- Load plugins as late as possible so that everything is set up assert(db.plugins:load_plugin_schemas(config.loaded_plugins)) - assert(db.plugins:execute_plugin_init()) - if is_stream_module then stream_api.load_handlers() end diff --git a/kong/plugins/aws-lambda/handler.lua b/kong/plugins/aws-lambda/handler.lua index 0370568a0ed9..a2a6c597288e 100644 --- a/kong/plugins/aws-lambda/handler.lua +++ b/kong/plugins/aws-lambda/handler.lua @@ -8,6 +8,7 @@ local ngx_update_time = ngx.update_time local kong = kong local meta = require "kong.meta" local constants = require "kong.constants" +local aws_config = require "resty.aws.config" -- reads environment variables, thus specified here local VIA_HEADER = constants.HEADERS.VIA local VIA_HEADER_VALUE = meta._NAME .. "/" .. meta._VERSION @@ -30,18 +31,24 @@ local function get_now() end +local function initialize() + AWS_GLOBAL_CONFIG = aws_config.global + AWS = aws() + initialize = nil +end + + local AWSLambdaHandler = { PRIORITY = 750, VERSION = meta.version } -function AWSLambdaHandler:init() - AWS_GLOBAL_CONFIG = require("resty.aws.config").global - AWS = aws() -end - function AWSLambdaHandler:access(conf) + if initialize then + initialize() + end + -- The region in plugin configuraion has higher priority -- than the one in environment variable local region = conf.aws_region or AWS_REGION