askui
Version:
Reliable, automated end-to-end-testing that depends on what is shown on your screen instead of the technology you are running on
19 lines (18 loc) • 953 B
JavaScript
import { ServerHttpClientError } from './server-http-client-error';
import { AuthenticationHttpClientError } from './authentication-http-client-error';
import { ClientHttpClientError } from './client-http-client-error';
import { UnkownHttpClientError } from './unkown-http-client-error';
export { GeneralHttpClientError } from './general-http-client-error';
export function httpClientErrorHandler(responseCode, errorMessage) {
const diplayedMessage = `HTTP Status Code: ${responseCode}. Message:\n${errorMessage}`;
if (responseCode >= 400 && responseCode < 500) {
if (responseCode === 401 || responseCode === 403) {
return new AuthenticationHttpClientError(diplayedMessage);
}
return new ClientHttpClientError(diplayedMessage);
}
if (responseCode >= 500 && responseCode < 600) {
return new ServerHttpClientError(diplayedMessage);
}
return new UnkownHttpClientError(diplayedMessage);
}