UNPKG

botframework-connector

Version:

Bot Connector is autorest generated connector client.

60 lines 2.46 kB
"use strict"; /** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthenticationError = void 0; const botframework_schema_1 = require("botframework-schema"); /** * General `AuthenticationError` class to represent an Authentication error with a Code Status. */ class AuthenticationError extends Error { /** * Initializes a new instance of the [AuthenticationError](xref:botframework-connector.AuthenticationError) class. * * @param message The Error message. * @param statusCode The `StatusCode` number to use. */ constructor(message, statusCode) { super(message); this.statusCode = statusCode; } /** * Corroborates that the error is of type [IStatusCodeError](xref:botframework-schema.IStatusCodeError). * * @param err The error to validate. * @returns If `err` is an [IStatusCodeError](xref:botframework-schema.IStatusCodeError), the result is true; otherwise false. */ static isStatusCodeError(err) { return !!(err && typeof err.statusCode === 'number'); } /** * Used to determine a status code from the error message for non-`IStatusCodeError`'s. * * @param err The error thrown, used to determine an appropriate status code. * @returns The error message to be sent as a response. */ static determineStatusCodeAndBuildMessage(err) { const errMessage = err && err.message ? err.message : 'Internal Server Error'; const code = AuthenticationError.determineStatusCode(errMessage); const connectionHeader = "Connection: 'close'\r\n"; return `HTTP/1.1 ${code} ${botframework_schema_1.StatusCodes[code]}\r\n${errMessage}\r\n${connectionHeader}\r\n`; } /** * @private */ static determineStatusCode(message) { if (typeof message === 'string') { if (message.toLowerCase().startsWith('unauthorized')) { return botframework_schema_1.StatusCodes.UNAUTHORIZED; } else if (message.toLowerCase().startsWith("'authheader'")) { return botframework_schema_1.StatusCodes.BAD_REQUEST; } } return botframework_schema_1.StatusCodes.INTERNAL_SERVER_ERROR; } } exports.AuthenticationError = AuthenticationError; //# sourceMappingURL=authenticationError.js.map