Don't crash if HTTP error
This commit is contained in:
parent
be0b109736
commit
4d00868681
63
main.js
63
main.js
@ -381,44 +381,45 @@ function sendMMS(number, from, mediauri, mimetype, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleHTTPRequest(request, response) {
|
function handleHTTPRequest(request, response) {
|
||||||
if (request.url == "/webhook") {
|
try {
|
||||||
try {
|
if (request.url == "/webhook") {
|
||||||
logger.debug("Got webhook: " + request.body);
|
try {
|
||||||
var msg = JSON.parse(request.body);
|
logger.debug("Got webhook: " + request.body);
|
||||||
|
var msg = JSON.parse(request.body);
|
||||||
|
|
||||||
if (msg.type == "mo") {
|
if (msg.type == "mo") {
|
||||||
if (settings.smsonlyto.length > 0 && settings.smsonlyto.indexOf(msg.to) != -1) {
|
if (settings.smsonlyto.length > 0 && settings.smsonlyto.indexOf(msg.to) != -1) {
|
||||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ": " + msg.body);
|
logger.info("Received SMS from " + msg.from + " for " + msg.to + ": " + msg.body);
|
||||||
createOrJoinSMSRoom(msg.from, msg.to, function (roomid) {
|
createOrJoinSMSRoom(msg.from, msg.to, function (roomid) {
|
||||||
sendMatrix(roomid, msg.body, msg.media);
|
sendMatrix(roomid, msg.body, msg.media);
|
||||||
});
|
});
|
||||||
response.status(204);
|
response.sendStatus(204);
|
||||||
response.end();
|
response.end();
|
||||||
|
} else {
|
||||||
|
logger.info("Received SMS from " + msg.from + " for " + msg.to + ", ignoring based on smsonlyto list.");
|
||||||
|
response.sendStatus(403);
|
||||||
|
response.end();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ", ignoring based on smsonlyto list.");
|
response.sendStatus(403);
|
||||||
response.status(403);
|
|
||||||
response.body("403 forbidden (this endpoint doesn't deliver SMS destined for that number)");
|
|
||||||
response.end();
|
response.end();
|
||||||
}
|
}
|
||||||
} else {
|
} catch (ex) {
|
||||||
response.status(403);
|
logger.error("Decoding webhook body: " + ex);
|
||||||
response.body("403 forbidden (webhook type not handled by this endpoint)");
|
response.sendStatus(500);
|
||||||
response.end();
|
response.end();
|
||||||
}
|
}
|
||||||
} catch (ex) {
|
} else {
|
||||||
logger.error("Decoding webhook body: " + ex);
|
try {
|
||||||
response.status(500);
|
response.sendStatus(404);
|
||||||
response.body("500 internal server error");
|
response.body("404 not found");
|
||||||
response.end();
|
response.end();
|
||||||
}
|
} catch (err) {
|
||||||
} else {
|
logger.error(err);
|
||||||
try {
|
}
|
||||||
response.status(404);
|
|
||||||
response.body("404 not found");
|
|
||||||
response.end();
|
|
||||||
} catch (err) {
|
|
||||||
logger.error(err);
|
|
||||||
}
|
}
|
||||||
|
} catch (exx) {
|
||||||
|
logger.error(exx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user