From 9b889c873624d43baed4769a788db39528b143d8 Mon Sep 17 00:00:00 2001 From: Anselm Stordeur Date: Tue, 22 Jan 2019 11:52:04 +0100 Subject: [PATCH] fix: fix reading url path as parameters --- src/routes/Route.ts | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/routes/Route.ts b/src/routes/Route.ts index c539db25..e7d86347 100644 --- a/src/routes/Route.ts +++ b/src/routes/Route.ts @@ -48,14 +48,14 @@ export function createRoute( // get route parameters (path parameters) if (Array.isArray(routeClass.obligatoryParameters) && routeClass.obligatoryParameters.length > 0) { routeClass.obligatoryParameters.forEach((parameterName) => { - router.param(parameterName, async (_req, _res, next, _parameterValue: string) => { + router.param(parameterName, async (req, _res, next, parameterValue: string) => { - // if (typeof req.params === 'undefined') { - // req.params = {}; - // } + if (typeof req.params === 'undefined') { + req.params = {}; + } // set parameter values on request object - // req.params[parameterName] = parameterValue; + req.params[parameterName] = parameterValue; // hand over the request to the next handler (our method route handler) next(); }); @@ -87,18 +87,8 @@ export function createRoute( return; } - const params: { [parameterName: string]: string } = {}; - - if (Array.isArray(routeClass.obligatoryParameters) && routeClass.obligatoryParameters) { - // copy over parameter values from request object - // the parameter values were set in the parameter handler of the route - routeClass.obligatoryParameters.forEach((parameterName) => { - params[parameterName] = req.params[parameterName]; - }); - } - // hand over request to handler with path parameters - const response = await handler(req.body, req.app, params); + const response = await handler(req.body, req.app, req.params); // validate response generated by handler const responseValidation = validator.validate(response, routeClass.responseBodyName);