generateClientRequestIdPolicy.js 1.4 KB

123456789101112131415161718192021222324252627282930
  1. // Copyright (c) Microsoft Corporation. All rights reserved.
  2. // Licensed under the MIT License. See License.txt in the project root for license information.
  3. import * as tslib_1 from "tslib";
  4. import * as utils from "../util/utils";
  5. import { BaseRequestPolicy } from "./requestPolicy";
  6. export 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. }
  14. var GenerateClientRequestIdPolicy = /** @class */ (function (_super) {
  15. tslib_1.__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));
  29. export { GenerateClientRequestIdPolicy };
  30. //# sourceMappingURL=generateClientRequestIdPolicy.js.map