Fix error handling to display them correctly without crashing

This commit is contained in:
2020-06-17 18:48:33 +02:00
parent e1c7363d7b
commit eb2be6b94e
7 changed files with 60 additions and 28 deletions

View File

@@ -31,7 +31,7 @@ export class SinusBotService {
.then(token => this.bearer = token)
.catch(error => {
logger.error(`Oh oh! Something went wrong while fetching Bearer token.`, error);
throw this.createHttpException(HttpStatus.UNAUTHORIZED, error.message);
throw this.createHttpException(HttpStatus.UNAUTHORIZED, `Fetching Bearer token for Sinusbot failed.`);
});
logger.debug(
`Seems like I have my Bearer token!
@@ -46,7 +46,7 @@ export class SinusBotService {
.then(data => this.consumeTunakillResponse(data))
.catch(error => {
logger.error(`I couldn't fetch user data.`, error);
throw this.createHttpException(error.statusCode, error.message);
throw this.createHttpException(HttpStatus.INTERNAL_SERVER_ERROR, error.message);
});
}
@@ -90,12 +90,12 @@ export class SinusBotService {
private consumeTunakillResponse(data: any): TableEntry[] {
if (!(data !== null || data[0] !== null || data[0].data !== null)) {
throw Error('Response from SinusBot does not have any data to parse.')
throw Error('Response from SinusBot does not have any data to parse.');
}
const response = data[0].data;
if (!(response.length > 0)) {
throw Error('User list is empty.')
throw Error('Response from SinusBot does not have any data to parse.');
}
return response
@@ -134,7 +134,9 @@ export class SinusBotService {
private checkStatus = response => {
if (!response.ok) {
throw Error(response.statusText);
let err = new RequestError(response.errorText);
err.response = response;
throw err;
}
return response;
}