UNPKG

typed-rest-client

Version:

Node Rest and Http Clients for use with TypeScript

33 lines (32 loc) 1.35 kB
"use strict"; // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.BasicCredentialHandler = void 0; class BasicCredentialHandler { constructor(username, password, allowCrossOriginAuthentication) { this.username = username; this.password = password; this.allowCrossOriginAuthentication = allowCrossOriginAuthentication; } // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options) { if (!this.origin) { this.origin = options.host; } // If this is a redirection, don't set the Authorization header if (this.origin === options.host || this.allowCrossOriginAuthentication) { options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; } options.headers['X-TFS-FedAuthRedirect'] = 'Suppress'; } // This handler cannot handle 401 canHandleAuthentication(response) { return false; } handleAuthentication(httpClient, requestInfo, objs) { return null; } } exports.BasicCredentialHandler = BasicCredentialHandler;