UNPKG

@azure-rest/ai-inference

Version:
64 lines 3.28 kB
"use strict"; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createClient; const tslib_1 = require("tslib"); const core_client_1 = require("@azure-rest/core-client"); const logger_js_1 = require("./logger.js"); const core_auth_1 = require("@azure/core-auth"); const tracingPolicy_js_1 = require("./tracingPolicy.js"); /** * Initialize a new instance of `ModelClient` * @param endpointParam - The parameter endpointParam * @param credentials - uniquely identify client credential * @param options - the parameter for all optional parameters */ function createClient(endpointParam, credentials, _a = {}) { var _b, _c, _d, _e, _f, _g, _h, _j; var { apiVersion = "2024-05-01-preview" } = _a, options = tslib_1.__rest(_a, ["apiVersion"]); const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}`; const userAgentInfo = `azsdk-js-ai-inference-rest/1.0.0-beta.6`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}` : `${userAgentInfo}`; options = Object.assign(Object.assign({}, options), { userAgentOptions: { userAgentPrefix, }, loggingOptions: { logger: (_e = (_d = options.loggingOptions) === null || _d === void 0 ? void 0 : _d.logger) !== null && _e !== void 0 ? _e : logger_js_1.logger.info, }, credentials: { scopes: (_g = (_f = options.credentials) === null || _f === void 0 ? void 0 : _f.scopes) !== null && _g !== void 0 ? _g : ["https://ml.azure.com/.default"], apiKeyHeaderName: (_j = (_h = options.credentials) === null || _h === void 0 ? void 0 : _h.apiKeyHeaderName) !== null && _j !== void 0 ? _j : "api-key", } }); const client = (0, core_client_1.getClient)(endpointUrl, credentials, options); client.pipeline.removePolicy({ name: "ApiVersionPolicy" }); client.pipeline.addPolicy({ name: "InferenceTracingPolicy", sendRequest: (req, next) => { return (0, tracingPolicy_js_1.tracingPolicy)().sendRequest(req, next); }, }); client.pipeline.addPolicy({ name: "ClientApiVersionPolicy", sendRequest: (req, next) => { // Use the apiVersion defined in request url directly // Append one if there is no apiVersion and we have one at client options const url = new URL(req.url); if (!url.searchParams.get("api-version") && apiVersion) { req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`; } return next(req); }, }); if ((0, core_auth_1.isKeyCredential)(credentials)) { client.pipeline.addPolicy({ name: "customKeyCredentialPolicy", async sendRequest(request, next) { request.headers.set("Authorization", "Bearer " + credentials.key); return next(request); }, }); } return client; } //# sourceMappingURL=modelClient.js.map