UNPKG

ngx-http-configure

Version:

Angular (6+) helpers for configure HTTP interceptors and services.

37 lines 4.13 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { HttpParams } from '@angular/common/http'; import { HTTP_OPTION_PREFIX } from './constants'; import { selectorPredicate } from './selector-predicate'; /** * Re-configure a request previously configured with this library. * @param {?} request The current http request * @param {?=} selector Apply params to array else ignore this filters * @return {?} */ export function reconfigure(request, selector) { /** @type {?} */ const predicate = selectorPredicate(selector); const { config, params } = request.params.keys().reduce((/** * @param {?} acc * @param {?} key * @return {?} */ (acc, key) => { /** @type {?} */ const value = request.params.get(key); if (key.startsWith(HTTP_OPTION_PREFIX) && predicate(key)) { /** @type {?} */ const unprefixedKey = key.replace(HTTP_OPTION_PREFIX, ''); acc.config[unprefixedKey] = value; } else { acc.params = acc.params.set(key, value); } return acc; }), { config: {}, params: new HttpParams() }); return { config, request: request.clone({ params }) }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb25maWd1cmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaHR0cC1jb25maWd1cmUvIiwic291cmNlcyI6WyJyZWNvbmZpZ3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQU96RCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQXlCLEVBQUUsUUFBbUI7O1VBQ2xFLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7VUFDdkMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNOzs7OztJQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFOztjQUM3RCxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ3JDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTs7a0JBQ2xELGFBQWEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztZQUN6RCxHQUFHLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNuQzthQUFNO1lBQ0wsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsR0FBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEh0dHBSZWNvbmZpZ3VyZWRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBIVFRQX09QVElPTl9QUkVGSVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzZWxlY3RvclByZWRpY2F0ZSB9IGZyb20gJy4vc2VsZWN0b3ItcHJlZGljYXRlJztcblxuLyoqXG4gKiBSZS1jb25maWd1cmUgYSByZXF1ZXN0IHByZXZpb3VzbHkgY29uZmlndXJlZCB3aXRoIHRoaXMgbGlicmFyeS5cbiAqIEBwYXJhbSByZXF1ZXN0IFRoZSBjdXJyZW50IGh0dHAgcmVxdWVzdFxuICogQHBhcmFtIHNlbGVjdG9yIEFwcGx5IHBhcmFtcyB0byBhcnJheSBlbHNlIGlnbm9yZSB0aGlzIGZpbHRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlY29uZmlndXJlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIHNlbGVjdG9yPzogc3RyaW5nW10pOiBIdHRwUmVjb25maWd1cmVkT3B0aW9ucyB7XG4gIGNvbnN0IHByZWRpY2F0ZSA9IHNlbGVjdG9yUHJlZGljYXRlKHNlbGVjdG9yKTtcbiAgY29uc3QgeyBjb25maWcsIHBhcmFtcyB9ID0gcmVxdWVzdC5wYXJhbXMua2V5cygpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHJlcXVlc3QucGFyYW1zLmdldChrZXkpO1xuICAgIGlmIChrZXkuc3RhcnRzV2l0aChIVFRQX09QVElPTl9QUkVGSVgpICYmIHByZWRpY2F0ZShrZXkpKSB7XG4gICAgICBjb25zdCB1bnByZWZpeGVkS2V5ID0ga2V5LnJlcGxhY2UoSFRUUF9PUFRJT05fUFJFRklYLCAnJyk7XG4gICAgICBhY2MuY29uZmlnW3VucHJlZml4ZWRLZXldID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjYy5wYXJhbXMgPSBhY2MucGFyYW1zLnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgeyBjb25maWc6IHt9LCBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkgfSk7XG4gIHJldHVybiB7IGNvbmZpZywgcmVxdWVzdDogcmVxdWVzdC5jbG9uZSh7IHBhcmFtcyB9KSB9O1xufVxuIl19