16 lines
604 B
Plaintext
16 lines
604 B
Plaintext
/**
|
|
* Represents an error caused by an api call i.e. it has attributes for a HTTP status code
|
|
* and the returned body object.
|
|
*
|
|
* Example
|
|
* API returns a ErrorMessageObject whenever HTTP status code is not in [200, 299]
|
|
* => ApiException(404, someErrorMessageObject)
|
|
*
|
|
*/
|
|
export class ApiException<T> extends Error {
|
|
public constructor(public code: number, message: string, public body: T, public headers: { [key: string]: string; }) {
|
|
super("HTTP-Code: " + code + "\nMessage: " + message + "\nBody: " + JSON.stringify(body) + "\nHeaders: " +
|
|
JSON.stringify(headers))
|
|
}
|
|
}
|