From 78c4cc4d9645663fd96e15558999956ff97e0cff Mon Sep 17 00:00:00 2001 From: simon-id Date: Wed, 16 Oct 2024 15:21:19 +0200 Subject: [PATCH 1/3] fix node apisec path params --- manifests/nodejs.yml | 4 +++- utils/build/docker/nodejs/express4-typescript/app.ts | 9 +++++---- utils/build/docker/nodejs/express4/app.js | 8 ++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/manifests/nodejs.yml b/manifests/nodejs.yml index 15d67c4c94..14d41d6793 100644 --- a/manifests/nodejs.yml +++ b/manifests/nodejs.yml @@ -61,7 +61,9 @@ tests/: nextjs: *ref_5_3_0 Test_Schema_Request_Headers: *ref_4_21_0 Test_Schema_Request_Json_Body: *ref_4_21_0 - Test_Schema_Request_Path_Parameters: missing_feature (path_params not supported yet) + Test_Schema_Request_Path_Parameters: + '*': *ref_4_21_0 + nextjs: missing_feature Test_Schema_Request_Query_Parameters: *ref_4_21_0 Test_Schema_Response_Body: '*': *ref_5_3_0 diff --git a/utils/build/docker/nodejs/express4-typescript/app.ts b/utils/build/docker/nodejs/express4-typescript/app.ts index 6bba0493f8..dc600a6b38 100644 --- a/utils/build/docker/nodejs/express4-typescript/app.ts +++ b/utils/build/docker/nodejs/express4-typescript/app.ts @@ -199,16 +199,17 @@ app.get('/load_dependency', (req: Request, res: Response) => { res.send("Loaded a dependency") }); -app.all('/tag_value/:tag/:status', (req: Request, res: Response) => { - require('dd-trace/packages/dd-trace/src/plugins/util/web').root(req).setTag('appsec.events.system_tests_appsec_event.value', req.params.tag); +app.all('/tag_value/:tag_value/:status_code', (req: Request, res: Response) => { + require('dd-trace/packages/dd-trace/src/plugins/util/web') + .root(req).setTag('appsec.events.system_tests_appsec_event.value', req.params.tag_value); for (const [k, v] of Object.entries(req.query)) { res.set(k, v && v.toString()); } - res.status(parseInt(req.params.status) || 200) + res.status(parseInt(req.params.status_code) || 200) - if (req.params?.tag?.startsWith?.('payload_in_response_body') && req.method === 'POST') { + if (req.params?.tag_value?.startsWith?.('payload_in_response_body') && req.method === 'POST') { res.send({ payload: req.body }); } else { res.send('Value tagged'); diff --git a/utils/build/docker/nodejs/express4/app.js b/utils/build/docker/nodejs/express4/app.js index b4a9b0d037..75f58ca342 100644 --- a/utils/build/docker/nodejs/express4/app.js +++ b/utils/build/docker/nodejs/express4/app.js @@ -341,17 +341,17 @@ app.get('/load_dependency', (req, res) => { res.send('Loaded a dependency') }) -app.all('/tag_value/:tag/:status', (req, res) => { +app.all('/tag_value/:tag_value/:status_code', (req, res) => { require('dd-trace/packages/dd-trace/src/plugins/util/web') - .root(req).setTag('appsec.events.system_tests_appsec_event.value', req.params.tag) + .root(req).setTag('appsec.events.system_tests_appsec_event.value', req.params.tag_value) for (const [k, v] of Object.entries(req.query)) { res.set(k, v) } - res.status(req.params.status || 200) + res.status(req.params.status_code || 200) - if (req.params?.tag?.startsWith?.('payload_in_response_body') && req.method === 'POST') { + if (req.params?.tag_value?.startsWith?.('payload_in_response_body') && req.method === 'POST') { res.send({ payload: req.body }) } else { res.send('Value tagged') From 48cfde56dc57dc8f16112a6fffecfc6f2e030b1b Mon Sep 17 00:00:00 2001 From: simon-id Date: Wed, 16 Oct 2024 15:50:14 +0200 Subject: [PATCH 2/3] Update utils/build/docker/nodejs/express4-typescript/app.ts Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com> --- utils/build/docker/nodejs/express4-typescript/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build/docker/nodejs/express4-typescript/app.ts b/utils/build/docker/nodejs/express4-typescript/app.ts index dc600a6b38..284f208e28 100644 --- a/utils/build/docker/nodejs/express4-typescript/app.ts +++ b/utils/build/docker/nodejs/express4-typescript/app.ts @@ -209,7 +209,7 @@ app.all('/tag_value/:tag_value/:status_code', (req: Request, res: Response) => { res.status(parseInt(req.params.status_code) || 200) - if (req.params?.tag_value?.startsWith?.('payload_in_response_body') && req.method === 'POST') { + if (req.params.tag_value.startsWith?.('payload_in_response_body') && req.method === 'POST') { res.send({ payload: req.body }); } else { res.send('Value tagged'); From c854ca7bae9e05b15d398664baf7923dc44e144d Mon Sep 17 00:00:00 2001 From: simon-id Date: Wed, 16 Oct 2024 15:50:32 +0200 Subject: [PATCH 3/3] Update utils/build/docker/nodejs/express4/app.js --- utils/build/docker/nodejs/express4/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build/docker/nodejs/express4/app.js b/utils/build/docker/nodejs/express4/app.js index 75f58ca342..73f0193331 100644 --- a/utils/build/docker/nodejs/express4/app.js +++ b/utils/build/docker/nodejs/express4/app.js @@ -351,7 +351,7 @@ app.all('/tag_value/:tag_value/:status_code', (req, res) => { res.status(req.params.status_code || 200) - if (req.params?.tag_value?.startsWith?.('payload_in_response_body') && req.method === 'POST') { + if (req.params.tag_value.startsWith?.('payload_in_response_body') && req.method === 'POST') { res.send({ payload: req.body }) } else { res.send('Value tagged')