import { Injectable } from '@angular/core'; import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse } from '@angular/common/http'; import {Observable} from 'rxjs'; import {LoggingService} from '@app/_services/logging.service'; import {finalize, tap} from 'rxjs/operators'; @Injectable() export class LoggingInterceptor implements HttpInterceptor { constructor( private loggingService: LoggingService ) {} intercept(request: HttpRequest, next: HttpHandler): Observable> { return next.handle(request); // this.loggingService.sendInfoLevelMessage(request); // const startTime: number = Date.now(); // let status: string; // // return next.handle(request).pipe(tap(event => { // status = ''; // if (event instanceof HttpResponse) { // status = 'succeeded'; // } // }, error => status = 'failed'), // finalize(() => { // const elapsedTime: number = Date.now() - startTime; // const message: string = `${request.method} request for ${request.urlWithParams} ${status} in ${elapsedTime} ms`; // this.loggingService.sendInfoLevelMessage(message); // })); } }