From 88097ae0f36ec669f6b2ef89aaba3d736a14885a Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Thu, 24 Dec 2020 06:34:13 +0000 Subject: [PATCH 1/2] fix: examples/express-ex/package.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-AXIOS-1038255 Signed-off-by: Lucas Holmquist --- examples/express-ex/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/express-ex/package.json b/examples/express-ex/package.json index 74fa5232..ddc0439c 100644 --- a/examples/express-ex/package.json +++ b/examples/express-ex/package.json @@ -15,7 +15,7 @@ "license": "Apache-2.0", "dependencies": { "body-parser": "^1.19.0", - "cloudevents": "^3.1.0", + "cloudevents": "^4.0.0", "express": "^4.17.1" } } From 76ade35d75fb4ebfffe318df52416d71617d7518 Mon Sep 17 00:00:00 2001 From: Lucas Holmquist Date: Wed, 6 Jan 2021 13:42:46 -0500 Subject: [PATCH 2/2] fix(examples): remove the body-parser module. * When a structured formatted CloudEvent comes in, the body parser module does know how to parse it since the content type is not application/json, which resulted in an empty request body Signed-off-by: Lucas Holmquist --- examples/express-ex/index.js | 20 ++++++++++++++++---- examples/express-ex/package.json | 1 - 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/examples/express-ex/index.js b/examples/express-ex/index.js index cc8e2349..10ef8605 100644 --- a/examples/express-ex/index.js +++ b/examples/express-ex/index.js @@ -1,17 +1,29 @@ /* eslint-disable */ const express = require("express"); -const { Receiver } = require("cloudevents"); +const { CloudEvent, HTTP } = require("cloudevents"); const app = express(); -const bodyParser = require('body-parser') -app.use(bodyParser.json()) + +app.use((req, res, next) => { + let data = ""; + + req.setEncoding("utf8"); + req.on("data", function (chunk) { + data += chunk; + }); + + req.on("end", function () { + req.body = data; + next(); + }); +}); app.post("/", (req, res) => { console.log("HEADERS", req.headers); console.log("BODY", req.body); try { - const event = Receiver.accept(req.headers, req.body); + const event = HTTP.toEvent({ headers: req.headers, body: req.body }); // respond as an event const responseEventMessage = new CloudEvent({ source: '/', diff --git a/examples/express-ex/package.json b/examples/express-ex/package.json index ddc0439c..963560aa 100644 --- a/examples/express-ex/package.json +++ b/examples/express-ex/package.json @@ -14,7 +14,6 @@ "author": "fabiojose@gmail.com", "license": "Apache-2.0", "dependencies": { - "body-parser": "^1.19.0", "cloudevents": "^4.0.0", "express": "^4.17.1" }