@universis/common
Version:
Universis - common directives and services
24 lines • 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXRlc3RpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0aW5nL3NyYy9hcGktdGVzdGluZy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksYUFBYSxFQUE0QyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR3pELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsWUFBb0IsY0FBb0M7UUFBcEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BELEVBQUU7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixxQ0FBcUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLHNCQUFzQjtZQUN0QixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxXQUFXO1lBQ1gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUZXN0UmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAvdGVzdGluZyc7XG5pbXBvcnQge0FwaVRlc3RpbmdDb250cm9sbGVyfSBmcm9tICcuL2FwaS10ZXN0aW5nLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBBcGlUZXN0aW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ29udHJvbGxlcjogQXBpVGVzdGluZ0NvbnRyb2xsZXIpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdE1hcHBlciA9IHRoaXMuaHR0cENvbnRyb2xsZXIuZmluZChyZXEpO1xuICAgICAgICBpZiAocmVxdWVzdE1hcHBlciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGVzdCByZXF1ZXN0XG4gICAgICAgICAgICBjb25zdCB0ZXN0UmVxID0gbmV3IFRlc3RSZXF1ZXN0KHJlcSwgb2JzZXJ2ZXIpO1xuICAgICAgICAgICAgLy8gY2FsbCByZXF1ZXN0IG1hcHBlclxuICAgICAgICAgICAgcmVxdWVzdE1hcHBlci5jYWxsKG51bGwsIHRlc3RSZXEpO1xuICAgICAgICAgICAgLy8gZmluYWxpemVcbiAgICAgICAgICAgIHJldHVybiBvYnNlcnZlci5uZXh0KHsgdHlwZTogSHR0cEV2ZW50VHlwZS5TZW50IH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=