Fix swagger parse logic for empty execute policy (#238)
diff --git a/scripts/lua/management/lib/swagger.lua b/scripts/lua/management/lib/swagger.lua
index 7184d42..c7d9951 100644
--- a/scripts/lua/management/lib/swagger.lua
+++ b/scripts/lua/management/lib/swagger.lua
@@ -41,9 +41,14 @@
for verb, value in pairs(verbObj) do
decoded.resources[path].operations[verb] = {}
local verbObj = decoded.resources[path].operations[verb]
- local backend = (backends["all"] ~= nil) and backends["all"] or backends[value.operationId]
- verbObj.backendUrl = backend.backendUrl
- verbObj.backendMethod = (backend.backendMethod == 'keep') and verb or backend.backendMethod
+ if backends ~= nil then
+ local backend = (backends["all"] ~= nil) and backends["all"] or backends[value.operationId]
+ verbObj.backendUrl = backend.backendUrl
+ verbObj.backendMethod = (backend.backendMethod == 'keep') and verb or backend.backendMethod
+ else
+ verbObj.backendUrl = ''
+ verbObj.backendMethod = verb
+ end
verbObj.policies = policies
verbObj.security = security
end