UNPKG

@helgoland/core

Version:

68 lines (67 loc) 5.69 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { HttpClient, HttpHandler } from '@angular/common/http'; import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'; /** @type {?} */ export var HTTP_SERVICE_INTERCEPTORS = new InjectionToken('HTTP_SERVICE_INTERCEPTORS'); /** * @record */ export function HttpServiceHandler() { } /** @type {?} */ HttpServiceHandler.prototype.handle; /** * @record */ export function HttpServiceInterceptor() { } /** @type {?} */ HttpServiceInterceptor.prototype.intercept; var HttpService = /** @class */ (function () { function HttpService(httpHandler, interceptors) { this.httpHandler = httpHandler; /** @type {?} */ var handler = { handle: function (req, options) { return httpHandler.handle(req); } }; if (interceptors) { handler = interceptors.reduceRight(function (next, interceptor) { return ({ handle: function (req, options) { return interceptor.intercept(req, options, next); } }); }, handler); } this.handler = handler; } /** * @param {?=} options * @return {?} */ HttpService.prototype.client = /** * @param {?=} options * @return {?} */ function (options) { var _this = this; if (options === void 0) { options = {}; } return new HttpClient({ handle: function (req) { return _this.handler.handle(req, options); } }); }; HttpService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ HttpService.ctorParameters = function () { return [ { type: HttpHandler }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [HTTP_SERVICE_INTERCEPTORS,] }] } ]; }; return HttpService; }()); export { HttpService }; if (false) { /** @type {?} */ HttpService.prototype.handler; /** @type {?} */ HttpService.prototype.httpHandler; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhlbGdvbGFuZC9jb3JlLyIsInNvdXJjZXMiOlsibGliL2RhdGFzZXQtYXBpL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs3RSxXQUFhLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUF5QiwyQkFBMkIsQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7OztJQWU3RyxxQkFDYyxXQUF3QixFQUNhLFlBQTZDO1FBRGxGLGdCQUFXLEdBQVgsV0FBVyxDQUFhOztRQUdsQyxJQUFJLE9BQU8sR0FBdUI7WUFDOUIsTUFBTSxFQUFFLFVBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSyxPQUFBLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQXZCLENBQXVCO1NBQ3BELENBQUM7UUFDRixFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBQyxJQUFJLEVBQUUsV0FBVyxJQUFLLE9BQUEsQ0FBQztnQkFDdkQsTUFBTSxFQUFFLFVBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSyxPQUFBLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBekMsQ0FBeUM7YUFDdEUsQ0FBQyxFQUZ3RCxDQUV4RCxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDMUI7Ozs7O0lBRU0sNEJBQU07Ozs7Y0FBQyxPQUFnQzs7UUFBaEMsd0JBQUEsRUFBQSxZQUFnQztRQUMxQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUM7WUFDbEIsTUFBTSxFQUFFLFVBQUMsR0FBRyxJQUFLLE9BQUEsS0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFqQyxDQUFpQztTQUNyRCxDQUFDLENBQUM7OztnQkF2QlYsVUFBVTs7OztnQkFoQnFCLFdBQVc7Z0RBdUJsQyxRQUFRLFlBQUksTUFBTSxTQUFDLHlCQUF5Qjs7c0JBdkJyRDs7U0FpQmEsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSHR0cFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWwvaW50ZXJuYWwvaHR0cC1yZXF1ZXN0cyc7XG5cbmV4cG9ydCBjb25zdCBIVFRQX1NFUlZJQ0VfSU5URVJDRVBUT1JTID0gbmV3IEluamVjdGlvblRva2VuPEh0dHBTZXJ2aWNlSW50ZXJjZXB0b3I+KCdIVFRQX1NFUlZJQ0VfSU5URVJDRVBUT1JTJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFNlcnZpY2VIYW5kbGVyIHtcbiAgICBoYW5kbGUocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBvcHRpb25zOiBQYXJ0aWFsPEh0dHBSZXF1ZXN0T3B0aW9ucz4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwU2VydmljZUludGVyY2VwdG9yIHtcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBvcHRpb25zOiBQYXJ0aWFsPEh0dHBSZXF1ZXN0T3B0aW9ucz4sIG5leHQ6IEh0dHBTZXJ2aWNlSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBoYW5kbGVyOiBIdHRwU2VydmljZUhhbmRsZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGh0dHBIYW5kbGVyOiBIdHRwSGFuZGxlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChIVFRQX1NFUlZJQ0VfSU5URVJDRVBUT1JTKSBpbnRlcmNlcHRvcnM6IEh0dHBTZXJ2aWNlSW50ZXJjZXB0b3JbXSB8IG51bGxcbiAgICApIHtcbiAgICAgICAgbGV0IGhhbmRsZXI6IEh0dHBTZXJ2aWNlSGFuZGxlciA9IHtcbiAgICAgICAgICAgIGhhbmRsZTogKHJlcSwgb3B0aW9ucykgPT4gaHR0cEhhbmRsZXIuaGFuZGxlKHJlcSlcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGludGVyY2VwdG9ycykge1xuICAgICAgICAgICAgaGFuZGxlciA9IGludGVyY2VwdG9ycy5yZWR1Y2VSaWdodCgobmV4dCwgaW50ZXJjZXB0b3IpID0+ICh7XG4gICAgICAgICAgICAgICAgaGFuZGxlOiAocmVxLCBvcHRpb25zKSA9PiBpbnRlcmNlcHRvci5pbnRlcmNlcHQocmVxLCBvcHRpb25zLCBuZXh0KVxuICAgICAgICAgICAgfSksIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFuZGxlciA9IGhhbmRsZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWVudChvcHRpb25zOiBIdHRwUmVxdWVzdE9wdGlvbnMgPSB7fSk6IEh0dHBDbGllbnQge1xuICAgICAgICByZXR1cm4gbmV3IEh0dHBDbGllbnQoe1xuICAgICAgICAgICAgaGFuZGxlOiAocmVxKSA9PiB0aGlzLmhhbmRsZXIuaGFuZGxlKHJlcSwgb3B0aW9ucylcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19