@von-development-studio/angular-rest-service 2.0.1-SNAPSHOT → 2.0.3-SNAPSHOT

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3QtZGVmaW5pdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1yZXN0LXNlcnZpY2Uvc3JjL2xpYi9tb2RlbC92b24tcmVzdC1kZWZpbml0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1BhcmFtcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgSGVhZGVyUGFyYW1zID0ge1xuICBjb250ZW50VHlwZT86IHN0cmluZztcbiAgYWNjZXB0Pzogc3RyaW5nO1xufSAmIHsgcGFyYW1zPzogR2VuZXJpY1BhcmFtcyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VQYXJhbXMge1xuICB1cmw6IHN0cmluZztcbiAgdXJsUGFyYW1zPzogR2VuZXJpY1BhcmFtcztcbiAgcGFyYW1zPzogSGVhZGVyUGFyYW1zO1xufVxuXG5leHBvcnQgdHlwZSBHZXRQYXJhbXMgPSBCYXNlUGFyYW1zO1xuXG5leHBvcnQgdHlwZSBEZWxldGVQYXJhbXMgPSBCYXNlUGFyYW1zO1xuXG5leHBvcnQgdHlwZSBQb3N0UGFyYW1zPEIgPSBhbnkgfCBGb3JtRGF0YT4gPSBCYXNlUGFyYW1zICYgeyBib2R5OiBCIH07XG5cbmV4cG9ydCB0eXBlIFB1dFBhcmFtczxCID0gYW55IHwgRm9ybURhdGE+ID0gQmFzZVBhcmFtcyAmIHsgYm9keTogQiB9O1xuXG5leHBvcnQgdHlwZSBQYXRjaFBhcmFtczxCID0gYW55IHwgRm9ybURhdGE+ID0gQmFzZVBhcmFtcyAmIHsgYm9keTogQiB9O1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3QtZGVmaW5pdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1yZXN0LXNlcnZpY2Uvc3JjL2xpYi9tb2RlbC92b24tcmVzdC1kZWZpbml0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1BhcmFtcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueSB8IHVuZGVmaW5lZCB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEhlYWRlclBhcmFtcyA9IHtcbiAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gIGFjY2VwdD86IHN0cmluZztcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUGFyYW1zIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHVybFBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIHBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIGhlYWRlcj86IEhlYWRlclBhcmFtcztcbn1cblxuZXhwb3J0IHR5cGUgR2V0UGFyYW1zID0gQmFzZVBhcmFtcztcblxuZXhwb3J0IHR5cGUgRGVsZXRlUGFyYW1zID0gQmFzZVBhcmFtcztcblxuZXhwb3J0IHR5cGUgUG9zdFBhcmFtczxCID0gYW55IHwgRm9ybURhdGE+ID0gQmFzZVBhcmFtcyAmIHsgYm9keT86IEIgfTtcblxuZXhwb3J0IHR5cGUgUHV0UGFyYW1zPEIgPSBhbnkgfCBGb3JtRGF0YT4gPSBCYXNlUGFyYW1zICYgeyBib2R5PzogQiB9O1xuXG5leHBvcnQgdHlwZSBQYXRjaFBhcmFtczxCID0gYW55IHwgRm9ybURhdGE+ID0gQmFzZVBhcmFtcyAmIHsgYm9keT86IEIgfTtcbiJdfQ==
@@ -11,21 +11,29 @@ export class VonRestService {
11
11
  'Access-Control-Allow-Origin': '*',
12
12
  });
13
13
  };
