UNPKG

@azure-rest/iot-device-update

Version:

Device Update for IoT Hub is an Azure service that enables customers to publish update for their IoT devices to the cloud, and then deploy that update to their devices (approve updates to groups of devices managed and provisioned in IoT Hub). It leverages

43 lines 2.35 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { __rest } from "tslib"; import { getClient } from "@azure-rest/core-client"; import { logger } from "./logger.js"; /** * Initialize a new instance of `DeviceUpdateClient` * @param endpoint - The Device Update for IoT Hub account endpoint (hostname only, no protocol). * @param credentials - uniquely identify client credential * @param options - the parameter for all optional parameters */ export default function createClient(endpoint, credentials, _a = {}) { var _b, _c, _d, _e, _f, _g; var { apiVersion = "2022-10-01" } = _a, options = __rest(_a, ["apiVersion"]); const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `https://${endpoint}`; const userAgentInfo = `azsdk-js-iot-device-update-rest/1.1.0`; 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.info, }, credentials: { scopes: (_g = (_f = options.credentials) === null || _f === void 0 ? void 0 : _f.scopes) !== null && _g !== void 0 ? _g : ["https://api.adu.microsoft.com/.default"], } }); const client = getClient(endpointUrl, credentials, options); client.pipeline.removePolicy({ name: "ApiVersionPolicy" }); 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); }, }); return client; } //# sourceMappingURL=deviceUpdate.js.map