UNPKG

@typespec/ts-http-runtime

Version:

Isomorphic client library for making HTTP requests in node.js and browser.

45 lines 2.56 kB
"use strict"; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.createDefaultPipeline = createDefaultPipeline; exports.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient; const defaultHttpClient_js_1 = require("../defaultHttpClient.js"); const createPipelineFromOptions_js_1 = require("../createPipelineFromOptions.js"); const apiVersionPolicy_js_1 = require("./apiVersionPolicy.js"); const credentials_js_1 = require("../auth/credentials.js"); const apiKeyAuthenticationPolicy_js_1 = require("../policies/auth/apiKeyAuthenticationPolicy.js"); const basicAuthenticationPolicy_js_1 = require("../policies/auth/basicAuthenticationPolicy.js"); const bearerAuthenticationPolicy_js_1 = require("../policies/auth/bearerAuthenticationPolicy.js"); const oauth2AuthenticationPolicy_js_1 = require("../policies/auth/oauth2AuthenticationPolicy.js"); let cachedHttpClient; /** * Creates a default rest pipeline to re-use accross Rest Level Clients */ function createDefaultPipeline(options = {}) { const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options); pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options)); const { credential, authSchemes, allowInsecureConnection } = options; if (credential) { if ((0, credentials_js_1.isApiKeyCredential)(credential)) { pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection })); } else if ((0, credentials_js_1.isBasicCredential)(credential)) { pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection })); } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) { pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection })); } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) { pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection })); } } return pipeline; } function getCachedDefaultHttpsClient() { if (!cachedHttpClient) { cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)(); } return cachedHttpClient; } //# sourceMappingURL=clientHelpers.js.map