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); // })); } }