mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
feat: handle HTTP 429 as a response code
This commit is contained in:
@@ -461,6 +461,11 @@ helpers.generateError = (statusCode, message) => {
|
|||||||
payload.status.message = message || 'HTTPS is required for requests to the write api, please re-send your request via HTTPS';
|
payload.status.message = message || 'HTTPS is required for requests to the write api, please re-send your request via HTTPS';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 429:
|
||||||
|
payload.status.code = 'too-many-requests';
|
||||||
|
payload.status.message = message || 'You have made too many requests, please try again later';
|
||||||
|
break;
|
||||||
|
|
||||||
case 500:
|
case 500:
|
||||||
payload.status.code = 'internal-server-error';
|
payload.status.code = 'internal-server-error';
|
||||||
payload.status.message = message || payload.status.message;
|
payload.status.message = message || payload.status.message;
|
||||||
|
|||||||
@@ -27,7 +27,16 @@ Utilities.login = (req, res) => {
|
|||||||
|
|
||||||
const userslug = slugify(username);
|
const userslug = slugify(username);
|
||||||
const uid = await user.getUidByUserslug(userslug);
|
const uid = await user.getUidByUserslug(userslug);
|
||||||
const ok = await user.isPasswordCorrect(uid, password, req.ip);
|
let ok = false;
|
||||||
|
try {
|
||||||
|
ok = await user.isPasswordCorrect(uid, password, req.ip);
|
||||||
|
} catch (err) {
|
||||||
|
if (err.message === '[[error:account-locked]]') {
|
||||||
|
helpers.formatApiResponse(429, res, err);
|
||||||
|
} else {
|
||||||
|
helpers.formatApiResponse(500, res, err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ok) {
|
if (ok) {
|
||||||
const userData = await user.getUsers([uid], uid);
|
const userData = await user.getUsers([uid], uid);
|
||||||
|
|||||||
Reference in New Issue
Block a user