Я использую модуль cors в приложении Node для выполнения некоторых проверок CORS. Это код:
var corsOptions = {
credentials: true,
origin: function (origin, callback) {
if (config.get('CORS').whitelist.indexOf(origin) !== -1) {
logger.debug("ORIGIN ALLOWED: " + origin);
callback(null, true);
} else {
logger.debug("ORIGIN NOT ALLOWED BY CORS: " + origin);
callback(new Error('Not allowed by CORS'),false);
}
}
};
app.use(cors(corsOptions));
Он работает, как и ожидалось, но когда есть запрещенный запрос, ошибка возвращается как полная веб-страница, поэтому ее трудно разобрать с внешнего интерфейса. Это пример возвращаемой ошибки:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Not allowed by CORS</h1>
<h2></h2>
<div>Error: Not allowed by CORS
at origin (/home/user/expapp/app.js:105:13)
...etc
</body>
</html>
Я мог бы разобрать ее в приложении внешнего интерфейса, но я хотел бы знать, есть ли способ отправить более простую ошибку, например, объект с кодоми сообщение.
Спасибо!