@von-development-studio/angular-rest-service 2.0.3-SNAPSHOT → 2.0.4-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.
@@ -81,25 +81,25 @@ export class VonRestService {
81
81
  };
82
82
  this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
83
83
  url = this.setUrlParams(url, urlParams);
84
- let options = body instanceof FormData
84
+ let options = body && body instanceof FormData
85
85
  ? this.setOptionsForFile({ headerParams, params })
86
86
  : this.setOptions({ headerParams, params });
87
87
  return this.http.post(url, body, options);
88
88
  };
89
89
  this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
90
90
  url = this.setUrlParams(url, urlParams);
91
- let options = body instanceof FormData
91
+ let options = body && body instanceof FormData
92
92
  ? this.setOptionsForFile({ headerParams, params })
93
93
  : this.setOptions({ headerParams, params });
94
94
  return this.http.put(url, body, options);
95
95
  };
96
96
  this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
97
97
  url = this.setUrlParams(url, urlParams);
98
- let options = body instanceof FormData
98
+ let options = body && body instanceof FormData
99
99
  ? this.setOptionsForFile({ headerParams, params })
100
100
  : this.setOptions({ headerParams, params });
101
101
  return this.http.patch(url, body, options);
102
102
  };
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmVzdC1zZXJ2aWNlL3NyYy9saWIvdm9uLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbEQsTUFBTSxPQUFnQixjQUFjO0lBQ2xDLFlBQXNCLElBQWdCLEVBQVksU0FBdUI7UUFBbkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0QsZUFBVSxHQUFHLENBQUMsWUFBMkIsRUFBZSxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxJQUFJLGtCQUFrQjtnQkFDL0QsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksa0JBQWtCO2dCQUNsRCw2QkFBNkIsRUFBRSxHQUFHO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVRLGVBQVUsR0FBRyxDQUFDLEVBQ3RCLFlBQVksRUFDWixNQUFNLEdBSVAsRUFBdUIsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBd0I7Z0JBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDdEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztZQUNGLElBQUksWUFBWSxFQUFFLFlBQVksRUFBRTtnQkFDOUIsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO2FBQ2xEO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBRVEsc0JBQWlCLEdBQUcsQ0FBQyxF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Q04sTUFBTSxFQUFFLFlBQVksR0FDUCxFQUFpQixFQUFFO1lBQ2hDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4QyxJQUFJLE9BQU8sR0FDVCxJQUFJLFlBQVksUUFBUTtnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO1FBRUYsVUFBSyxHQUFHLENBQThCLEVBQ3BDLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQUUsWUFBWSxHQUNQLEVBQWlCLEVBQUU7WUFDaEMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksT0FBTyxHQUNULElBQUksWUFBWSxRQUFRO2dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUksR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUM7SUFsSzBFLENBQUM7Q0FtSzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZvbkh0dHBPcHRpb25zTW9kZWwgfSBmcm9tICcuL21vZGVsL3Zvbi1odHRwLW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRGVsZXRlUGFyYW1zLFxuICBHZW5lcmljUGFyYW1zLFxuICBHZXRQYXJhbXMsXG4gIEhlYWRlclBhcmFtcyxcbiAgUG9zdFBhcmFtcyxcbiAgUHV0UGFyYW1zLFxufSBmcm9tICcuL21vZGVsL3Zvbi1yZXN0LWRlZmluaXRpb24udHlwZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWb25SZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgcHJvdGVjdGVkIHNldEhlYWRlcnMgPSAoaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zKTogSHR0cEhlYWRlcnMgPT4ge1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGhlYWRlclBhcmFtcz8uY29udGVudFR5cGUgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiBoZWFkZXJQYXJhbXM/LmFjY2VwdCA/PyAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25zID0gKHtcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zLFxuICB9OiB7XG4gICAgaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zO1xuICAgIHBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIH0pOiBWb25IdHRwT3B0aW9uc01vZGVsID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBWb25IdHRwT3B0aW9uc01vZGVsID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5zZXRIZWFkZXJzKGhlYWRlclBhcmFtcyksXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9O1xuICAgIGlmIChoZWFkZXJQYXJhbXM/LnJlc3BvbnNlVHlwZSkge1xuICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBoZWFkZXJQYXJhbXMucmVzcG9uc2VUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfTtcblxuICBwcm90ZWN0ZWQgc2V0T3B0aW9uc0ZvckZpbGUgPSAoe1xuICAgIGhlYWRlclBhcmFtcyxcbiAgICBwYXJhbXMsXG4gIH06IHtcbiAgICBoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXM7XG4gICAgcGFyYW1zPzogR2VuZXJpY1BhcmFtcztcbiAgfSk6IFZvbkh0dHBPcHRpb25zTW9kZWwgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFZvbkh0dHBPcHRpb25zTW9kZWwgPSB7XG4gICAgICAuLi50aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KSxcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIEFjY2VwdDogaGVhZGVyUGFyYW1zPy5hY2NlcHQgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBpZiAoaGVhZGVyUGFyYW1zPy5yZXNwb25zZVR5cGUpIHtcbiAgICAgIG9wdGlvbnMucmVzcG9uc2VUeXBlID0gaGVhZGVyUGFyYW1zLnJlc3BvbnNlVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH07XG5cbiAgcHJvdGVjdGVkIHNldFVybFBhcmFtcyA9ICh1cmw6IHN0cmluZywgcGFyYW1zPzogR2VuZXJpY1BhcmFtcykgPT4ge1xuICAgIGlmIChwYXJhbXMgIT0gbnVsbCkge1xuICAgICAgZm9yIChjb25zdCBwIGluIHBhcmFtcykge1xuICAgICAgICBpZiAocCAhPSBudWxsKSB7XG4gICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoYHske3B9fWAsIHBhcmFtc1twXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBhdXRoZW50aWNhdGUgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGJ0b2EoYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBhdXRob3JpemF0aW9uOiBgQmFzaWMgJHthdXRob3JpemF0aW9ufWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSksIHNoYXJlKCkpO1xuICB9O1xuXG4gIGdldCA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IEdldFBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBmaWxlID0gKHtcbiAgICB1cmwsXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgICBoZWFkZXI6IGhlYWRlclBhcmFtcyxcbiAgfTogR2V0UGFyYW1zKTogT2JzZXJ2YWJsZTxTYWZlUmVzb3VyY2VVcmw+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgLi4udGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6IHBhcmFtcz8uY29udGVudFR5cGUgfSk7XG4gICAgICAgICAgY29uc3Qgb2JqVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkID1cbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChvYmpVcmwpO1xuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9O1xuXG4gIGRlbGV0ZSA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IERlbGV0ZVBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBwb3N0ID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFBvc3RQYXJhbXM8Qj4pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgbGV0IG9wdGlvbnMgPVxuICAgICAgYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICAgICAgID8gdGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pXG4gICAgICAgIDogdGhpcy5zZXRPcHRpb25zKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG5cbiAgcHV0ID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFB1dFBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxSPih1cmwsIGJvZHksIG9wdGlvbnMpO1xuICB9O1xuXG4gIHBhdGNoID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFB1dFBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmVzdC1zZXJ2aWNlL3NyYy9saWIvdm9uLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbEQsTUFBTSxPQUFnQixjQUFjO0lBQ2xDLFlBQXNCLElBQWdCLEVBQVksU0FBdUI7UUFBbkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0QsZUFBVSxHQUFHLENBQUMsWUFBMkIsRUFBZSxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxJQUFJLGtCQUFrQjtnQkFDL0QsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksa0JBQWtCO2dCQUNsRCw2QkFBNkIsRUFBRSxHQUFHO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVRLGVBQVUsR0FBRyxDQUFDLEVBQ3RCLFlBQVksRUFDWixNQUFNLEdBSVAsRUFBdUIsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBd0I7Z0JBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDdEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztZQUNGLElBQUksWUFBWSxFQUFFLFlBQVksRUFBRTtnQkFDOUIsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO2FBQ2xEO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBRVEsc0JBQWlCLEdBQUcsQ0FBQyxF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ICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZvbkh0dHBPcHRpb25zTW9kZWwgfSBmcm9tICcuL21vZGVsL3Zvbi1odHRwLW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRGVsZXRlUGFyYW1zLFxuICBHZW5lcmljUGFyYW1zLFxuICBHZXRQYXJhbXMsXG4gIEhlYWRlclBhcmFtcyxcbiAgUG9zdFBhcmFtcyxcbiAgUHV0UGFyYW1zLFxufSBmcm9tICcuL21vZGVsL3Zvbi1yZXN0LWRlZmluaXRpb24udHlwZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWb25SZXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgcHJvdGVjdGVkIHNldEhlYWRlcnMgPSAoaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zKTogSHR0cEhlYWRlcnMgPT4ge1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGhlYWRlclBhcmFtcz8uY29udGVudFR5cGUgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiBoZWFkZXJQYXJhbXM/LmFjY2VwdCA/PyAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25zID0gKHtcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zLFxuICB9OiB7XG4gICAgaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zO1xuICAgIHBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIH0pOiBWb25IdHRwT3B0aW9uc01vZGVsID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBWb25IdHRwT3B0aW9uc01vZGVsID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5zZXRIZWFkZXJzKGhlYWRlclBhcmFtcyksXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9O1xuICAgIGlmIChoZWFkZXJQYXJhbXM/LnJlc3BvbnNlVHlwZSkge1xuICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBoZWFkZXJQYXJhbXMucmVzcG9uc2VUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfTtcblxuICBwcm90ZWN0ZWQgc2V0T3B0aW9uc0ZvckZpbGUgPSAoe1xuICAgIGhlYWRlclBhcmFtcyxcbiAgICBwYXJhbXMsXG4gIH06IHtcbiAgICBoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXM7XG4gICAgcGFyYW1zPzogR2VuZXJpY1BhcmFtcztcbiAgfSk6IFZvbkh0dHBPcHRpb25zTW9kZWwgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFZvbkh0dHBPcHRpb25zTW9kZWwgPSB7XG4gICAgICAuLi50aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KSxcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIEFjY2VwdDogaGVhZGVyUGFyYW1zPy5hY2NlcHQgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBpZiAoaGVhZGVyUGFyYW1zPy5yZXNwb25zZVR5cGUpIHtcbiAgICAgIG9wdGlvbnMucmVzcG9uc2VUeXBlID0gaGVhZGVyUGFyYW1zLnJlc3BvbnNlVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH07XG5cbiAgcHJvdGVjdGVkIHNldFVybFBhcmFtcyA9ICh1cmw6IHN0cmluZywgcGFyYW1zPzogR2VuZXJpY1BhcmFtcykgPT4ge1xuICAgIGlmIChwYXJhbXMgIT0gbnVsbCkge1xuICAgICAgZm9yIChjb25zdCBwIGluIHBhcmFtcykge1xuICAgICAgICBpZiAocCAhPSBudWxsKSB7XG4gICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoYHske3B9fWAsIHBhcmFtc1twXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBhdXRoZW50aWNhdGUgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGJ0b2EoYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBhdXRob3JpemF0aW9uOiBgQmFzaWMgJHthdXRob3JpemF0aW9ufWAsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSksIHNoYXJlKCkpO1xuICB9O1xuXG4gIGdldCA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IEdldFBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBmaWxlID0gKHtcbiAgICB1cmwsXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgICBoZWFkZXI6IGhlYWRlclBhcmFtcyxcbiAgfTogR2V0UGFyYW1zKTogT2JzZXJ2YWJsZTxTYWZlUmVzb3VyY2VVcmw+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgLi4udGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtyZXNdLCB7IHR5cGU6IHBhcmFtcz8uY29udGVudFR5cGUgfSk7XG4gICAgICAgICAgY29uc3Qgb2JqVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkID1cbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChvYmpVcmwpO1xuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9O1xuXG4gIGRlbGV0ZSA9IDxSID0gYW55Pih7XG4gICAgdXJsLFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IERlbGV0ZVBhcmFtcyk6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxSPih1cmwsIHRoaXMuc2V0T3B0aW9ucyh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pKTtcbiAgfTtcblxuICBwb3N0ID0gPFIgPSBhbnksIEIgPSBhbnkgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBwYXJhbXMsXG4gICAgaGVhZGVyOiBoZWFkZXJQYXJhbXMsXG4gIH06IFBvc3RQYXJhbXM8Qj4pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgbGV0IG9wdGlvbnMgPVxuICAgICAgYm9keSAmJiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCBib2R5LCBvcHRpb25zKTtcbiAgfTtcblxuICBwdXQgPSA8UiA9IGFueSwgQiA9IGFueSB8IEZvcm1EYXRhPih7XG4gICAgdXJsLFxuICAgIGJvZHksXG4gICAgdXJsUGFyYW1zLFxuICAgIHBhcmFtcyxcbiAgICBoZWFkZXI6IGhlYWRlclBhcmFtcyxcbiAgfTogUHV0UGFyYW1zPEI+KTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIGxldCBvcHRpb25zID1cbiAgICAgIGJvZHkgJiYgYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICAgICAgID8gdGhpcy5zZXRPcHRpb25zRm9yRmlsZSh7IGhlYWRlclBhcmFtcywgcGFyYW1zIH0pXG4gICAgICAgIDogdGhpcy5zZXRPcHRpb25zKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8Uj4odXJsLCBib2R5LCBvcHRpb25zKTtcbiAgfTtcblxuICBwYXRjaCA9IDxSID0gYW55LCBCID0gYW55IHwgRm9ybURhdGE+KHtcbiAgICB1cmwsXG4gICAgYm9keSxcbiAgICB1cmxQYXJhbXMsXG4gICAgcGFyYW1zLFxuICAgIGhlYWRlcjogaGVhZGVyUGFyYW1zLFxuICB9OiBQdXRQYXJhbXM8Qj4pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgbGV0IG9wdGlvbnMgPVxuICAgICAgYm9keSAmJiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICAgICAgPyB0aGlzLnNldE9wdGlvbnNGb3JGaWxlKHsgaGVhZGVyUGFyYW1zLCBwYXJhbXMgfSlcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMoeyBoZWFkZXJQYXJhbXMsIHBhcmFtcyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFI+KHVybCwgYm9keSwgb3B0aW9ucyk7XG4gIH07XG59XG4iXX0=
@@ -138,21 +138,21 @@ class VonRestService {
138
138
  };
