monasca-kibana-plugin/server/mt/routing/_create_proxy.js
Arseni Lipinski bfa95367e0 Upgrade monasca-kibana-plugin for Elkstack update
Story: 2006376
Task: 36179

Besides the plugin update, tests should get remade as well as Zuul jobs
due to plugin being built in a different way.

Change-Id: Id5d0bb53d10fa8823ceda2c8e922ea36b9b27501
2020-04-23 18:38:53 +02:00

52 lines
1.6 KiB
JavaScript

/*
* Copyright 2020 FUJITSU LIMITED
*
* Licensed 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.
*/
import { PREFIX } from './_utils';
module.exports = (server, method, route) => {
const pre = '/elasticsearch';
const sep = route[0] === '/' ? '' : '/';
let path;
if (/\/api.*\//.test(route)) {
path = `${PREFIX}${sep}${route}`;
} else {
path = `${PREFIX}${pre}${sep}${route}`;
}
server.log(['create-proxy-path'], path + '; ' + method);
let options;
switch (route) {
case '/_search':
options = require('./routes/search')(server, method, path);
break;
case '/{search_pattern}/_search':
options = require('./routes/pattern_search')(server, method, path);
break;
case '/api/saved_objects/_bulk_get':
options = require('./routes/bulk_get')(server, method, path);
break;
default:
if (/\/api.*\/saved_objects\/_find/.test(route)) {
options = require('./routes/find')(server, method, path);
} else {
options = require('./routes/default')(server, method, path);
}
break;
}
return server.route(options);
};