Проблема в том, что вы вызываете return
в функции обратного вызова. Это заставляет эту функцию возвращаться, но внешняя функция продолжит выполнение. Возможно, ваша проверка other_condition должна быть внутри обратного вызова, и тогда вам не понадобятся операторы return.
request(longurl, {method: 'HEAD'}, function(error,response,body){
if(error){
res.status(409).send({
message: 'URL is not valid'
})
} else if(other_condition){
res.status(409).send({})
}
})