diff --git a/src/handlers/folders/delete.js b/src/handlers/folders/delete.js index b840b83..451fd44 100644 --- a/src/handlers/folders/delete.js +++ b/src/handlers/folders/delete.js @@ -8,9 +8,7 @@ export default function folderDeleteHandler(request, response) { * @type {ElastalertServer} */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let pathIndex = pathParts.indexOf(request.params.type) + 1; - let path = pathParts.slice(pathIndex).join('/'); + let path = request.params.path.join('/'); server.foldersController.delete(request.params.type, path) .then(function () { diff --git a/src/handlers/folders/put.js b/src/handlers/folders/put.js index bb6af07..84f9918 100644 --- a/src/handlers/folders/put.js +++ b/src/handlers/folders/put.js @@ -8,9 +8,7 @@ export default function folderPostHandler(request, response) { * @type {ElastalertServer} */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let pathIndex = pathParts.indexOf(request.params.type) + 1; - let path = pathParts.slice(pathIndex).join('/'); + let path = request.params.path.join('/'); server.foldersController.create(request.params.type, path) .then(function () { diff --git a/src/handlers/rules/id/delete.js b/src/handlers/rules/id/delete.js index fb55e96..ad05323 100644 --- a/src/handlers/rules/id/delete.js +++ b/src/handlers/rules/id/delete.js @@ -8,9 +8,7 @@ export default function ruleDeleteHandler(request, response) { * @type {ElastalertServer} */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('rules') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.rulesController.rule(path) .then(function (rule) { diff --git a/src/handlers/rules/id/get.js b/src/handlers/rules/id/get.js index 171bd0e..afae3c9 100644 --- a/src/handlers/rules/id/get.js +++ b/src/handlers/rules/id/get.js @@ -9,9 +9,7 @@ export default function ruleGetHandler(request, response) { */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('rules') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.rulesController.rule(path) .then(function (rule) { diff --git a/src/handlers/rules/id/post.js b/src/handlers/rules/id/post.js index ca141d3..8705e80 100644 --- a/src/handlers/rules/id/post.js +++ b/src/handlers/rules/id/post.js @@ -9,9 +9,7 @@ export default function rulePostHandler(request, response) { */ let server = request.app.get('server'); let body = request.body ? request.body.yaml : undefined; - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('rules') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.rulesController.rule(path) .then(function (rule) { diff --git a/src/handlers/silence/post.js b/src/handlers/silence/post.js index d715d33..5f78ee9 100644 --- a/src/handlers/silence/post.js +++ b/src/handlers/silence/post.js @@ -40,9 +40,7 @@ export default function silencePostHandler(request, response) { sendRequestError(response, body.error); } - let pathParts = request.originalUrl.split('/'); - let pathIndex = pathParts.indexOf('silence') + 1; - let path = pathParts.slice(pathIndex).join('/'); + let path = request.params.path.join('/'); server.silenceController.silenceRule(path, body.unit, body.duration) .then(function (consoleOutput) { diff --git a/src/handlers/templates/id/delete.js b/src/handlers/templates/id/delete.js index 0eed4c1..8dcd4a8 100644 --- a/src/handlers/templates/id/delete.js +++ b/src/handlers/templates/id/delete.js @@ -8,9 +8,7 @@ export default function templateDeleteHandler(request, response) { * @type {ElastalertServer} */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('templates') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.templatesController.template(path) .then(function (template) { diff --git a/src/handlers/templates/id/get.js b/src/handlers/templates/id/get.js index 86bf935..acdcf57 100644 --- a/src/handlers/templates/id/get.js +++ b/src/handlers/templates/id/get.js @@ -8,9 +8,7 @@ export default function templateGetHandler(request, response) { * @type {ElastalertServer} */ let server = request.app.get('server'); - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('templates') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.templatesController.template(path) .then(function (template) { diff --git a/src/handlers/templates/id/post.js b/src/handlers/templates/id/post.js index 4e34807..d70b204 100644 --- a/src/handlers/templates/id/post.js +++ b/src/handlers/templates/id/post.js @@ -9,9 +9,7 @@ export default function templatePostHandler(request, response) { */ let server = request.app.get('server'); let body = request.body ? request.body.yaml : undefined; - let pathParts = request.originalUrl.split('/'); - let idIndex = pathParts.indexOf('templates') + 1; - let path = pathParts.slice(idIndex).join('/'); + let path = request.params.id.join('/'); server.templatesController.template(path) .then(function (template) { diff --git a/src/routes/routes.js b/src/routes/routes.js index 42f86e1..8e3d2bc 100644 --- a/src/routes/routes.js +++ b/src/routes/routes.js @@ -58,7 +58,7 @@ let routes = [ method: 'GET', handler: rulesHandler }, { - path: 'rules/:id', + path: 'rules/*id', method: ['GET', 'POST', 'DELETE'], handler: [ruleGetHandler, rulePostHandler, ruleDeleteHandler] }, { @@ -67,11 +67,11 @@ let routes = [ handler: templatesHandler }, { method: ['GET', 'POST', 'DELETE'], - path: 'templates/:id', + path: 'templates/*id', handler: [templateGetHandler, templatePostHandler, templateDeleteHandler] }, { - path: 'folders/:type/:path', + path: 'folders/:type/*path', method: ['PUT', 'DELETE'], handler: [folderPutHandler, folderDeleteHandler] }, @@ -81,7 +81,7 @@ let routes = [ handler: testPostHandler }, { - path: 'silence/:path', + path: 'silence/*path', method: 'POST', handler: silencePostHandler },