UNPKG

ngx-http-configure

Version:

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

37 lines 3.53 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 {?} */ var predicate = selectorPredicate(selector); var _a = request.params.keys().reduce((/** * @param {?} acc * @param {?} key * @return {?} */ function (acc, key) { /** @type {?} */ var value = request.params.get(key); if (key.startsWith(HTTP_OPTION_PREFIX) && predicate(key)) { /** @type {?} */ var unprefixedKey = key.replace(HTTP_OPTION_PREFIX, ''); acc.config[unprefixedKey] = value; } else { acc.params = acc.params.set(key, value); } return acc; }), { config: {}, params: new HttpParams() }), config = _a.config, params = _a.params; return { config: config, request: request.clone({ params: params }) }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb25maWd1cmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaHR0cC1jb25maWd1cmUvIiwic291cmNlcyI6WyJyZWNvbmZpZ3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQU96RCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQXlCLEVBQUUsUUFBbUI7O1FBQ2xFLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsSUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7aURBU3NDLEVBVHBDLGtCQUFNLEVBQUUsa0JBUzRCO0lBQzVDLE9BQU8sRUFBRSxNQUFNLFFBQUEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEh0dHBSZWNvbmZpZ3VyZWRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBIVFRQX09QVElPTl9QUkVGSVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzZWxlY3RvclByZWRpY2F0ZSB9IGZyb20gJy4vc2VsZWN0b3ItcHJlZGljYXRlJztcblxuLyoqXG4gKiBSZS1jb25maWd1cmUgYSByZXF1ZXN0IHByZXZpb3VzbHkgY29uZmlndXJlZCB3aXRoIHRoaXMgbGlicmFyeS5cbiAqIEBwYXJhbSByZXF1ZXN0IFRoZSBjdXJyZW50IGh0dHAgcmVxdWVzdFxuICogQHBhcmFtIHNlbGVjdG9yIEFwcGx5IHBhcmFtcyB0byBhcnJheSBlbHNlIGlnbm9yZSB0aGlzIGZpbHRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlY29uZmlndXJlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIHNlbGVjdG9yPzogc3RyaW5nW10pOiBIdHRwUmVjb25maWd1cmVkT3B0aW9ucyB7XG4gIGNvbnN0IHByZWRpY2F0ZSA9IHNlbGVjdG9yUHJlZGljYXRlKHNlbGVjdG9yKTtcbiAgY29uc3QgeyBjb25maWcsIHBhcmFtcyB9ID0gcmVxdWVzdC5wYXJhbXMua2V5cygpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHJlcXVlc3QucGFyYW1zLmdldChrZXkpO1xuICAgIGlmIChrZXkuc3RhcnRzV2l0aChIVFRQX09QVElPTl9QUkVGSVgpICYmIHByZWRpY2F0ZShrZXkpKSB7XG4gICAgICBjb25zdCB1bnByZWZpeGVkS2V5ID0ga2V5LnJlcGxhY2UoSFRUUF9PUFRJT05fUFJFRklYLCAnJyk7XG4gICAgICBhY2MuY29uZmlnW3VucHJlZml4ZWRLZXldID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjYy5wYXJhbXMgPSBhY2MucGFyYW1zLnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgeyBjb25maWc6IHt9LCBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkgfSk7XG4gIHJldHVybiB7IGNvbmZpZywgcmVxdWVzdDogcmVxdWVzdC5jbG9uZSh7IHBhcmFtcyB9KSB9O1xufVxuIl19