139
139
  this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
140
140
  url = this.setUrlParams(url, urlParams);
141
- let options = body instanceof FormData
141
+ let options = body && body instanceof FormData
142
142
  ? this.setOptionsForFile({ headerParams, params })
143
143
  : this.setOptions({ headerParams, params });
144
144
  return this.http.post(url, body, options);
145
145
  };
146
146
  this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
147
147
  url = this.setUrlParams(url, urlParams);
148
- let options = body instanceof FormData
148
+ let options = body && body instanceof FormData
149
149
  ? this.setOptionsForFile({ headerParams, params })
150
150
  : this.setOptions({ headerParams, params });
151
151
  return this.http.put(url, body, options);
152
152
  };
153
153
  this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
154
154
  url = this.setUrlParams(url, urlParams);
155
- let options = body instanceof FormData
155
+ let options = body && body instanceof FormData
156
156
  ? this.setOptionsForFile({ headerParams, params })
157
157
  : this.setOptions({ headerParams, params });
158
158
  return this.http.patch(url, body, options);
@@ -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 = ({\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
+ {"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 && 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 && 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 && 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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"}
@@ -142,21 +142,21 @@ class VonRestService {
142
142
  };
143
143
  this.post = ({ url, body, urlParams, params, header: headerParams, }) => {
144
144
  url = this.setUrlParams(url, urlParams);
145
- let options = body instanceof FormData
145
+ let options = body && body instanceof FormData
146
146
  ? this.setOptionsForFile({ headerParams, params })
147
147
  : this.setOptions({ headerParams, params });
148
148
  return this.http.post(url, body, options);
149
149
  };
150
150
  this.put = ({ url, body, urlParams, params, header: headerParams, }) => {
151
151
  url = this.setUrlParams(url, urlParams);
152
- let options = body instanceof FormData
152
+ let options = body && body instanceof FormData
153
153
  ? this.setOptionsForFile({ headerParams, params })
154
154
  : this.setOptions({ headerParams, params });
155
155
  return this.http.put(url, body, options);
156
156
  };
157
157
  this.patch = ({ url, body, urlParams, params, header: headerParams, }) => {
158
158
  url = this.setUrlParams(url, urlParams);
159
- let options = body instanceof FormData
159
+ let options = body && body instanceof FormData
160
160
  ? this.setOptionsForFile({ headerParams, params })
161
161
  : this.setOptions({ headerParams, params });
162
162
  return this.http.patch(url, body, options);
@@ -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 = ({\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
+ {"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 && 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 && 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 && 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@von-development-studio/angular-rest-service",
3
- "version": "2.0.3-SNAPSHOT",
3
+ "version": "2.0.4-SNAPSHOT",
4
4
  "description": "Angular Rest Service wrapper.",
5
5
  "repository": {
6
6
  "type": "git",