fix server error interceptor and add log pipe

This commit is contained in:
Dan Percic 2021-09-23 18:49:52 +03:00
parent a16d1db3ab
commit 4f0d8022ed
3 changed files with 15 additions and 3 deletions

View File

@ -16,6 +16,7 @@ import { IqserIconsModule } from './icons';
import { IqserButtonsModule } from './buttons'; import { IqserButtonsModule } from './buttons';
import { IqserScrollbarModule } from './scrollbar'; import { IqserScrollbarModule } from './scrollbar';
import { IqserEmptyStatesModule } from './empty-states'; import { IqserEmptyStatesModule } from './empty-states';
import { LogPipe } from './utils/pipes/log.pipe';
const matModules = [MatIconModule, MatProgressSpinnerModule]; const matModules = [MatIconModule, MatProgressSpinnerModule];
const modules = [ const modules = [
@ -33,8 +34,8 @@ const components = [StatusBarComponent, FullPageLoadingIndicatorComponent, FullP
const pipes = [SortByPipe, HumanizePipe]; const pipes = [SortByPipe, HumanizePipe];
@NgModule({ @NgModule({
declarations: [...components, ...pipes], declarations: [...components, ...pipes, LogPipe],
imports: [CommonModule, ...matModules, ...modules], imports: [CommonModule, ...matModules, ...modules],
exports: [...components, ...pipes, ...modules] exports: [...components, ...pipes, ...modules, LogPipe]
}) })
export class CommonUiModule {} export class CommonUiModule {}

View File

@ -19,7 +19,7 @@ function backoffOnServerError(maxRetries = 3): MonoTypeOperatorFunction<HttpEven
attempts.pipe( attempts.pipe(
tap(() => (seconds = updateSeconds(seconds))), tap(() => (seconds = updateSeconds(seconds))),
mergeMap((error: HttpErrorResponse, index) => { mergeMap((error: HttpErrorResponse, index) => {
if ((error.status <= 500 && error.status !== 0) || index === maxRetries) { if ((error.status < 500 && error.status !== 0) || index === maxRetries) {
return throwError(error); return throwError(error);
} else { } else {
console.error('An error occurred: ', error); console.error('An error occurred: ', error);

View File

@ -0,0 +1,11 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'log'
})
export class LogPipe implements PipeTransform {
transform<T>(value: T, message = ''): T {
console.log(message, value);
return value;
}
}