From e4c12390b53bdc5ab2da75ad614f3c796ef78007 Mon Sep 17 00:00:00 2001 From: MaxMaltas <144994106+MaxMaltas@users.noreply.github.com> Date: Tue, 31 Mar 2026 08:14:31 +0200 Subject: [PATCH 1/2] Refactor app.js to improve structure and add routes --- 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`); +}); From 7e3113321203be5ef623d37aef5265f98ab548fe Mon Sep 17 00:00:00 2001 From: MaxMaltas <144994106+MaxMaltas@users.noreply.github.com> Date: Fri, 10 Apr 2026 02:32:23 +0200 Subject: [PATCH 2/2] Actualizar app.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- app.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index 66de816cab..a714657e57 100644 --- a/app.js +++ b/app.js @@ -32,6 +32,11 @@ app.post('/', (req, res) => { }); // Start the server -app.listen(port, () => { +const server = app.listen(port, () => { console.log(`\nListening on port ${port}\n`); }); + +// Configure server timeouts to avoid proxy idle timeouts +// Ensure headersTimeout is greater than keepAliveTimeout +server.keepAliveTimeout = 65000; // 65 seconds +server.headersTimeout = 66000; // 66 seconds