UNPKG

1.46 kBJavaScriptView Raw
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License. See License.txt in the project root for license information.
3import { __extends } from "tslib";
4import * as utils from "../util/utils";
5import { BaseRequestPolicy, } from "./requestPolicy";
6export function generateClientRequestIdPolicy(requestIdHeaderName) {
7 if (requestIdHeaderName === void 0) { requestIdHeaderName = "x-ms-client-request-id"; }
8 return {
9 create: function (nextPolicy, options) {
10 return new GenerateClientRequestIdPolicy(nextPolicy, options, requestIdHeaderName);
11 },
12 };
13}
14var GenerateClientRequestIdPolicy = /** @class */ (function (_super) {
15 __extends(GenerateClientRequestIdPolicy, _super);
16 function GenerateClientRequestIdPolicy(nextPolicy, options, _requestIdHeaderName) {
17 var _this = _super.call(this, nextPolicy, options) || this;
18 _this._requestIdHeaderName = _requestIdHeaderName;
19 return _this;
20 }
21 GenerateClientRequestIdPolicy.prototype.sendRequest = function (request) {
22 if (!request.headers.contains(this._requestIdHeaderName)) {
23 request.headers.set(this._requestIdHeaderName, utils.generateUuid());
24 }
25 return this._nextPolicy.sendRequest(request);
26 };
27 return GenerateClientRequestIdPolicy;
28}(BaseRequestPolicy));
29export { GenerateClientRequestIdPolicy };
30//# sourceMappingURL=generateClientRequestIdPolicy.js.map
\No newline at end of file