@universis/common
Version:
Universis - common directives and services
25 lines (24 loc) • 3.38 kB
JavaScript
import { HttpEventType } from '@angular/common/http';
import { Observable } from 'rxjs';
import { TestRequest } from '@angular/common/http/testing';
export class ApiTestingInterceptor {
constructor(httpController) {
this.httpController = httpController;
//
}
intercept(req, next) {
const requestMapper = this.httpController.find(req);
if (requestMapper == null) {
return next.handle(req);
}
return new Observable((observer) => {
// create an instance of test request
const testReq = new TestRequest(req, observer);
// call request mapper
requestMapper.call(null, testReq);
// finalize
return observer.next({ type: HttpEventType.Sent });
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXRlc3RpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL2NvbW1vbi90ZXN0aW5nLyIsInNvdXJjZXMiOlsiYXBpLXRlc3RpbmcuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLGFBQWEsRUFBNEMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUd6RCxNQUFNO0lBRUYsWUFBb0IsY0FBb0M7UUFBcEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BELEVBQUU7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixxQ0FBcUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLHNCQUFzQjtZQUN0QixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxXQUFXO1lBQ1gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUZXN0UmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAvdGVzdGluZyc7XG5pbXBvcnQge0FwaVRlc3RpbmdDb250cm9sbGVyfSBmcm9tICcuL2FwaS10ZXN0aW5nLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBBcGlUZXN0aW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ29udHJvbGxlcjogQXBpVGVzdGluZ0NvbnRyb2xsZXIpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdE1hcHBlciA9IHRoaXMuaHR0cENvbnRyb2xsZXIuZmluZChyZXEpO1xuICAgICAgICBpZiAocmVxdWVzdE1hcHBlciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGVzdCByZXF1ZXN0XG4gICAgICAgICAgICBjb25zdCB0ZXN0UmVxID0gbmV3IFRlc3RSZXF1ZXN0KHJlcSwgb2JzZXJ2ZXIpO1xuICAgICAgICAgICAgLy8gY2FsbCByZXF1ZXN0IG1hcHBlclxuICAgICAgICAgICAgcmVxdWVzdE1hcHBlci5jYWxsKG51bGwsIHRlc3RSZXEpO1xuICAgICAgICAgICAgLy8gZmluYWxpemVcbiAgICAgICAgICAgIHJldHVybiBvYnNlcnZlci5uZXh0KHsgdHlwZTogSHR0cEV2ZW50VHlwZS5TZW50IH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=