UNPKG

@pepperi/ngx-lib

Version:

Pepperi Angular Components and Services

95 lines 12.7 kB
import { Injectable } from '@angular/core'; import { throwError } from 'rxjs'; import { catchError } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "../../common/services/session.service"; import * as i2 from "@angular/common/http"; export class HttpService { constructor(sessionService, http) { this.sessionService = sessionService; this.http = http; } getTextFile(filename) { // The Observable returned by get() is of type Observable<string> // because a text response was specified. // There's no need to pass a <string> type parameter to get(). // return this.http.get(filename, {responseType: 'text'}) // .pipe( // tap( // Log the result or error // data => this.log(filename, data), // error => this.logError(filename, error) // ) // ); } getHttpCall(url, httpOptions = {}) { return this.http.get(url, httpOptions) .pipe(catchError(this.handleError.bind(this))); // .subscribe( // (res) => console.log(''), // (error) => console.log(''), // () => {} // ); } postHttpCall(url, body = {}, httpOptions = {}) { return this.http.post(url, body, httpOptions) .pipe(catchError(this.handleError.bind(this))); // .subscribe( // (res) => console.log(''), // (error) => console.log(''), // () => {} // ); } getWapiApiCall(url, httpOptions = {}) { const wapiBaseUrl = this.sessionService.getWapiBaseUrl(); return this.getHttpCall(`${wapiBaseUrl}${url}`, httpOptions); } postWapiApiCall(url, body = {}, httpOptions = {}) { const wapiBaseUrl = this.sessionService.getWapiBaseUrl(); return this.postHttpCall(`${wapiBaseUrl}${url}`, body, httpOptions); } getPapiApiCall(url, httpOptions = {}) { const papiBaseUrl = this.sessionService.getPapiBaseUrl(); return this.getHttpCall(`${papiBaseUrl}${url}`, httpOptions); } postPapiApiCall(url, body = {}, httpOptions = {}) { const papiBaseUrl = this.sessionService.getPapiBaseUrl(); return this.postHttpCall(`${papiBaseUrl}${url}`, body, httpOptions); } handleError(error) { let errorMessage = 'Unknown error!'; if (error.error instanceof ErrorEvent) { // Client-side errors errorMessage = `Error: ${error.error.message}`; } else { // Server-side errors errorMessage = this.getServerErrorMessage(error); } return throwError(errorMessage); } getServerErrorMessage(error) { switch (error.status) { case 404: { return `Not Found: ${error.message}`; } case 403: { return `Access Denied: ${error.message}`; } case 500: { return `Internal Server Error: ${error.message}`; } default: { return `Unknown Server Error\nError Code: ${error.status}\nMessage: ${error.message}`; } } } } HttpService.ɵfac = function HttpService_Factory(t) { return new (t || HttpService)(i0.ɵɵinject(i1.SessionService), i0.ɵɵinject(i2.HttpClient)); }; HttpService.ɵprov = i0.ɵɵdefineInjectable({ token: HttpService, factory: HttpService.ɵfac, providedIn: 'root' }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(HttpService, [{ type: Injectable, args: [{ providedIn: 'root', }] }], function () { return [{ type: i1.SessionService }, { type: i2.HttpClient }]; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9zcmMvY29yZS9odHRwL3NlcnZpY2VzL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFTLFVBQVUsRUFBTyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQ1ksY0FBOEIsRUFDOUIsSUFBZ0I7UUFEaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUN4QixpRUFBaUU7UUFDakUseUNBQXlDO1FBQ3pDLDhEQUE4RDtRQUM5RCx5REFBeUQ7UUFDekQsYUFBYTtRQUNiLDBDQUEwQztRQUMxQyw0Q0FBNEM7UUFDNUMsa0RBQWtEO1FBQ2xELFlBQVk7UUFDWixLQUFLO0lBQ1QsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDO2FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELGtCQUFrQjtRQUNsQixvQ0FBb0M7UUFDcEMsc0NBQXNDO1FBQ3RDLG1CQUFtQjtRQUNuQixLQUFLO0lBQ1QsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJ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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFBhcmFtcywgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgcmV0cnksIGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRleHRGaWxlKGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICAvLyBUaGUgT2JzZXJ2YWJsZSByZXR1cm5lZCBieSBnZXQoKSBpcyBvZiB0eXBlIE9ic2VydmFibGU8c3RyaW5nPlxyXG4gICAgICAgIC8vIGJlY2F1c2UgYSB0ZXh0IHJlc3BvbnNlIHdhcyBzcGVjaWZpZWQuXHJcbiAgICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIHBhc3MgYSA8c3RyaW5nPiB0eXBlIHBhcmFtZXRlciB0byBnZXQoKS5cclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldChmaWxlbmFtZSwge3Jlc3BvbnNlVHlwZTogJ3RleHQnfSlcclxuICAgICAgICAvLyAgICAgLnBpcGUoXHJcbiAgICAgICAgLy8gICAgICAgICB0YXAoIC8vIExvZyB0aGUgcmVzdWx0IG9yIGVycm9yXHJcbiAgICAgICAgLy8gICAgICAgICBkYXRhID0+IHRoaXMubG9nKGZpbGVuYW1lLCBkYXRhKSxcclxuICAgICAgICAvLyAgICAgICAgIGVycm9yID0+IHRoaXMubG9nRXJyb3IoZmlsZW5hbWUsIGVycm9yKVxyXG4gICAgICAgIC8vICAgICAgICAgKVxyXG4gICAgICAgIC8vICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SHR0cENhbGwodXJsOiBzdHJpbmcsIGh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvci5iaW5kKHRoaXMpKSk7XHJcbiAgICAgICAgLy8gICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgLy8gICAgICAgICAocmVzKSA9PiBjb25zb2xlLmxvZygnJyksXHJcbiAgICAgICAgLy8gICAgICAgICAoZXJyb3IpID0+IGNvbnNvbGUubG9nKCcnKSxcclxuICAgICAgICAvLyAgICAgICAgICgpID0+IHt9XHJcbiAgICAgICAgLy8gKTtcclxuICAgIH1cclxuXHJcbiAgICBwb3N0SHR0cENhbGwodXJsOiBzdHJpbmcsIGJvZHkgPSB7fSwgaHR0cE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgYm9keSwgaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvci5iaW5kKHRoaXMpKSk7XHJcbiAgICAgICAgLy8gICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgLy8gICAgICAgICAocmVzKSA9PiBjb25zb2xlLmxvZygnJyksXHJcbiAgICAgICAgLy8gICAgICAgICAoZXJyb3IpID0+IGNvbnNvbGUubG9nKCcnKSxcclxuICAgICAgICAvLyAgICAgICAgICgpID0+IHt9XHJcbiAgICAgICAgLy8gKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRXYXBpQXBpQ2FsbCh1cmw6IHN0cmluZywgaHR0cE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3Qgd2FwaUJhc2VVcmwgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldFdhcGlCYXNlVXJsKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SHR0cENhbGwoYCR7d2FwaUJhc2VVcmx9JHt1cmx9YCwgaHR0cE9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3RXYXBpQXBpQ2FsbCh1cmw6IHN0cmluZywgYm9keSA9IHt9LCBodHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCB3YXBpQmFzZVVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0V2FwaUJhc2VVcmwoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0SHR0cENhbGwoYCR7d2FwaUJhc2VVcmx9JHt1cmx9YCwgYm9keSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBhcGlBcGlDYWxsKHVybDogc3RyaW5nLCBodHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBwYXBpQmFzZVVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0UGFwaUJhc2VVcmwoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRIdHRwQ2FsbChgJHtwYXBpQmFzZVVybH0ke3VybH1gLCBodHRwT3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zdFBhcGlBcGlDYWxsKHVybDogc3RyaW5nLCBib2R5ID0ge30sIGh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcGlCYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3RIdHRwQ2FsbChgJHtwYXBpQmFzZVVybH0ke3VybH1gLCBib2R5LCBodHRwT3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgbGV0IGVycm9yTWVzc2FnZSA9ICdVbmtub3duIGVycm9yISc7XHJcbiAgICAgICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAvLyBDbGllbnQtc2lkZSBlcnJvcnNcclxuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gYEVycm9yOiAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBTZXJ2ZXItc2lkZSBlcnJvcnNcclxuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFNlcnZlckVycm9yTWVzc2FnZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCAoZXJyb3Iuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNhc2UgNDA0OiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYE5vdCBGb3VuZDogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSA0MDM6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgQWNjZXNzIERlbmllZDogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSA1MDA6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgSW50ZXJuYWwgU2VydmVyIEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYFVua25vd24gU2VydmVyIEVycm9yXFxuRXJyb3IgQ29kZTogJHtlcnJvci5zdGF0dXN9XFxuTWVzc2FnZTogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19