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) {
|
||||
if (request.url == "/webhook") {
|
||||
try {
|
||||
logger.debug("Got webhook: " + request.body);
|
||||
var msg = JSON.parse(request.body);
|
||||
try {
|
||||
if (request.url == "/webhook") {
|
||||
try {
|
||||
logger.debug("Got webhook: " + request.body);
|
||||
var msg = JSON.parse(request.body);
|
||||
|
||||
if (msg.type == "mo") {
|
||||
if (settings.smsonlyto.length > 0 && settings.smsonlyto.indexOf(msg.to) != -1) {
|
||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ": " + msg.body);
|
||||
createOrJoinSMSRoom(msg.from, msg.to, function (roomid) {
|
||||
sendMatrix(roomid, msg.body, msg.media);
|
||||
});
|
||||
response.status(204);
|
||||
response.end();
|
||||
if (msg.type == "mo") {
|
||||
if (settings.smsonlyto.length > 0 && settings.smsonlyto.indexOf(msg.to) != -1) {
|
||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ": " + msg.body);
|
||||
createOrJoinSMSRoom(msg.from, msg.to, function (roomid) {
|
||||
sendMatrix(roomid, msg.body, msg.media);
|
||||
});
|
||||
response.sendStatus(204);
|
||||
response.end();
|
||||
} else {
|
||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ", ignoring based on smsonlyto list.");
|
||||
response.sendStatus(403);
|
||||
response.end();
|
||||
}
|
||||
} else {
|
||||
logger.info("Received SMS from " + msg.from + " for " + msg.to + ", ignoring based on smsonlyto list.");
|
||||
response.status(403);
|
||||
response.body("403 forbidden (this endpoint doesn't deliver SMS destined for that number)");
|
||||
response.sendStatus(403);
|
||||
response.end();
|
||||
}
|
||||
} else {
|
||||
response.status(403);
|
||||
response.body("403 forbidden (webhook type not handled by this endpoint)");
|
||||
} catch (ex) {
|
||||
logger.error("Decoding webhook body: " + ex);
|
||||
response.sendStatus(500);
|
||||
response.end();
|
||||
}
|
||||
} catch (ex) {
|
||||
logger.error("Decoding webhook body: " + ex);
|
||||
response.status(500);
|
||||
response.body("500 internal server error");
|
||||
response.end();
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
response.status(404);
|
||||
response.body("404 not found");
|
||||
response.end();
|
||||
} catch (err) {
|
||||
logger.error(err);
|
||||
} else {
|
||||
try {
|
||||
response.sendStatus(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