14
- this.setOptions = (headerParams) => {
15
- return {
14
+ this.setOptions = ({ headerParams, params, }) => {
15
+ const options = {
16
16
  headers: this.setHeaders(headerParams),
17
- params: headerParams?.params,
17
+ params: params,
18
18
  withCredentials: true,
19
19
  };
20
+ if (headerParams?.responseType) {
21
+ options.responseType = headerParams.responseType;
22
+ }
23
+ return options;
20
24
  };
21
- this.setOptionsForFile = (headerParams) => {
22
- return {
23
- ...this.setOptions(headerParams?.params),
25
+ this.setOptionsForFile = ({ headerParams, params, }) => {
26
+ const options = {
27
+ ...this.setOptions({ headerParams, params }),
24
28
  headers: new HttpHeaders({
25
29
  Accept: headerParams?.accept ?? 'application/json',
26
30
  'Access-Control-Allow-Origin': '*',
27
31
  }),
28
32
  };
33
+ if (headerParams?.responseType) {
34
+ options.responseType = headerParams.responseType;
35
+ }
36
+ return options;
29
37
  };
30
38
  this.setUrlParams = (url, params) => {
31
39
  if (params != null) {
@@ -49,15 +57,15 @@ export class VonRestService {
49
57
  })
50
58
  .pipe(take(1), share());
51
59
  };
52
- this.get = ({ url, urlParams, params }) => {
60
+ this.get = ({ url, urlParams, params, header: headerParams, }) => {
53
61
  url = this.setUrlParams(url, urlParams);
54
- return this.http.get(url, this.setOptions(params));
62
+ return this.http.get(url, this.setOptions({ headerParams, params }));
55
63
  };
56
- this.file = ({ url, urlParams, params, }) => {
64
+ this.file = ({ url, urlParams, params, header: headerParams, }) => {
57
65
  url = this.setUrlParams(url, urlParams);
58
66
  return this.http
59
67
  .get(url, {
60
- ...this.setOptionsForFile(params),
68
+ ...this.setOptionsForFile({ headerParams, params }),
61
69
  responseType: 'blob',
62
70
  })
63
71
  .pipe(map((res) => {
@@ -67,31 +75,31 @@ export class VonRestService {
67
75
  return sanitized;
68
76
  }));
69
77
  };
70
- this.delete = ({ url, urlParams, params, }) => {
78
+ this.delete = ({ url, urlParams, params, header: headerParams, }) => {
71
79
  url = this.setUrlParams(url, urlParams);
72
- return this.http.delete(url, this.setOptions(params));
80
+ return this.http.delete(url, this.setOptions({ headerParams, params }));
73
81
  };
74
- this.post = ({ url, body, urlParams, params, }) => {
82
+ this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
75
83
  url = this.setUrlParams(url, urlParams);
76
84
  let options = body instanceof FormData
77
- ? this.setOptionsForFile(params)
78
- : this.setOptions(params);
85
+ ? this.setOptionsForFile({ headerParams, params })
86
+ : this.setOptions({ headerParams, params });
79
87
  return this.http.post(url, body, options);
80
88
  };
81
- this.put = ({ url, body, urlParams, params, }) => {
89
+ this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
82
90
  url = this.setUrlParams(url, urlParams);
83
91
  let options = body instanceof FormData
84
- ? this.setOptionsForFile(params)
85
- : this.setOptions(params);
92
+ ? this.setOptionsForFile({ headerParams, params })
93
+ : this.setOptions({ headerParams, params });
86
94
  return this.http.put(url, body, options);
87
95
  };
88
- this.patch = ({ url, body, urlParams, params, }) => {
96
+ this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
89
97
  url = this.setUrlParams(url, urlParams);
90
98
  let options = body instanceof FormData
91
- ? this.setOptionsForFile(params)
92
- : this.setOptions(params);
99
+ ? this.setOptionsForFile({ headerParams, params })
100
+ : this.setOptions({ headerParams, params });
93
101
  return this.http.patch(url, body, options);
94
102
  };
95
103
  }
96
104
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmVzdC1zZXJ2aWNlL3NyYy9saWIvdm9uLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbEQsTUFBTSxPQUFnQixjQUFjO0lBQ2xDLFlBQXNCLElBQWdCLEVBQVksU0FBdUI7UUFBbkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0QsZUFBVSxHQUFHLENBQUMsWUFBMkIsRUFBZSxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxJQUFJLGtCQUFrQjtnQkFDL0QsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksa0JBQWtCO2dCQUNsRCw2QkFBNkIsRUFBRSxHQUFHO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVRLGVBQVUsR0FBRyxDQUFDLFlBQTJCLEVBQXVCLEVBQUU7WUFDMUUsT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTTtnQkFDNUIsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVRLHNCQUFpQixHQUFHLENBQzVCLFlBQTJCLEVBQ04sRUFBRTtZQUN2QixPQUFPO2dCQUNMLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7b0JBQ3ZCLE1BQU0sRUFB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QUksT0FBTyxHQUNULElBQUksWUFBWSxRQUFRO2dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQztJQXRJMEUsQ0FBQztDQXVJOUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVm9uSHR0cE9wdGlvbnNNb2RlbCB9IGZyb20gJy4vbW9kZWwvdm9uLWh0dHAtb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQge1xuICBEZWxldGVQYXJhbXMsXG4gIEdlbmVyaWNQYXJhbXMsXG4gIEdldFBhcmFtcyxcbiAgSGVhZGVyUGFyYW1zLFxuICBQb3N0UGFyYW1zLFxuICBQdXRQYXJhbXMsXG59IGZyb20gJy4vbW9kZWwvdm9uLXJlc3QtZGVmaW5pdGlvbi50eXBlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZvblJlc3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBwcm90ZWN0ZWQgc2V0SGVhZGVycyA9IChoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXMpOiBIdHRwSGVhZGVycyA9PiB7XG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogaGVhZGVyUGFyYW1zPy5jb250ZW50VHlwZSA/PyAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBBY2NlcHQ6IGhlYWRlclBhcmFtcz8uYWNjZXB0ID8/ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiAnKicsXG4gICAgfSk7XG4gIH07XG5cbiAgcHJvdGVjdGVkIHNldE9wdGlvbnMgPSAoaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zKTogVm9uSHR0cE9wdGlvbnNNb2RlbCA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuc2V0SGVhZGVycyhoZWFkZXJQYXJhbXMpLFxuICAgICAgcGFyYW1zOiBoZWFkZXJQYXJhbXM/LnBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9O1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25zRm9yRmlsZSA9IChcbiAgICBoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXNcbiAgKTogVm9uSHR0cE9wdGlvbnNNb2RlbCA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuc2V0T3B0aW9ucyhoZWFkZXJQYXJhbXM/LnBhcmFtcyksXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBBY2NlcHQ6IGhlYWRlclBhcmFtcz8uYWNjZXB0ID8/ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6ICcqJyxcbiAgICAgIH0pLFxuICAgIH07XG4gIH07XG5cbiAgcHJvdGVjdGVkIHNldFVybFBhcmFtcyA9ICh1cmw6IHN0cmluZywgcGFyYW1zPzogR2VuZXJpY1BhcmFtcykgPT4ge1xuICAgIGlmIChwYXJhbXMgIT0gbnVsbCkge1xuICAgICAgZm9yIChjb25zdCBwIGluIHBhcmFtcykge1xuICAgICAgICBpZiAocCAhPSBudWxsKSB7XG4gICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoYHske3B9fWAsIHBhcmFtc1twXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBhdXRoZW50aWNhdGUgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGJ0b2EoYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBhdXRob3JpemF0aW9uOiBgQmFzaWMgJHthdXRob3JpemF0aW9ufWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSksIHNoYXJlKCkpO1xuICB9O1xuXG4gIGdldCA9IDxSID0gYW55Pih7IHVybCwgdXJsUGFyYW1zLCBwYXJhbXMgfTogR2V0UGFyYW1zKTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFI+KHVybCwgdGhpcy5zZXRPcHRpb25zKHBhcmFtcykpO1xuICB9O1xuXG4gIGZpbGUgPSAoe1xuICAgIHVybCxcbiAgICB1cmxQYXJhbXMsXG4gICAgcGFyYW1zLFxuICB9OiBHZXRQYXJhbXMpOiBPYnNlcnZhYmxlPFNhZmVSZXNvdXJjZVVybD4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwge1xuICAgICAgICAuLi50aGlzLnNldE9wdGlvbnNGb3JGaWxlKHBhcmFtcyksXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW3Jlc10sIHsgdHlwZTogcGFyYW1zPy5jb250ZW50VHlwZSB9KTtcbiAgICAgICAgICBjb25zdCBvYmpVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGVCbG9iKTtcbiAgICAgICAgICBjb25zdCBzYW5pdGl6ZWQgPVxuICAgICAgICAgICAgdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG9ialVybCk7XG4gICAgICAgICAgcmV0dXJuIHNhbml0aXplZDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH07XG5cbiAgZGVsZXRlID0gPFIgPSBhbnk+KHtcbiAgICB1cmwsXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgfTogRGVsZXRlUGFyYW1zKTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFI+KHVybCwgdGhpcy5zZXRPcHRpb25zKHBhcmFtcykpO1xuICB9O1xuXG4gIHBvc3QgPSA8UiA9IGFueSwgQiA9IGFueSB8IEZvcm1EYXRhPih7XG4gICAgdXJsLFxuICAgIGJvZHksXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgfTogUG9zdFBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHBhcmFtcylcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCBib2R5LCBvcHRpb25zKTtcbiAgfTtcblxuICBwdXQgPSA8UiA9IGFueSwgQiA9IGFueSB8IEZvcm1EYXRhPih7XG4gICAgdXJsLFxuICAgIGJvZHksXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgfTogUHV0UGFyYW1zPEI+KTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIGxldCBvcHRpb25zID1cbiAgICAgIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgICAgICA/IHRoaXMuc2V0T3B0aW9uc0ZvckZpbGUocGFyYW1zKVxuICAgICAgICA6IHRoaXMuc2V0T3B0aW9ucyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG5cbiAgcGF0Y2ggPSA8UiA9IGFueSwgQiA9IGFueSB8IEZvcm1EYXRhPih7XG4gICAgdXJsLFxuICAgIGJvZHksXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgfTogUHV0UGFyYW1zPEI+KTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIGxldCBvcHRpb25zID1cbiAgICAgIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgICAgICA/IHRoaXMuc2V0T3B0aW9uc0ZvckZpbGUocGFyYW1zKVxuICAgICAgICA6IHRoaXMuc2V0T3B0aW9ucyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8Uj4odXJsLCBib2R5LCBvcHRpb25zKTtcbiAgfTtcbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmVzdC1zZXJ2aWNlL3NyYy9saWIvdm9uLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbEQsTUFBTSxPQUFnQixjQUFjO0lBQ2xDLFlBQXNCLElBQWdCLEVBQVksU0FBdUI7UUFBbkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0QsZUFBVSxHQUFHLENBQUMsWUFBMkIsRUFBZSxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxJQUFJLGtCQUFrQjtnQkFDL0QsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksa0JBQWtCO2dCQUNsRCw2QkFBNkIsRUFBRSxHQUFHO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVRLGVBQVUsR0FBRyxDQUFDLEVBQ3RCLFlBQVksRUFDWixNQUFNLEdBSVAsRUFBdUIsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBd0I7Z0JBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDdEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztZQUNGLElBQUksWUFBWSxFQUFFLFlBQVksRUFBRTtnQkFDOUIsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO2FBQ2xEO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBRVEsc0JBQWlCLEdBQUcsQ0FBQyxF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Q04sTUFBTSxFQUFFLFlBQVksR0FDUCxFQUFpQixFQUFFO1lBQ2hDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4QyxJQUFJLE9BQU8sR0FDVCxJQUFJLFlBQVksUUFBUTtnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO1FBRUYsVUFBSyxHQUFHLENBQThCLEVBQ3BDLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQUUsWUFBWSxHQUNQLEVBQWlCLEVBQUU7WUFDaEMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksT0FBTyxHQUNULElBQUksWUFBWSxRQUFRO2dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUksR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUM7SUFsSzBFLENBQUM7Q0FtSzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZvbkh0dHBPcHRpb25zTW9kZWwgfSBmcm9tICcuL21vZGVsL3Zvbi1odHRwLW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRGVsZXRlUGFyYW1zLFxuICBHZW5lcmljUGFyYW1zLFxuICBHZXRQYXJhbXMsXG4gIEhlYWRlclBhcmFtcyxcbiAgUG9zdFBhcmFtcyxcbiAgUHV0UGFyYW1zLFxufSBmcm9tICcuL21vZGVsL3Zvbi1yZXN0LWRlZmluaXRpb24udHlwZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWb25SZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgcHJvdGVjdGVkIHNldEhlYWRlcnMgPSAoaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zKTogSHR0cEhlYWRlcnMgPT4ge1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGhlYWRlclBhcmFtcz8uY29udGVudFR5cGUgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiBoZWFkZXJQYXJhbXM/LmFjY2VwdCA/PyAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25zID0gKHtcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zLFxuICB9OiB7XG4gICAgaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zO1xuICAgIHBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIH0pOiBWb25IdHRwT3B0aW9uc01vZGVsID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBWb25IdHRwT3B0aW9uc01vZGVsID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5zZXRIZWFkZXJzKGhlYWRlclBhcmFtcyksXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9O1xuICAgIGlmIChoZWFkZXJQYXJhbXM/LnJlc3BvbnNlVHlwZSkge1xuICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBoZWFkZXJQYXJhbXMucmVzcG9uc2VUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfTtcblxuICBwcm90ZWN0ZWQgc2V0T3B0aW9uc0ZvckZpbGUgPSAoe1xuICAgIGhlYWRlclBhcmFtcyxcbiAgICBwYXJhbXMsXG4gIH06IHtcbiAgICBoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXM7XG4gICAgcGFyYW1zPzogR2VuZXJpY1BhcmFtcztcbiAgfSk6IFZvbkh0dHBPcHRpb25zTW9kZWwgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFZvbkh0dHBPcHRpb25zTW9kZWwgPSB7XG4gICAgICAuLi50aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KSxcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIEFjY2VwdDogaGVhZGVyUGFyYW1zPy5hY2NlcHQgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBpZiAoaGVhZGVyUGFyYW1zPy5yZXNwb25zZVR5cGUpIHtcbiAgICAgIG9wdGlvbnMucmVzcG9uc2VUeXBlID0gaGVhZGVyUGFyYW1zLnJlc3BvbnNlVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH07XG5cbiAgcHJvdGVjdGVkIHNldFVybFBhcmFtcyA9ICh1cmw6IHN0cmluZywgcGFyYW1zPzogR2VuZXJpY1BhcmFtcykgPT4ge1xuICAgIGlmIChwYXJhbXMgIT0gbnVsbCkge1xuICAgICAgZm9yIChjb25zdCBwIGluIHBhcmFtcykge1xuICAgICAgICBpZiAocCAhPSBudWxsKSB7XG4gICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoYHske3B9fWAsIHBhcmFtc1twXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBhdXRoZW50aWNhdGUgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGJ0b2EoYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBhdXRob3JpemF0aW9uOiBgQmFzaWMgJHthdXRob3JpemF0aW9ufWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSksIHNoYXJlKCkpO1xuICB9O1xuXG4gIGdldCA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IEdldFBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBmaWxlID0gKHtcbiAgICB1cmwsXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgICBoZWFkZXI6IGhlYWRlclBhcmFtcyxcbiAgfTogR2V0UGFyYW1zKTogT2JzZXJ2YWJsZTxTYWZlUmVzb3VyY2VVcmw+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgLi4udGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6IHBhcmFtcz8uY29udGVudFR5cGUgfSk7XG4gICAgICAgICAgY29uc3Qgb2JqVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkID1cbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChvYmpVcmwpO1xuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9O1xuXG4gIGRlbGV0ZSA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IERlbGV0ZVBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBwb3N0ID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFBvc3RQYXJhbXM8Qj4pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgbGV0IG9wdGlvbnMgPVxuICAgICAgYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICAgICAgID8gdGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pXG4gICAgICAgIDogdGhpcy5zZXRPcHRpb25zKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG5cbiAgcHV0ID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFB1dFBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxSPih1cmwsIGJvZHksIG9wdGlvbnMpO1xuICB9O1xuXG4gIHBhdGNoID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFB1dFBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG59XG4iXX0=
@@ -73,19 +73,27 @@ class VonRestService {
73
73
  'Access-Control-Allow-Origin': '*',
74
74
  });
75
75
  };
76
- this.setOptions = (headerParams) => {
77
- return {
76
+ this.setOptions = ({ headerParams, params, }) => {
77
+ const options = {
78
78
  headers: this.setHeaders(headerParams),
79
- params: headerParams === null || headerParams === void 0 ? void 0 : headerParams.params,
79
+ params: params,
80
80
  withCredentials: true,
81
81
  };
82
+ if (headerParams === null || headerParams === void 0 ? void 0 : headerParams.responseType) {
83
+ options.responseType = headerParams.responseType;
84
+ }
85
+ return options;
82
86
  };
83
- this.setOptionsForFile = (headerParams) => {
87
+ this.setOptionsForFile = ({ headerParams, params, }) => {
84
88
  var _a;
85
- return Object.assign(Object.assign({}, this.setOptions(headerParams === null || headerParams === void 0 ? void 0 : headerParams.params)), { headers: new HttpHeaders({
89
+ const options = Object.assign(Object.assign({}, this.setOptions({ headerParams, params })), { headers: new HttpHeaders({
86
90
  Accept: (_a = headerParams === null || headerParams === void 0 ? void 0 : headerParams.accept) !== null && _a !== void 0 ? _a : 'application/json',
87
91
  'Access-Control-Allow-Origin': '*',
88
92
  }) });
93
+ if (headerParams === null || headerParams === void 0 ? void 0 : headerParams.responseType) {
94
+ options.responseType = headerParams.responseType;
95
+ }
96
+ return options;
89
97
  };
90
98
  this.setUrlParams = (url, params) => {
91
99
  if (params != null) {
@@ -109,14 +117,14 @@ class VonRestService {
109
117
  })
110
118
  .pipe(take(1), share());
111
119
  };
112
- this.get = ({ url, urlParams, params }) => {
120
+ this.get = ({ url, urlParams, params, header: headerParams, }) => {
113
121
  url = this.setUrlParams(url, urlParams);
114
- return this.http.get(url, this.setOptions(params));
122
+ return this.http.get(url, this.setOptions({ headerParams, params }));
115
123
  };
116
- this.file = ({ url, urlParams, params, }) => {
124
+ this.file = ({ url, urlParams, params, header: headerParams, }) => {
117
125
  url = this.setUrlParams(url, urlParams);
118
126
  return this.http
119
- .get(url, Object.assign(Object.assign({}, this.setOptionsForFile(params)), { responseType: 'blob' }))
127
+ .get(url, Object.assign(Object.assign({}, this.setOptionsForFile({ headerParams, params })), { responseType: 'blob' }))
120
128
  .pipe(map((res) => {
121
129
  const fileBlob = new Blob([res], { type: params === null || params === void 0 ? void 0 : params.contentType });
122
130
  const objUrl = URL.createObjectURL(fileBlob);
@@ -124,29 +132,29 @@ class VonRestService {
124
132
  return sanitized;
125
133
  }));
126
134
  };
127
- this.delete = ({ url, urlParams, params, }) => {
135
+ this.delete = ({ url, urlParams, params, header: headerParams, }) => {
128
136
  url = this.setUrlParams(url, urlParams);
129
- return this.http.delete(url, this.setOptions(params));
137
+ return this.http.delete(url, this.setOptions({ headerParams, params }));
130
138
  };
131
- this.post = ({ url, body, urlParams, params, }) => {
139
+ this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
132
140
  url = this.setUrlParams(url, urlParams);
133
141
  let options = body instanceof FormData
134
- ? this.setOptionsForFile(params)
135
- : this.setOptions(params);
142
+ ? this.setOptionsForFile({ headerParams, params })
143
+ : this.setOptions({ headerParams, params });
136
144
  return this.http.post(url, body, options);
137
145
  };
138
- this.put = ({ url, body, urlParams, params, }) => {
146
+ this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
139
147
  url = this.setUrlParams(url, urlParams);
140
148
  let options = body instanceof FormData
141
- ? this.setOptionsForFile(params)
142
- : this.setOptions(params);
149
+ ? this.setOptionsForFile({ headerParams, params })
150
+ : this.setOptions({ headerParams, params });
143
151
  return this.http.put(url, body, options);
144
152
  };
145
- this.patch = ({ url, body, urlParams, params, }) => {
153
+ this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
146
154
  url = this.setUrlParams(url, urlParams);
147
155
  let options = body instanceof FormData
148
- ? this.setOptionsForFile(params)
149
- : this.setOptions(params);
156
+ ? this.setOptionsForFile({ headerParams, params })
157
+ : this.setOptions({ headerParams, params });
150
158
  return this.http.patch(url, body, options);
151
159
  };
152
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/angular-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/angular-rest-service/src/lib/von-rest.service.ts","../../../projects/angular-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './model/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n protected urlWhoAmI = 'api/who-am-i';\n protected redirectOn403 = true;\n protected redirect403Url = ['403'];\n\n constructor(protected router: Router) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected postHttpRequest = () => {};\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error ? errorResponse.error : this.errorResponseForbidden;\n }\n if (this.redirectOn403) {\n if (errorResponse.status === 403 || (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.postHttpRequest();\n return throwError(error);\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { VonHttpOptionsModel } from './model/von-http-options.model';\nimport {\n DeleteParams,\n GenericParams,\n GetParams,\n HeaderParams,\n PostParams,\n PutParams,\n} from './model/von-rest-definition.type';\n\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = (headerParams?: HeaderParams): VonHttpOptionsModel => {\n return {\n headers: this.setHeaders(headerParams),\n params: headerParams?.params,\n withCredentials: true,\n };\n };\n\n protected setOptionsForFile = (\n headerParams?: HeaderParams\n ): VonHttpOptionsModel => {\n return {\n ...this.setOptions(headerParams?.params),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n get = <R = any>({ url, urlParams, params }: GetParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(url, this.setOptions(params));\n };\n\n file = ({\n url,\n urlParams,\n params,\n }: GetParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile(params),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.contentType });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n\n delete = <R = any>({\n url,\n urlParams,\n params,\n }: DeleteParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(url, this.setOptions(params));\n };\n\n post = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PostParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.post<R>(url, body, options);\n };\n\n put = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.put<R>(url, body, options);\n };\n\n patch = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.patch<R>(url, body, options);\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/angular-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/angular-rest-service/src/lib/von-rest.service.ts","../../../projects/angular-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './model/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n protected urlWhoAmI = 'api/who-am-i';\n protected redirectOn403 = true;\n protected redirect403Url = ['403'];\n\n constructor(protected router: Router) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected postHttpRequest = () => {};\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error ? errorResponse.error : this.errorResponseForbidden;\n }\n if (this.redirectOn403) {\n if (errorResponse.status === 403 || (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.postHttpRequest();\n return throwError(error);\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { VonHttpOptionsModel } from './model/von-http-options.model';\nimport {\n DeleteParams,\n GenericParams,\n GetParams,\n HeaderParams,\n PostParams,\n PutParams,\n} from './model/von-rest-definition.type';\n\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = ({\n headerParams,\n params,\n }: {\n headerParams?: HeaderParams;\n params?: GenericParams;\n }): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n headers: this.setHeaders(headerParams),\n params: params,\n withCredentials: true,\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setOptionsForFile = ({\n headerParams,\n params,\n }: {\n headerParams?: HeaderParams;\n params?: GenericParams;\n }): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n ...this.setOptions({ headerParams, params }),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n get = <R = any>({\n url,\n urlParams,\n params,\n header: headerParams,\n }: GetParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(url, this.setOptions({ headerParams, params }));\n };\n\n file = ({\n url,\n urlParams,\n params,\n header: headerParams,\n }: GetParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile({ headerParams, params }),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.contentType });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n\n delete = <R = any>({\n url,\n urlParams,\n params,\n header: headerParams,\n }: DeleteParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(url, this.setOptions({ headerParams, params }));\n };\n\n post = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PostParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.post<R>(url, body, options);\n };\n\n put = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.put<R>(url, body, options);\n };\n\n patch = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.patch<R>(url, body, options);\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -72,21 +72,29 @@ class VonRestService {
72
72
  'Access-Control-Allow-Origin': '*',
73
73
  });
74
74
  };
75
- this.setOptions = (headerParams) => {
76
- return {
75
+ this.setOptions = ({ headerParams, params, }) => {
76
+ const options = {
77
77
  headers: this.setHeaders(headerParams),
78
- params: headerParams?.params,
78
+ params: params,
79
79
  withCredentials: true,
80
80
  };
81
+ if (headerParams?.responseType) {
82
+ options.responseType = headerParams.responseType;
83
+ }
84
+ return options;
81
85
  };
82
- this.setOptionsForFile = (headerParams) => {
83
- return {
84
- ...this.setOptions(headerParams?.params),
86
+ this.setOptionsForFile = ({ headerParams, params, }) => {
87
+ const options = {
88
+ ...this.setOptions({ headerParams, params }),
85
89
  headers: new HttpHeaders({
86
90
  Accept: headerParams?.accept ?? 'application/json',
87
91
  'Access-Control-Allow-Origin': '*',
88
92
  }),
89
93
  };
94
+ if (headerParams?.responseType) {
95
+ options.responseType = headerParams.responseType;
96
+ }
97
+ return options;
90
98
  };
91
99
  this.setUrlParams = (url, params) => {
92
100
  if (params != null) {
@@ -110,15 +118,15 @@ class VonRestService {
110
118
  })
111
119
  .pipe(take(1), share());
112
120
  };
113
- this.get = ({ url, urlParams, params }) => {
121
+ this.get = ({ url, urlParams, params, header: headerParams, }) => {
114
122
  url = this.setUrlParams(url, urlParams);
115
- return this.http.get(url, this.setOptions(params));
123
+ return this.http.get(url, this.setOptions({ headerParams, params }));
116
124
  };
117
- this.file = ({ url, urlParams, params, }) => {
125
+ this.file = ({ url, urlParams, params, header: headerParams, }) => {
118
126
  url = this.setUrlParams(url, urlParams);
119
127
  return this.http
120
128
  .get(url, {
121
- ...this.setOptionsForFile(params),
129
+ ...this.setOptionsForFile({ headerParams, params }),
122
130
  responseType: 'blob',
123
131
  })
124
132
  .pipe(map((res) => {
@@ -128,29 +136,29 @@ class VonRestService {
128
136
  return sanitized;
129
137
  }));
130
138
  };
131
- this.delete = ({ url, urlParams, params, }) => {
139
+ this.delete = ({ url, urlParams, params, header: headerParams, }) => {
132
140
  url = this.setUrlParams(url, urlParams);
133
- return this.http.delete(url, this.setOptions(params));
141
+ return this.http.delete(url, this.setOptions({ headerParams, params }));
134
142
  };
135
- this.post = ({ url, body, urlParams, params, }) => {
143
+ this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
136
144
  url = this.setUrlParams(url, urlParams);
137
145
  let options = body instanceof FormData
138
- ? this.setOptionsForFile(params)
139
- : this.setOptions(params);
146
+ ? this.setOptionsForFile({ headerParams, params })
147
+ : this.setOptions({ headerParams, params });
140
148
  return this.http.post(url, body, options);
141
149
  };
142
- this.put = ({ url, body, urlParams, params, }) => {
150
+ this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
143
151
  url = this.setUrlParams(url, urlParams);
144
152
  let options = body instanceof FormData
145
- ? this.setOptionsForFile(params)
146
- : this.setOptions(params);
153
+ ? this.setOptionsForFile({ headerParams, params })
154
+ : this.setOptions({ headerParams, params });
147
155
  return this.http.put(url, body, options);
148
156
  };
149
- this.patch = ({ url, body, urlParams, params, }) => {
157
+ this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
150
158
  url = this.setUrlParams(url, urlParams);
151
159
  let options = body instanceof FormData
152
- ? this.setOptionsForFile(params)
153
- : this.setOptions(params);
160
+ ? this.setOptionsForFile({ headerParams, params })
161
+ : this.setOptions({ headerParams, params });
154
162
  return this.http.patch(url, body, options);
155
163
  };
156
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/angular-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/angular-rest-service/src/lib/von-rest.service.ts","../../../projects/angular-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './model/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n protected urlWhoAmI = 'api/who-am-i';\n protected redirectOn403 = true;\n protected redirect403Url = ['403'];\n\n constructor(protected router: Router) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected postHttpRequest = () => {};\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error ? errorResponse.error : this.errorResponseForbidden;\n }\n if (this.redirectOn403) {\n if (errorResponse.status === 403 || (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.postHttpRequest();\n return throwError(error);\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { VonHttpOptionsModel } from './model/von-http-options.model';\nimport {\n DeleteParams,\n GenericParams,\n GetParams,\n HeaderParams,\n PostParams,\n PutParams,\n} from './model/von-rest-definition.type';\n\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = (headerParams?: HeaderParams): VonHttpOptionsModel => {\n return {\n headers: this.setHeaders(headerParams),\n params: headerParams?.params,\n withCredentials: true,\n };\n };\n\n protected setOptionsForFile = (\n headerParams?: HeaderParams\n ): VonHttpOptionsModel => {\n return {\n ...this.setOptions(headerParams?.params),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n get = <R = any>({ url, urlParams, params }: GetParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(url, this.setOptions(params));\n };\n\n file = ({\n url,\n urlParams,\n params,\n }: GetParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile(params),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.contentType });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n\n delete = <R = any>({\n url,\n urlParams,\n params,\n }: DeleteParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(url, this.setOptions(params));\n };\n\n post = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PostParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.post<R>(url, body, options);\n };\n\n put = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.put<R>(url, body, options);\n };\n\n patch = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile(params)\n : this.setOptions(params);\n return this.http.patch<R>(url, body, options);\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/angular-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/angular-rest-service/src/lib/von-rest.service.ts","../../../projects/angular-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './model/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n protected urlWhoAmI = 'api/who-am-i';\n protected redirectOn403 = true;\n protected redirect403Url = ['403'];\n\n constructor(protected router: Router) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n return next.handle(request).pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected postHttpRequest = () => {};\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error ? errorResponse.error : this.errorResponseForbidden;\n }\n if (this.redirectOn403) {\n if (errorResponse.status === 403 || (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.postHttpRequest();\n return throwError(error);\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { VonHttpOptionsModel } from './model/von-http-options.model';\nimport {\n DeleteParams,\n GenericParams,\n GetParams,\n HeaderParams,\n PostParams,\n PutParams,\n} from './model/von-rest-definition.type';\n\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = ({\n headerParams,\n params,\n }: {\n headerParams?: HeaderParams;\n params?: GenericParams;\n }): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n headers: this.setHeaders(headerParams),\n params: params,\n withCredentials: true,\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setOptionsForFile = ({\n headerParams,\n params,\n }: {\n headerParams?: HeaderParams;\n params?: GenericParams;\n }): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n ...this.setOptions({ headerParams, params }),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n get = <R = any>({\n url,\n urlParams,\n params,\n header: headerParams,\n }: GetParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(url, this.setOptions({ headerParams, params }));\n };\n\n file = ({\n url,\n urlParams,\n params,\n header: headerParams,\n }: GetParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile({ headerParams, params }),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.contentType });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n\n delete = <R = any>({\n url,\n urlParams,\n params,\n header: headerParams,\n }: DeleteParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(url, this.setOptions({ headerParams, params }));\n };\n\n post = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PostParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.post<R>(url, body, options);\n };\n\n put = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.put<R>(url, body, options);\n };\n\n patch = <R = any, B = any | FormData>({\n url,\n body,\n urlParams,\n params,\n header: headerParams,\n }: PutParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n let options =\n body instanceof FormData\n ? this.setOptionsForFile({ headerParams, params })\n : this.setOptions({ headerParams, params });\n return this.http.patch<R>(url, body, options);\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,25 @@
1
1
  export interface GenericParams {
2
- [key: string]: any;
2
+ [key: string]: any | undefined | null;
3
3
  }
4
4
  export declare type HeaderParams = {
5
5
  contentType?: string;
6
6
  accept?: string;
7
- } & {
8
- params?: GenericParams;
7
+ responseType?: 'json';
9
8
  };
10
9
  export interface BaseParams {
11
10
  url: string;
12
11
  urlParams?: GenericParams;
13
- params?: HeaderParams;
12
+ params?: GenericParams;
13
+ header?: HeaderParams;
14
14
  }
15
15
  export declare type GetParams = BaseParams;
16
16
  export declare type DeleteParams = BaseParams;
17
17
  export declare type PostParams<B = any | FormData> = BaseParams & {
18
- body: B;
18
+ body?: B;
19
19
  };
20
20
  export declare type PutParams<B = any | FormData> = BaseParams & {
21
- body: B;
21
+ body?: B;
22
22
  };
23
23
  export declare type PatchParams<B = any | FormData> = BaseParams & {
24
- body: B;
24
+ body?: B;
25
25
  };
@@ -8,14 +8,20 @@ export declare abstract class VonRestService {
8
8
  protected sanitizer: DomSanitizer;
9
9
  constructor(http: HttpClient, sanitizer: DomSanitizer);
10
10
  protected setHeaders: (headerParams?: HeaderParams | undefined) => HttpHeaders;
11
- protected setOptions: (headerParams?: HeaderParams | undefined) => VonHttpOptionsModel;
12
- protected setOptionsForFile: (headerParams?: HeaderParams | undefined) => VonHttpOptionsModel;
11
+ protected setOptions: ({ headerParams, params, }: {
12
+ headerParams?: HeaderParams | undefined;
13
+ params?: GenericParams | undefined;
14
+ }) => VonHttpOptionsModel;
15
+ protected setOptionsForFile: ({ headerParams, params, }: {
16
+ headerParams?: HeaderParams | undefined;
17
+ params?: GenericParams | undefined;
18
+ }) => VonHttpOptionsModel;
13
19
  protected setUrlParams: (url: string, params?: GenericParams | undefined) => string;
14
20
  authenticate: (url: string, username: string, password: string) => Observable<any>;
15
- get: <R = any>({ url, urlParams, params }: GetParams) => Observable<R>;
16
- file: ({ url, urlParams, params, }: GetParams) => Observable<SafeResourceUrl>;
17
- delete: <R = any>({ url, urlParams, params, }: DeleteParams) => Observable<R>;
18
- post: <R = any, B = any>({ url, body, urlParams, params, }: PostParams<B>) => Observable<R>;
19
- put: <R = any, B = any>({ url, body, urlParams, params, }: PutParams<B>) => Observable<R>;
20
- patch: <R = any, B = any>({ url, body, urlParams, params, }: PutParams<B>) => Observable<R>;
21
+ get: <R = any>({ url, urlParams, params, header: headerParams, }: GetParams) => Observable<R>;
22
+ file: ({ url, urlParams, params, header: headerParams, }: GetParams) => Observable<SafeResourceUrl>;
23
+ delete: <R = any>({ url, urlParams, params, header: headerParams, }: DeleteParams) => Observable<R>;
24
+ post: <R = any, B = any>({ url, body, urlParams, params, header: headerParams, }: PostParams<B>) => Observable<R>;
25
+ put: <R = any, B = any>({ url, body, urlParams, params, header: headerParams, }: PutParams<B>) => Observable<R>;
26
+ patch: <R = any, B = any>({ url, body, urlParams, params, header: headerParams, }: PutParams<B>) => Observable<R>;
21
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@von-development-studio/angular-rest-service",
3
- "version": "2.0.1-SNAPSHOT",
3
+ "version": "2.0.3-SNAPSHOT",
4
4
  "description": "Angular Rest Service wrapper.",
5
5
  "repository": {
6
6
  "type": "git",