node.js - Error with messenger webhook setup -


i using same verify token it's giving me error https://infinite-dusk-17985.herokuapp.com/webhook/ , neither it's responding when m using on messenger.

'use strict';  const express = require('express') const bodyparser = require('body-parser') const request = require('request') const app = express()  app.set('port', (process.env.port || 5000))  // parse application/x-www-form-urlencoded app.use(bodyparser.urlencoded({extended: false}))  // parse application/json app.use(bodyparser.json())  // index app.get('/', function (req, res) {     res.send('hello world secret bot') })  // facebook verification app.get('/webhook/', function (req, res) {     if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') {         res.send(req.query['hub.challenge'])         res.send('sucess, challenge loop crossed')     }     res.send('error, wrong token') })  // post data app.post('/webhook/', function (req, res) {     let messaging_events = req.body.entry[0].messaging     (let = 0; < messaging_events.length; i++) {         let event = req.body.entry[0].messaging[i]         let sender = event.sender.id         if (event.message && event.message.text) {             let text = event.message.text             if (text === 'generic') {                 sendgenericmessage(sender)                 continue             }             sendtextmessage(sender, "text received, echo: " + text.substring(0, 200))         }         if (event.postback) {             let text = json.stringify(event.postback)             sendtextmessage(sender, "postback received: "+text.substring(0, 200), token)             continue         }     }     res.sendstatus(200) })   const token = "eaacks5k1kvkbaash07gkvgk9lvjcwelqkxkti1zbzdzarnfpynx9zcx9tu35nnwqujzbuzcdzbldszbjapfhvkgmzbdlazgofkbzaaee6hgv3goh8jrd1w42aazbibd7eynjsadepcpigsljeh9khrup49ot5wzbhzbitnqwwdqr96z4wzdzd"  function sendtextmessage(sender, text) {     let messagedata = { text:text }      request({         url: 'https://graph.facebook.com/v2.6/me/messages',         qs: {access_token:token},         method: 'post',         json: {             recipient: {id:sender},             message: messagedata,         }     }, function(error, response, body) {         if (error) {             console.log('error sending messages: ', error)         } else if (response.body.error) {             console.log('error: ', response.body.error)         }     }) }  function sendgenericmessage(sender) {     let messagedata = {         "attachment": {             "type": "template",             "payload": {                 "template_type": "generic",                 "elements": [{                     "title": "first card",                     "subtitle": "element #1 of hscroll",                     "image_url": "http://messengerdemo.parseapp.com/img/rift.png",                     "buttons": [{                         "type": "web_url",                         "url": "https://www.messenger.com",                         "title": "web url"                     }, {                         "type": "postback",                         "title": "postback",                         "payload": "payload first element in generic bubble",                     }],                 }, {                     "title": "second card",                     "subtitle": "element #2 of hscroll",                     "image_url": "http://messengerdemo.parseapp.com/img/gearvr.png",                     "buttons": [{                         "type": "postback",                         "title": "postback",                         "payload": "payload second element in generic bubble",                     }],                 }]             }         }     }     request({         url: 'https://graph.facebook.com/v2.6/me/messages',         qs: {access_token:token},         method: 'post',         json: {             recipient: {id:sender},             message: messagedata,         }     }, function(error, response, body) {         if (error) {             console.log('error sending messages: ', error)         } else if (response.body.error) {             console.log('error: ', response.body.error)         }     }) }  // spin spin sugar app.listen(app.get('port'), function() {     console.log('running on port', app.get('port')) }) 

any highly appreciated.

since didn't share error stack trace, not sure reason. but, there issue code.

for following code snippet,

// facebook verification app.get('/webhook/', function (req, res) {    if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') {       res.send(req.query['hub.challenge'])       res.send('sucess, challenge loop crossed')    }    res.send('error, wrong token') }) 

you getting error: can't set headers after sent.

so, update code following.

// facebook verification app.get('/webhook/', function (req, res) {    if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') {       res.send(req.query['hub.challenge'])       console.log('sucess, challenge loop crossed')    } else{       res.send('error, wrong token')    } })