blob: 268d307154b43a75af2b26805d590b338820b051 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for additional
# information regarding copyright ownership. The ASF licenses this file to you
# under the Apache License, Version 2.0 (the # "License"); you may not use this
# file except in compliance with the License. You may obtain a copy of the License
# at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
server {
listen 9000;
server_name management_gw;
include /etc/api-gateway/conf.d/commons/common-headers.conf;
include /etc/api-gateway/conf.d/includes/resolvers.conf;
# Log locations with service name
lua_socket_log_errors off;
access_log /var/log/api-gateway/access.log main;
error_log /var/log/api-gateway/management.log debug;
location ~ /(?<version>v2)/(?<tenantId>[^/]*)/apis/?(?<api_id>[^/]*)?/?(?<query>[^/]*)? {
access_by_lua_block {
local ds = require('lib/dataStore')
local dataStore = ds.init()
local apis = require("management/routes/apis")
apis.requestHandler(dataStore)
}
}
location ~ /(?<version>v1)/apis/?(?<api_id>[^/]*)?/?(?<query>[^/]*)? {
access_by_lua_block {
local apis = require("management/routes/apis")
local ds = require('lib/dataStore')
local dataStore = ds.init()
apis.requestHandler(dataStore)
}
}
location ~ /v1/tenants/?(?<tenant_id>[^/]*)?/?(?<query>[^/]*)? {
access_by_lua_block {
local tenants = require("management/routes/tenants")
local ds = require('lib/dataStore')
local dataStore = ds.init()
tenants.requestHandler(dataStore)
}
}
location ~ /(?<version>v2)/(?<tenant_id>[^/]*)/subscriptions/?(?<client_id>[^/]*)?/? {
access_by_lua_block {
local subscriptions = require("management/routes/subscriptions")
local ds = require('lib/dataStore')
local dataStore = ds.init()
subscriptions.requestHandler(dataStore)
}
}
location ~ /(?<version>v1)/subscriptions/? {
access_by_lua_block {
local subscriptions = require("management/routes/subscriptions")
local ds = require('lib/dataStore')
local dataStore = ds.init()
subscriptions.requestHandler(dataStore)
}
}
location /v1/health-check {
access_log off;
access_by_lua_block {
local requestMethod = ngx.req.get_method()
if requestMethod == "GET" then
local request = require "lib/request"
request.success(200, "Status: Gateway ready.")
else
ngx.say("Invalid verb")
end
}
}
}