add logging and http error intercept back
This commit is contained in:
parent
e6be3efd9b
commit
836c4c03b3
@ -1,6 +1,7 @@
|
||||
// @ts-ignore
|
||||
import * as registry from '@src/assets/js/block-sync/data/Registry.json';
|
||||
import {environment} from '@src/environments/environment';
|
||||
import {LoggingService} from '@app/_services/logging.service';
|
||||
const Web3 = require('web3');
|
||||
|
||||
const web3 = new Web3(environment.web3Provider);
|
||||
@ -27,6 +28,12 @@ export class Registry {
|
||||
|
||||
public async addressOf(identifier: string): Promise<string> {
|
||||
const id = '0x' + web3.utils.padRight(new Buffer(identifier).toString('hex'), 64);
|
||||
return await this.contract.methods.addressOf(id).call();
|
||||
try {
|
||||
return await this.contract.methods.addressOf(id).call();
|
||||
} catch (error) {
|
||||
// TODO logger service
|
||||
// this.loggingService.sendInfoLevelMessage
|
||||
console.log('Unable to fetch addressOf', error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,30 +20,30 @@ export class ErrorInterceptor implements HttpInterceptor {
|
||||
) {}
|
||||
|
||||
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
|
||||
// return next.handle(request).pipe(
|
||||
// catchError((err: HttpErrorResponse) => {
|
||||
// let errorMessage;
|
||||
// if (err.error instanceof ErrorEvent) {
|
||||
// // A client-side or network error occurred. Handle it accordingly.
|
||||
// errorMessage = `An error occurred: ${err.error.message}`;
|
||||
// } else {
|
||||
// // The backend returned an unsuccessful response code.
|
||||
// // The response body may contain clues as to what went wrong.
|
||||
// errorMessage = `Backend returned code ${err.status}, body was: ${JSON.stringify(err.error)}`;
|
||||
// }
|
||||
// this.loggingService.sendErrorLevelMessage(errorMessage, this, {error: err});
|
||||
// switch (err.status) {
|
||||
// case 401: // unauthorized
|
||||
// this.router.navigateByUrl('/auth').then();
|
||||
// break;
|
||||
// case 403: // forbidden
|
||||
// location.reload(true);
|
||||
// break;
|
||||
// }
|
||||
// // Return an observable with a user-facing error message.
|
||||
// return throwError(err);
|
||||
// })
|
||||
// );
|
||||
return next.handle(request).pipe(
|
||||
catchError((err: HttpErrorResponse) => {
|
||||
let errorMessage;
|
||||
if (err.error instanceof ErrorEvent) {
|
||||
// A client-side or network error occurred. Handle it accordingly.
|
||||
errorMessage = `An error occurred: ${err.error.message}`;
|
||||
} else {
|
||||
// The backend returned an unsuccessful response code.
|
||||
// The response body may contain clues as to what went wrong.
|
||||
errorMessage = `Backend returned code ${err.status}, body was: ${JSON.stringify(err.error)}`;
|
||||
}
|
||||
this.loggingService.sendErrorLevelMessage(errorMessage, this, {error: err});
|
||||
switch (err.status) {
|
||||
case 401: // unauthorized
|
||||
this.router.navigateByUrl('/auth').then();
|
||||
break;
|
||||
case 403: // forbidden
|
||||
location.reload(true);
|
||||
break;
|
||||
}
|
||||
// Return an observable with a user-facing error message.
|
||||
return throwError(err);
|
||||
})
|
||||
);
|
||||
return next.handle(request);
|
||||
}
|
||||
}
|
||||
|
@ -19,20 +19,20 @@ export class LoggingInterceptor implements HttpInterceptor {
|
||||
|
||||
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
|
||||
return next.handle(request);
|
||||
// this.loggingService.sendInfoLevelMessage(request);
|
||||
// const startTime = Date.now();
|
||||
// let status: string;
|
||||
this.loggingService.sendInfoLevelMessage(request);
|
||||
const startTime = 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 = Date.now() - startTime;
|
||||
// const message = `${request.method} request for ${request.urlWithParams} ${status} in ${elapsedTime} ms`;
|
||||
// this.loggingService.sendInfoLevelMessage(message);
|
||||
// }));
|
||||
return next.handle(request).pipe(tap(event => {
|
||||
status = '';
|
||||
if (event instanceof HttpResponse) {
|
||||
status = 'succeeded';
|
||||
}
|
||||
}, error => status = 'failed'),
|
||||
finalize(() => {
|
||||
const elapsedTime = Date.now() - startTime;
|
||||
const message = `${request.method} request for ${request.urlWithParams} ${status} in ${elapsedTime} ms`;
|
||||
this.loggingService.sendInfoLevelMessage(message);
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
@ -27,9 +27,11 @@ export class AccountsComponent implements OnInit {
|
||||
private userService: UserService,
|
||||
private loggingService: LoggingService,
|
||||
private router: Router
|
||||
) {
|
||||
)
|
||||
{
|
||||
(async () => {
|
||||
try {
|
||||
// TODO it feels like this shuold be in the onInit handler
|
||||
await this.userService.loadAccounts(100);
|
||||
} catch (error) {
|
||||
this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, {error});
|
||||
|
Loading…
Reference in New Issue
Block a user