Add support to recognise 4004 codes and throw an error

This commit is contained in:
Amish Shah
2016-08-23 15:08:59 +01:00
parent 84a4755f53
commit c8be80abd7
3 changed files with 7 additions and 3 deletions

File diff suppressed because one or more lines are too long

View File

@@ -59,7 +59,7 @@ class WebSocketManager {
*/
this.ws = new WebSocket(gateway);
this.ws.onopen = () => this.eventOpen();
this.ws.onclose = () => this.eventClose();
this.ws.onclose = (d) => this.eventClose(d);
this.ws.onmessage = (e) => this.eventMessage(e);
this.ws.onerror = (e) => this.eventError(e);
}
@@ -126,7 +126,10 @@ class WebSocketManager {
* Run whenever the connection to the gateway is closed, it will try to reconnect the client.
* @returns {null}
*/
eventClose() {
eventClose(event) {
if (event.code === 4004) {
throw Constants.Errors.BAD_LOGIN;
}
if (!this.reconnecting) {
this.tryReconnect();
}

View File

@@ -66,6 +66,7 @@ exports.Errors = {
TOOK_TOO_LONG: new Error('something took too long to do'),
NOT_A_PERMISSION: new Error('that is not a valid permission number'),
INVALID_RATE_LIMIT_METHOD: new Error('unknown rate limiting method'),
BAD_LOGIN: new Error('incorrect login details were provided'),
};
const API = 'https://discordapp.com/api';