From ff6c82a5a674fd306aa2bcbba99e54044ac7a67e Mon Sep 17 00:00:00 2001 From: myholidays Date: Tue, 26 Aug 2025 02:46:19 +0300 Subject: [PATCH] Update app.js --- app.js | 88 +++++++++++++++++++++------------------------------------- 1 file changed, 32 insertions(+), 56 deletions(-) diff --git a/app.js b/app.js index 5ab128e4b4..66de816cab 100644 --- a/app.js +++ b/app.js @@ -1,61 +1,37 @@ -const express = require("express"); +// Import Express.js +const express = require('express'); + +// Create an Express app const app = express(); -const port = process.env.PORT || 3001; -app.get("/", (req, res) => res.type('html').send(html)); +// Middleware to parse JSON bodies +app.use(express.json()); + +// Set port and verify_token +const port = process.env.PORT || 3000; +const verifyToken = process.env.VERIFY_TOKEN; + +// Route for GET requests +app.get('/', (req, res) => { + const { 'hub.mode': mode, 'hub.challenge': challenge, 'hub.verify_token': token } = req.query; -const server = app.listen(port, () => console.log(`Example app listening on port ${port}!`)); + if (mode === 'subscribe' && token === verifyToken) { + console.log('WEBHOOK VERIFIED'); + res.status(200).send(challenge); + } else { + res.status(403).end(); + } +}); -server.keepAliveTimeout = 120 * 1000; -server.headersTimeout = 120 * 1000; +// Route for POST requests +app.post('/', (req, res) => { + const timestamp = new Date().toISOString().replace('T', ' ').slice(0, 19); + console.log(`\n\nWebhook received ${timestamp}\n`); + console.log(JSON.stringify(req.body, null, 2)); + res.status(200).end(); +}); -const html = ` - - - - Hello from Render! - - - - - -
- Hello from Render! -
- - -` +// Start the server +app.listen(port, () => { + console.log(`\nListening on port ${port}\n`); +});