32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
{{ API_URI }}
|
|
{% set API_WHITELIST_IP_value = "" %}
|
|
{% for element in API_WHITELIST_IP.split(" ") %}
|
|
{{ element + "toto" }}
|
|
{% set API_WHITELIST_IP_value = API_WHITELIST_IP_value + '"' + element + '",' %}
|
|
{% endfor %}
|
|
{% set API_WHITELIST_IP_value = API_WHITELIST_IP_value[:-1] %}
|
|
|
|
rewrite_by_lua_block {
|
|
|
|
local api = require "api"
|
|
local api_whitelist_ip = {% raw %}{{% endraw %}{% set elements = API_WHITELIST_IP.split(" ") %}{% for i in range(0, elements|length) %}"{{ elements[i] }}"{% if i < elements|length-1 %},{% endif %}{% endfor %}{% raw %}}{% endraw %}
|
|
local api_uri = "%API_URI%"
|
|
local logger = require "logger"
|
|
|
|
if api.is_api_call(api_uri, api_whitelist_ip) then
|
|
ngx.header.content_type = 'text/plain'
|
|
if api.do_api_call(api_uri) then
|
|
logger.log(ngx.NOTICE, "API", "API call " .. ngx.var.request_uri .. " successfull from " .. ngx.var.remote_addr)
|
|
ngx.say("ok")
|
|
else
|
|
logger.log(ngx.WARN, "API", "API call " .. ngx.var.request_uri .. " failed from " .. ngx.var.remote_addr)
|
|
ngx.say("ko")
|
|
end
|
|
|
|
ngx.exit(ngx.HTTP_OK)
|
|
|
|
end
|
|
|
|
ngx.exit(ngx.OK)
|
|
}
|