diff --git a/run/events-pubsub/app.js b/run/events-pubsub/app.js index e00abda880..83f23dda20 100644 --- a/run/events-pubsub/app.js +++ b/run/events-pubsub/app.js @@ -4,6 +4,7 @@ // [START run_events_pubsub_handler] const express = require('express'); +const {toMessagePublishedEvent} = require('@google/events/cloud/pubsub/v1/MessagePublishedData'); const app = express(); app.use(express.json()); @@ -20,9 +21,10 @@ app.post('/', (req, res) => { console.log(`Bad Request: ${errorMessage}`); return; } - const pubSubMessage = req.body.message; - const name = pubSubMessage.data - ? Buffer.from(pubSubMessage.data, 'base64').toString().trim() + // Cast to MessagePublishedEvent for IDE autocompletion + const pubSubMessage = toMessagePublishedEvent(req.body); + const name = pubSubMessage.message && pubSubMessage.message.data + ? Buffer.from(pubSubMessage.message.data, 'base64').toString().trim() : 'World'; const result = `Hello, ${name}! ID: ${req.get('ce-id') || ''}`; diff --git a/run/events-pubsub/package.json b/run/events-pubsub/package.json index bdf84376b6..80579db199 100644 --- a/run/events-pubsub/package.json +++ b/run/events-pubsub/package.json @@ -19,6 +19,7 @@ "system-test": "test/runner.sh mocha test/system.test.js --timeout=10000" }, "dependencies": { + "@google/events": "^1.4.2", "express": "^4.16.4" }, "devDependencies": {