@vcd/sdk 15.0.7 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/{esm2020 → esm2022}/client/client/api.result.service.mjs +4 -4
  2. package/esm2022/client/client/logging.interceptor.mjs +44 -0
  3. package/esm2022/client/client/request.headers.interceptor.mjs +100 -0
  4. package/esm2022/client/client/response.normalization.interceptor.mjs +59 -0
  5. package/esm2022/client/client/vcd.api.client.mjs +603 -0
  6. package/{esm2020 → esm2022}/client/client/vcd.http.client.mjs +6 -6
  7. package/esm2022/client/client/vcd.transfer.client.mjs +166 -0
  8. package/esm2022/client/query/filter.builder.mjs +195 -0
  9. package/esm2022/client/query/query.builder.mjs +79 -0
  10. package/esm2022/common/container-hooks.mjs +85 -0
  11. package/{esm2020 → esm2022}/main.mjs +7 -7
  12. package/{fesm2020 → fesm2022}/vcd-sdk.mjs +54 -54
  13. package/{fesm2020 → fesm2022}/vcd-sdk.mjs.map +1 -1
  14. package/open_source_license_vcd_ui_sdk_17.0.0_ga.txt +393 -0
  15. package/package.json +8 -14
  16. package/VMware-vcd_ui_sdk-15.0.7-ODP.tar.gz +0 -0
  17. package/esm2020/client/client/logging.interceptor.mjs +0 -44
  18. package/esm2020/client/client/request.headers.interceptor.mjs +0 -100
  19. package/esm2020/client/client/response.normalization.interceptor.mjs +0 -59
  20. package/esm2020/client/client/vcd.api.client.mjs +0 -603
  21. package/esm2020/client/client/vcd.transfer.client.mjs +0 -166
  22. package/esm2020/client/query/filter.builder.mjs +0 -195
  23. package/esm2020/client/query/query.builder.mjs +0 -79
  24. package/esm2020/common/container-hooks.mjs +0 -85
  25. package/fesm2015/vcd-sdk.mjs +0 -1505
  26. package/fesm2015/vcd-sdk.mjs.map +0 -1
  27. package/open_source_license_@vcdsdk_15.0.7_GA.txt +0 -22623
  28. /package/{esm2020 → esm2022}/client/client/constants.mjs +0 -0
  29. /package/{esm2020 → esm2022}/client/client/index.mjs +0 -0
  30. /package/{esm2020 → esm2022}/client/client/types.mjs +0 -0
  31. /package/{esm2020 → esm2022}/client/index.mjs +0 -0
  32. /package/{esm2020 → esm2022}/client/openapi.mjs +0 -0
  33. /package/{esm2020 → esm2022}/client/query/index.mjs +0 -0
  34. /package/{esm2020 → esm2022}/common/index.mjs +0 -0
  35. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  36. /package/{esm2020 → esm2022}/core/plugin.module.mjs +0 -0
  37. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  38. /package/{esm2020 → esm2022}/vcd-sdk.mjs +0 -0
@@ -14,10 +14,10 @@ export class ApiResultService {
14
14
  clear() {
15
15
  this._results = [];
16
16
  }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ApiResultService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ApiResultService }); }
17
19
  }
18
- ApiResultService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ApiResultService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- ApiResultService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ApiResultService });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ApiResultService, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ApiResultService, decorators: [{
21
21
  type: Injectable
22
22
  }] });
