blob: 8ef68240f61c1d069d025db7f0bff2a2d7bb4f3a [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
}
}
}