@azure-rest/core-client
Version:
Core library for interfacing with Azure Rest Clients
27 lines • 1.15 kB
JavaScript
;
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.apiVersionPolicyName = void 0;
exports.apiVersionPolicy = apiVersionPolicy;
exports.apiVersionPolicyName = "ApiVersionPolicy";
/**
* Creates a policy that sets the apiVersion as a query parameter on every request
* @param options - Client options
* @returns Pipeline policy that sets the apiVersion as a query parameter on every request
*/
function apiVersionPolicy(options) {
return {
name: exports.apiVersionPolicyName,
sendRequest: (req, next) => {
// Use the apiVesion defined in request url directly
// Append one if there is no apiVesion and we have one at client options
const url = new URL(req.url);
if (!url.searchParams.get("api-version") && options.apiVersion) {
req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
}
return next(req);
},
};
}
//# sourceMappingURL=apiVersionPolicy.js.map