23
23
  export class ApiResult {
@@ -40,4 +40,4 @@ export class ApiResult {
40
40
  this._finished = finished;
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnJlc3VsdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY2xpZW50L2NsaWVudC9hcGkucmVzdWx0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsK0JBQStCO0FBRS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFWSxhQUFRLEdBQWdCLEVBQUUsQ0FBQztLQVl0QztJQVhHLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OzZHQVpRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBZ0JYLE1BQU0sT0FBTyxTQUFTO0lBRWxCLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksT0FBZSxFQUFFLFNBQWtCLEVBQUUsT0FBYSxFQUFFLFFBQWM7UUFDMUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTp2YXJpYWJsZS1uYW1lXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBpUmVzdWx0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBfcmVzdWx0czogQXBpUmVzdWx0W10gPSBbXTtcbiAgICBwdWJsaWMgZ2V0IHJlc3VsdHMoKTogQXBpUmVzdWx0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzdWx0cztcbiAgICB9XG5cbiAgICBhZGQocmVzdWx0OiBBcGlSZXN1bHQpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0cyA9IFtyZXN1bHQsIC4uLnRoaXMuX3Jlc3VsdHMuc2xpY2UoMCwgOTkpXTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0cyA9IFtdO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaVJlc3VsdCB7XG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogc3RyaW5nO1xuICAgIHB1YmxpYyBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWNjZWVkZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGdldCBzdWNjZWVkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWNjZWVkZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3RhcnRlZDogRGF0ZTtcbiAgICBwdWJsaWMgZ2V0IHN0YXJ0ZWQoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGFydGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbmlzaGVkOiBEYXRlO1xuICAgIHB1YmxpYyBnZXQgZmluaXNoZWQoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maW5pc2hlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHN1Y2NlZWRlZDogYm9vbGVhbiwgc3RhcnRlZDogRGF0ZSwgZmluaXNoZWQ6IERhdGUpIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMuX3N1Y2NlZWRlZCA9IHN1Y2NlZWRlZDtcbiAgICAgICAgdGhpcy5fc3RhcnRlZCA9IHN0YXJ0ZWQ7XG4gICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gZmluaXNoZWQ7XG4gICAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnJlc3VsdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY2xpZW50L2NsaWVudC9hcGkucmVzdWx0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsK0JBQStCO0FBRS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFWSxhQUFRLEdBQWdCLEVBQUUsQ0FBQztLQVl0QztJQVhHLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQWlCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBWlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBZ0JYLE1BQU0sT0FBTyxTQUFTO0lBRWxCLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksT0FBZSxFQUFFLFNBQWtCLEVBQUUsT0FBYSxFQUFFLFFBQWM7UUFDMUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTp2YXJpYWJsZS1uYW1lXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBpUmVzdWx0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBfcmVzdWx0czogQXBpUmVzdWx0W10gPSBbXTtcbiAgICBwdWJsaWMgZ2V0IHJlc3VsdHMoKTogQXBpUmVzdWx0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzdWx0cztcbiAgICB9XG5cbiAgICBhZGQocmVzdWx0OiBBcGlSZXN1bHQpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0cyA9IFtyZXN1bHQsIC4uLnRoaXMuX3Jlc3VsdHMuc2xpY2UoMCwgOTkpXTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0cyA9IFtdO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaVJlc3VsdCB7XG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogc3RyaW5nO1xuICAgIHB1YmxpYyBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWNjZWVkZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGdldCBzdWNjZWVkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWNjZWVkZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3RhcnRlZDogRGF0ZTtcbiAgICBwdWJsaWMgZ2V0IHN0YXJ0ZWQoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGFydGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbmlzaGVkOiBEYXRlO1xuICAgIHB1YmxpYyBnZXQgZmluaXNoZWQoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maW5pc2hlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHN1Y2NlZWRlZDogYm9vbGVhbiwgc3RhcnRlZDogRGF0ZSwgZmluaXNoZWQ6IERhdGUpIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMuX3N1Y2NlZWRlZCA9IHN1Y2NlZWRlZDtcbiAgICAgICAgdGhpcy5fc3RhcnRlZCA9IHN0YXJ0ZWQ7XG4gICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gZmluaXNoZWQ7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,44 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { HttpResponse } from '@angular/common/http';
3
+ import { finalize, tap } from 'rxjs/operators';
4
+ import { ApiResult } from './api.result.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./api.result.service";
7
+ // tslint:disable:variable-name
8
+ export class LoggingInterceptor {
9
+ set enabled(enabled) {
10
+ this._enabled = enabled;
11
+ if (this._enabled && this._outputToConsole) {
12
+ console.warn('API logging enabled but no provider found for ApiResultService. Results will be output to the console.');
13
+ }
14
+ }
15
+ constructor(apiResultService) {
16
+ this.apiResultService = apiResultService;
17
+ this._enabled = false;
18
+ this._outputToConsole = !this.apiResultService;
19
+ }
20
+ intercept(req, next) {
21
+ if (!this._enabled) {
22
+ return next.handle(req);
23
+ }
24
+ const started = new Date();
25
+ let succeeded;
26
+ return next.handle(req)
27
+ .pipe(tap(event => succeeded = event instanceof HttpResponse ? true : false, error => succeeded = false), finalize(() => {
28
+ if (this._outputToConsole) {
29
+ console.log(`${req.method} ${req.urlWithParams} completed in ${Date.now() - started.getTime()} ms. Success: ${succeeded}`);
30
+ }
31
+ else {
32
+ this.apiResultService.add(new ApiResult(`${req.method} ${req.urlWithParams}`, succeeded, started, new Date()));
33
+ }
34
+ }));
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoggingInterceptor, deps: [{ token: i1.ApiResultService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoggingInterceptor }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoggingInterceptor, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: () => [{ type: i1.ApiResultService, decorators: [{
42
+ type: Optional
43
+ }] }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjZC9zZGsvc3JjL2NsaWVudC9jbGllbnQvbG9nZ2luZy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBRVEsWUFBWSxFQUMxQixNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRW5FLCtCQUErQjtBQUUvQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlHQUF5RyxDQUFDLENBQUM7UUFDMUgsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFnQyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVIxRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxTQUFrQixDQUFDO1FBRXZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDcEIsSUFBSSxDQUNILEdBQUcsQ0FDRCxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFDakUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUMzQixFQUNELFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsYUFBYSxpQkFBaUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDOUgsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs4R0FwQ1Usa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQVdJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBIYW5kbGVyLFxuICBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwaVJlc3VsdFNlcnZpY2UsIEFwaVJlc3VsdCB9IGZyb20gJy4vYXBpLnJlc3VsdC5zZXJ2aWNlJztcblxuLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ2dpbmdJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgX291dHB1dFRvQ29uc29sZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IGZhbHNlO1xuICBzZXQgZW5hYmxlZChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgaWYgKHRoaXMuX2VuYWJsZWQgJiYgdGhpcy5fb3V0cHV0VG9Db25zb2xlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0FQSSBsb2dnaW5nIGVuYWJsZWQgYnV0IG5vIHByb3ZpZGVyIGZvdW5kIGZvciBBcGlSZXN1bHRTZXJ2aWNlLiAgUmVzdWx0cyB3aWxsIGJlIG91dHB1dCB0byB0aGUgY29uc29sZS4nKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGFwaVJlc3VsdFNlcnZpY2U6IEFwaVJlc3VsdFNlcnZpY2UpIHtcbiAgICB0aGlzLl9vdXRwdXRUb0NvbnNvbGUgPSAhdGhpcy5hcGlSZXN1bHRTZXJ2aWNlO1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgaWYgKCF0aGlzLl9lbmFibGVkKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydGVkID0gbmV3IERhdGUoKTtcbiAgICBsZXQgc3VjY2VlZGVkOiBib29sZWFuO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoXG4gICAgICAgICAgZXZlbnQgPT4gc3VjY2VlZGVkID0gZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgZXJyb3IgPT4gc3VjY2VlZGVkID0gZmFsc2VcbiAgICAgICAgKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9vdXRwdXRUb0NvbnNvbGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3JlcS5tZXRob2R9ICR7cmVxLnVybFdpdGhQYXJhbXN9IGNvbXBsZXRlZCBpbiAke0RhdGUubm93KCkgLSBzdGFydGVkLmdldFRpbWUoKX0gbXMuICBTdWNjZXNzOiAke3N1Y2NlZWRlZH1gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hcGlSZXN1bHRTZXJ2aWNlLmFkZChuZXcgQXBpUmVzdWx0KGAke3JlcS5tZXRob2R9ICR7cmVxLnVybFdpdGhQYXJhbXN9YCwgc3VjY2VlZGVkLCBzdGFydGVkLCBuZXcgRGF0ZSgpKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,100 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpResponse } from '@angular/common/http';
3
+ import { map } from 'rxjs/operators';
4
+ import { parseHeaderHateoasLinks } from '.';
5
+ import { HTTP_HEADERS } from './constants';
6
+ import * as i0 from "@angular/core";
7
+ // tslint:disable:variable-name
8
+ export class RequestHeadersInterceptor {
9
+ constructor() {
10
+ this._enabled = true;
11
+ this._version = '';
12
+ this._authenticationHeader = HTTP_HEADERS.Authorization;
13
+ }
14
+ set enabled(_enabled) {
15
+ this._enabled = _enabled;
16
+ }
17
+ set actAs(_actAs) {
18
+ this._actAs = _actAs;
19
+ }
20
+ set actAsOrgName(_actAsOrgName) {
21
+ this._actAsOrgName = _actAsOrgName;
22
+ }
23
+ get version() {
24
+ return this._version;
25
+ }
26
+ set version(_version) {
27
+ this._version = _version;
28
+ }
29
+ set authentication(_authentication) {
30
+ this._authentication = _authentication;
31
+ this._authenticationHeader = (this._authentication && this._authentication.length > 32) ?
32
+ HTTP_HEADERS.Authorization : HTTP_HEADERS.x_vcloud_authorization;
33
+ }
34
+ intercept(req, next) {
35
+ let headers = req.headers;
36
+ if (!headers.has('Accept')) {
37
+ headers = this.setAcceptHeader(headers);
38
+ }
39
+ if (!headers.has('Content-Type')) {
40
+ headers = this.setContentTypeHeader(headers, req.url);
41
+ }
42
+ if (this._authentication && !headers.has(HTTP_HEADERS.Authorization)) {
43
+ headers = headers.set(this._authenticationHeader, this._authentication);
44
+ }
45
+ /**
46
+ * Covers the case where the User set the ActAs token himself
47
+ */
48
+ if (!headers.has('X-VMWARE-VCLOUD-TENANT-CONTEXT') && this._actAs) {
49
+ headers = headers.set('X-VMWARE-VCLOUD-TENANT-CONTEXT', this._actAs);
50
+ }
51
+ /**
52
+ * Covers the case where the User set the ActAs token himself
53
+ */
54
+ if (!headers.has('X-VMWARE-VCLOUD-AUTH-CONTEXT') && this._actAsOrgName) {
55
+ headers = headers.set('X-VMWARE-VCLOUD-AUTH-CONTEXT', this._actAsOrgName);
56
+ }
57
+ const customReq = req.clone({
58
+ headers
59
+ });
60
+ return next.handle(customReq).pipe(map((res) => {
61
+ if (res instanceof HttpResponse) {
62
+ if (!res.body || !res.headers) {
63
+ return res;
64
+ }
65
+ if (res.headers.has(HTTP_HEADERS.link)) {
66
+ res.body.link = parseHeaderHateoasLinks(res.headers.get(HTTP_HEADERS.link));
67
+ }
68
+ if (res.headers.has(HTTP_HEADERS.Link)) {
69
+ res.body.link = parseHeaderHateoasLinks(res.headers.get(HTTP_HEADERS.Link));
70
+ }
71
+ if (res.headers.has(HTTP_HEADERS.etag)) {
72
+ res.body.etag = res.headers.get(HTTP_HEADERS.etag);
73
+ }
74
+ }
75
+ return res;
76
+ }));
77
+ }
78
+ setAcceptHeader(headers) {
79
+ const value = headers.get('_multisite');
80
+ headers = headers.delete('_multisite');
81
+ return headers.set('Accept', [
82
+ `application/*+json;version=${this._version}${value ? `;multisite=${value}` : ''}`,
83
+ `application/json;version=${this._version}${value ? `;multisite=${value}` : ''}`
84
+ ]);
85
+ }
86
+ setContentTypeHeader(headers, url) {
87
+ if (url.indexOf('cloudapi') > -1) {
88
+ return headers.set('Content-Type', 'application/json');
89
+ }
90
+ else {
91
+ return headers.set('Content-Type', 'application/*+json');
92
+ }
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RequestHeadersInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RequestHeadersInterceptor }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RequestHeadersInterceptor, decorators: [{
98
+ type: Injectable
99
+ }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5oZWFkZXJzLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY2xpZW50L2NsaWVudC9yZXF1ZXN0LmhlYWRlcnMuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZILE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxHQUFHLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFM0MsK0JBQStCO0FBRS9CLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFWSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBZWhCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFRZCwwQkFBcUIsR0FBVyxZQUFZLENBQUMsYUFBYSxDQUFDO0tBb0Z0RTtJQTFHRyxJQUFJLE9BQU8sQ0FBQyxRQUFpQjtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBR0QsSUFBSSxLQUFLLENBQUMsTUFBYztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxZQUFZLENBQUMsYUFBcUI7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUdELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsUUFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUlELElBQUksY0FB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bXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGFyc2VIZWFkZXJIYXRlb2FzTGlua3MgfSBmcm9tICcuJztcbmltcG9ydCB7IEhUVFBfSEVBREVSUyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgX2VuYWJsZWQgPSB0cnVlO1xuICAgIHNldCBlbmFibGVkKF9lbmFibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2VuYWJsZWQgPSBfZW5hYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hY3RBczogc3RyaW5nO1xuICAgIHNldCBhY3RBcyhfYWN0QXM6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hY3RBcyA9IF9hY3RBcztcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBfYWN0QXNPcmdOYW1lOiBzdHJpbmc7XG4gICAgc2V0IGFjdEFzT3JnTmFtZShfYWN0QXNPcmdOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWN0QXNPcmdOYW1lID0gX2FjdEFzT3JnTmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92ZXJzaW9uID0gJyc7XG4gICAgZ2V0IHZlcnNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnNpb247XG4gICAgfVxuICAgIHNldCB2ZXJzaW9uKF92ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmVyc2lvbiA9IF92ZXJzaW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2F1dGhlbnRpY2F0aW9uSGVhZGVyOiBzdHJpbmcgPSBIVFRQX0hFQURFUlMuQXV0aG9yaXphdGlvbjtcbiAgICBwcml2YXRlIF9hdXRoZW50aWNhdGlvbjogc3RyaW5nO1xuICAgIHNldCBhdXRoZW50aWNhdGlvbihfYXV0aGVudGljYXRpb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGlvbiA9IF9hdXRoZW50aWNhdGlvbjtcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25IZWFkZXIgPSAodGhpcy5fYXV0aGVudGljYXRpb24gJiYgdGhpcy5fYXV0aGVudGljYXRpb24ubGVuZ3RoID4gMzIpID9cbiAgICAgICAgICAgIEhUVFBfSEVBREVSUy5BdXRob3JpemF0aW9uIDogSFRUUF9IRUFERVJTLnhfdmNsb3VkX2F1dGhvcml6YXRpb247XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGxldCBoZWFkZXJzID0gcmVxLmhlYWRlcnM7XG5cbiAgICAgICAgaWYgKCFoZWFkZXJzLmhhcygnQWNjZXB0JykpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSB0aGlzLnNldEFjY2VwdEhlYWRlcihoZWFkZXJzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gdGhpcy5zZXRDb250ZW50VHlwZUhlYWRlcihoZWFkZXJzLCByZXEudXJsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9hdXRoZW50aWNhdGlvbiAmJiAhaGVhZGVycy5oYXMoSFRUUF9IRUFERVJTLkF1dGhvcml6YXRpb24pKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQodGhpcy5fYXV0aGVudGljYXRpb25IZWFkZXIsIHRoaXMuX2F1dGhlbnRpY2F0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDb3ZlcnMgdGhlIGNhc2Ugd2hlcmUgdGhlIFVzZXIgc2V0IHRoZSBBY3RBcyB0b2tlbiBoaW1zZWxmXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIWhlYWRlcnMuaGFzKCdYLVZNV0FSRS1WQ0xPVUQtVEVOQU5ULUNPTlRFWFQnKSAmJiB0aGlzLl9hY3RBcykge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdYLVZNV0FSRS1WQ0xPVUQtVEVOQU5ULUNPTlRFWFQnLCB0aGlzLl9hY3RBcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogQ292ZXJzIHRoZSBjYXNlIHdoZXJlIHRoZSBVc2VyIHNldCB0aGUgQWN0QXMgdG9rZW4gaGltc2VsZlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKCFoZWFkZXJzLmhhcygnWC1WTVdBUkUtVkNMT1VELUFVVEgtQ09OVEVYVCcpICYmIHRoaXMuX2FjdEFzT3JnTmFtZSkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdYLVZNV0FSRS1WQ0xPVUQtQVVUSC1DT05URVhUJywgdGhpcy5fYWN0QXNPcmdOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1c3RvbVJlcTogSHR0cFJlcXVlc3Q8YW55PiA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShjdXN0b21SZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlczogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzLmJvZHkgfHwgIXJlcy5oZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5oZWFkZXJzLmhhcyhIVFRQX0hFQURFUlMubGluaykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5ib2R5LmxpbmsgPSBwYXJzZUhlYWRlckhhdGVvYXNMaW5rcyhyZXMuaGVhZGVycy5nZXQoSFRUUF9IRUFERVJTLmxpbmspKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMuaGVhZGVycy5oYXMoSFRUUF9IRUFERVJTLkxpbmspKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuYm9keS5saW5rID0gcGFyc2VIZWFkZXJIYXRlb2FzTGlua3MocmVzLmhlYWRlcnMuZ2V0KEhUVFBfSEVBREVSUy5MaW5rKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmhlYWRlcnMuaGFzKEhUVFBfSEVBREVSUy5ldGFnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmJvZHkuZXRhZyA9IHJlcy5oZWFkZXJzLmdldChIVFRQX0hFQURFUlMuZXRhZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBY2NlcHRIZWFkZXIoaGVhZGVyczogSHR0cEhlYWRlcnMpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaGVhZGVycy5nZXQoJ19tdWx0aXNpdGUnKTtcbiAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuZGVsZXRlKCdfbXVsdGlzaXRlJyk7XG5cbiAgICAgICAgcmV0dXJuIGhlYWRlcnMuc2V0KFxuICAgICAgICAgICAgJ0FjY2VwdCcsIFtcbiAgICAgICAgICAgICAgICBgYXBwbGljYXRpb24vKitqc29uO3ZlcnNpb249JHt0aGlzLl92ZXJzaW9ufSR7dmFsdWUgPyBgO211bHRpc2l0ZT0ke3ZhbHVlfWAgOiAnJ31gLFxuICAgICAgICAgICAgICAgIGBhcHBsaWNhdGlvbi9qc29uO3ZlcnNpb249JHt0aGlzLl92ZXJzaW9ufSR7dmFsdWUgPyBgO211bHRpc2l0ZT0ke3ZhbHVlfWAgOiAnJ31gXG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb250ZW50VHlwZUhlYWRlcihoZWFkZXJzOiBIdHRwSGVhZGVycywgdXJsOiBzdHJpbmcpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignY2xvdWRhcGknKSA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi8qK2pzb24nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpResponse } from '@angular/common/http';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ // tslint:disable:jsdoc-format
6
+ /**
7
+ * An interceptor on the response chain that normalizes differences in
8
+ * JSON payloads between vCloud Director version 9.1 and versions
9
+ * greater than 9.1.
10
+ *
11
+ * In 9.1 (API version 30.0) the server serializes JSON and nests the payload in a value field:
12
+ * ```
13
+ {
14
+ "name" : "{http://www.vmware.com/vcloud/versions}SupportedVersions",
15
+ "declaredType" : "com.vmware.vcloud.api.rest.schema.versioning.SupportedVersionsType",
16
+ "scope" : "javax.xml.bind.JAXBElement$GlobalScope",
17
+ "value" : {
18
+ "versionInfo" : [],
19
+ "any" : [],
20
+ "otherAttributes" : {}
21
+ }
22
+ }
23
+ ```
24
+ *
25
+ * That same request in API versions 31.0 and above is represented as:
26
+ * ```
27
+ {
28
+ "versionInfo" : [],
29
+ "any" : [],
30
+ "otherAttributes" : {}
31
+ }
32
+ ```
33
+ * This interceptor should process responses before any other interceptors that rely
34
+ * on consistent API information.
35
+ */
36
+ export class ResponseNormalizationInterceptor {
37
+ static { this.QUERY_RESULT_TYPE = 'com.vmware.vcloud.api.rest.schema_v1_5.QueryResultRecordsType'; }
38
+ intercept(req, next) {
39
+ return next.handle(req).pipe(map(response => {
40
+ // While this condition seems awfully specific, the alternative option of examining the 'Content-Type'
41
+ // response header for 'version=30.0' proved to be an unreliable condition in at least one case;
42
+ // returning the same JSON payload as API versions >= 31.0.
43
+ if (response instanceof HttpResponse && response.body && response.body.value && response.body.declaredType && response.body.scope) {
44
+ const body = response.body.value;
45
+ if (response.body.declaredType === ResponseNormalizationInterceptor.QUERY_RESULT_TYPE) {
46
+ body.record = body.record.map(record => record.value);
47
+ }
48
+ return response.clone({ body });
49
+ }
50
+ return response;
51
+ }));
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResponseNormalizationInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
54
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResponseNormalizationInterceptor }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResponseNormalizationInterceptor, decorators: [{
57
+ type: Injectable
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2Uubm9ybWFsaXphdGlvbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjZC9zZGsvc3JjL2NsaWVudC9jbGllbnQvcmVzcG9uc2Uubm9ybWFsaXphdGlvbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBd0QsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHMUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQyw4QkFBOEI7QUFDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBRUgsTUFBTSxPQUFPLGdDQUFnQzthQUNuQixzQkFBaUIsR0FBRywrREFBK0QsQUFBbEUsQ0FBbUU7SUFFNUcsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2Isc0dBQXNHO1lBQ3RHLGdHQUFnRztZQUNoRywyREFBMkQ7WUFDM0QsSUFBSSxRQUFRLFlBQVksWUFBWSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEksTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ2pDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssZ0NBQWdDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDdEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztnQkFFRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFFRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0M7OzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gdHNsaW50OmRpc2FibGU6anNkb2MtZm9ybWF0XG4vKipcbiAqIEFuIGludGVyY2VwdG9yIG9uIHRoZSByZXNwb25zZSBjaGFpbiB0aGF0IG5vcm1hbGl6ZXMgZGlmZmVyZW5jZXMgaW5cbiAqIEpTT04gcGF5bG9hZHMgYmV0d2VlbiB2Q2xvdWQgRGlyZWN0b3IgdmVyc2lvbiA5LjEgYW5kIHZlcnNpb25zXG4gKiBncmVhdGVyIHRoYW4gOS4xLlxuICpcbiAqIEluIDkuMSAoQVBJIHZlcnNpb24gMzAuMCkgdGhlIHNlcnZlciBzZXJpYWxpemVzIEpTT04gYW5kIG5lc3RzIHRoZSBwYXlsb2FkIGluIGEgdmFsdWUgZmllbGQ6XG4gKiBgYGBcbiAge1xuICAgIFwibmFtZVwiIDogXCJ7aHR0cDovL3d3dy52bXdhcmUuY29tL3ZjbG91ZC92ZXJzaW9uc31TdXBwb3J0ZWRWZXJzaW9uc1wiLFxuICAgIFwiZGVjbGFyZWRUeXBlXCIgOiBcImNvbS52bXdhcmUudmNsb3VkLmFwaS5yZXN0LnNjaGVtYS52ZXJzaW9uaW5nLlN1cHBvcnRlZFZlcnNpb25zVHlwZVwiLFxuICAgIFwic2NvcGVcIiA6IFwiamF2YXgueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGVcIixcbiAgICBcInZhbHVlXCIgOiB7XG4gICAgICBcInZlcnNpb25JbmZvXCIgOiBbXSxcbiAgICAgIFwiYW55XCIgOiBbXSxcbiAgICAgIFwib3RoZXJBdHRyaWJ1dGVzXCIgOiB7fVxuICAgIH1cbiAgfVxuICBgYGBcbiAqXG4gKiBUaGF0IHNhbWUgcmVxdWVzdCBpbiBBUEkgdmVyc2lvbnMgMzEuMCBhbmQgYWJvdmUgaXMgcmVwcmVzZW50ZWQgYXM6XG4gKiBgYGBcbiAge1xuICAgIFwidmVyc2lvbkluZm9cIiA6IFtdLFxuICAgIFwiYW55XCIgOiBbXSxcbiAgICBcIm90aGVyQXR0cmlidXRlc1wiIDoge31cbiAgfVxuICBgYGBcbiAqIFRoaXMgaW50ZXJjZXB0b3Igc2hvdWxkIHByb2Nlc3MgcmVzcG9uc2VzIGJlZm9yZSBhbnkgb3RoZXIgaW50ZXJjZXB0b3JzIHRoYXQgcmVseVxuICogb24gY29uc2lzdGVudCBBUEkgaW5mb3JtYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFFVRVJZX1JFU1VMVF9UWVBFID0gJ2NvbS52bXdhcmUudmNsb3VkLmFwaS5yZXN0LnNjaGVtYV92MV81LlF1ZXJ5UmVzdWx0UmVjb3Jkc1R5cGUnO1xuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAvLyBXaGlsZSB0aGlzIGNvbmRpdGlvbiBzZWVtcyBhd2Z1bGx5IHNwZWNpZmljLCB0aGUgYWx0ZXJuYXRpdmUgb3B0aW9uIG9mIGV4YW1pbmluZyB0aGUgJ0NvbnRlbnQtVHlwZSdcbiAgICAgICAgLy8gcmVzcG9uc2UgaGVhZGVyIGZvciAndmVyc2lvbj0zMC4wJyBwcm92ZWQgdG8gYmUgYW4gdW5yZWxpYWJsZSBjb25kaXRpb24gaW4gYXQgbGVhc3Qgb25lIGNhc2U7XG4gICAgICAgIC8vIHJldHVybmluZyB0aGUgc2FtZSBKU09OIHBheWxvYWQgYXMgQVBJIHZlcnNpb25zID49IDMxLjAuXG4gICAgICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSAmJiByZXNwb25zZS5ib2R5ICYmIHJlc3BvbnNlLmJvZHkudmFsdWUgJiYgcmVzcG9uc2UuYm9keS5kZWNsYXJlZFR5cGUgJiYgcmVzcG9uc2UuYm9keS5zY29wZSkge1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSByZXNwb25zZS5ib2R5LnZhbHVlO1xuICAgICAgICAgIGlmIChyZXNwb25zZS5ib2R5LmRlY2xhcmVkVHlwZSA9PT0gUmVzcG9uc2VOb3JtYWxpemF0aW9uSW50ZXJjZXB0b3IuUVVFUllfUkVTVUxUX1RZUEUpIHtcbiAgICAgICAgICAgIGJvZHkucmVjb3JkID0gYm9keS5yZWNvcmQubWFwKHJlY29yZCA9PiByZWNvcmQudmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5jbG9uZSh7IGJvZHkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==