UNPKG

@azure/msal-common

Version:
47 lines (41 loc) 1.44 kB
/* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { AuthError } from "./AuthError.js"; /** * Represents network related errors */ export class NetworkError extends AuthError { error: AuthError; httpStatus?: number; responseHeaders?: Record<string, string>; constructor( error: AuthError, httpStatus?: number, responseHeaders?: Record<string, string> ) { super(error.errorCode, error.errorMessage, error.subError); Object.setPrototypeOf(this, NetworkError.prototype); this.name = "NetworkError"; this.error = error; this.httpStatus = httpStatus; this.responseHeaders = responseHeaders; } } /** * Creates NetworkError object for a failed network request * @param error - Error to be thrown back to the caller * @param httpStatus - Status code of the network request * @param responseHeaders - Response headers of the network request, when available * @returns NetworkError object */ export function createNetworkError( error: AuthError, httpStatus?: number, responseHeaders?: Record<string, string>, additionalError?: Error ): NetworkError { error.errorMessage = `${error.errorMessage}, additionalErrorInfo: error.name:${additionalError?.name}, error.message:${additionalError?.message}`; return new NetworkError(error, httpStatus, responseHeaders); }