add logging and http error intercept back

This commit is contained in:
Blair Vanderlugt 2021-04-23 20:54:40 -07:00
parent e6be3efd9b
commit 836c4c03b3
4 changed files with 49 additions and 40 deletions

View File

@ -1,6 +1,7 @@
// @ts-ignore // @ts-ignore
import * as registry from '@src/assets/js/block-sync/data/Registry.json'; import * as registry from '@src/assets/js/block-sync/data/Registry.json';
import {environment} from '@src/environments/environment'; import {environment} from '@src/environments/environment';
import {LoggingService} from '@app/_services/logging.service';
const Web3 = require('web3'); const Web3 = require('web3');
const web3 = new Web3(environment.web3Provider); const web3 = new Web3(environment.web3Provider);
@ -27,6 +28,12 @@ export class Registry {
public async addressOf(identifier: string): Promise<string> { public async addressOf(identifier: string): Promise<string> {
const id = '0x' + web3.utils.padRight(new Buffer(identifier).toString('hex'), 64); const id = '0x' + web3.utils.padRight(new Buffer(identifier).toString('hex'), 64);
try {
return await this.contract.methods.addressOf(id).call(); return await this.contract.methods.addressOf(id).call();
} catch (error) {
// TODO logger service
// this.loggingService.sendInfoLevelMessage
console.log('Unable to fetch addressOf', error)
}
} }
} }

View File

@ -20,30 +20,30 @@ export class ErrorInterceptor implements HttpInterceptor {
) {} ) {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> { intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
// return next.handle(request).pipe( return next.handle(request).pipe(
// catchError((err: HttpErrorResponse) => { catchError((err: HttpErrorResponse) => {
// let errorMessage; let errorMessage;
// if (err.error instanceof ErrorEvent) { if (err.error instanceof ErrorEvent) {
// // A client-side or network error occurred. Handle it accordingly. // A client-side or network error occurred. Handle it accordingly.
// errorMessage = `An error occurred: ${err.error.message}`; errorMessage = `An error occurred: ${err.error.message}`;
// } else { } else {
// // The backend returned an unsuccessful response code. // The backend returned an unsuccessful response code.
// // The response body may contain clues as to what went wrong. // The response body may contain clues as to what went wrong.
// errorMessage = `Backend returned code ${err.status}, body was: ${JSON.stringify(err.error)}`; errorMessage = `Backend returned code ${err.status}, body was: ${JSON.stringify(err.error)}`;
// } }
// this.loggingService.sendErrorLevelMessage(errorMessage, this, {error: err}); this.loggingService.sendErrorLevelMessage(errorMessage, this, {error: err});
// switch (err.status) { switch (err.status) {
// case 401: // unauthorized case 401: // unauthorized
// this.router.navigateByUrl('/auth').then(); this.router.navigateByUrl('/auth').then();
// break; break;
// case 403: // forbidden case 403: // forbidden
// location.reload(true); location.reload(true);
// break; break;
// } }
// // Return an observable with a user-facing error message. // Return an observable with a user-facing error message.
// return throwError(err); return throwError(err);
// }) })
// ); );
return next.handle(request); return next.handle(request);
} }
} }

View File

@ -19,20 +19,20 @@ export class LoggingInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> { intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
return next.handle(request); return next.handle(request);
// this.loggingService.sendInfoLevelMessage(request); this.loggingService.sendInfoLevelMessage(request);
// const startTime = Date.now(); const startTime = Date.now();
// let status: string; let status: string;
// return next.handle(request).pipe(tap(event => { return next.handle(request).pipe(tap(event => {
// status = ''; status = '';
// if (event instanceof HttpResponse) { if (event instanceof HttpResponse) {
// status = 'succeeded'; status = 'succeeded';
// } }
// }, error => status = 'failed'), }, error => status = 'failed'),
// finalize(() => { finalize(() => {
// const elapsedTime = Date.now() - startTime; const elapsedTime = Date.now() - startTime;
// const message = `${request.method} request for ${request.urlWithParams} ${status} in ${elapsedTime} ms`; const message = `${request.method} request for ${request.urlWithParams} ${status} in ${elapsedTime} ms`;
// this.loggingService.sendInfoLevelMessage(message); this.loggingService.sendInfoLevelMessage(message);
// })); }));
} }
} }

View File

@ -27,9 +27,11 @@ export class AccountsComponent implements OnInit {
private userService: UserService, private userService: UserService,
private loggingService: LoggingService, private loggingService: LoggingService,
private router: Router private router: Router
) { )
{
(async () => { (async () => {
try { try {
// TODO it feels like this shuold be in the onInit handler
await this.userService.loadAccounts(100); await this.userService.loadAccounts(100);
} catch (error) { } catch (error) {
this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, {error}); this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, {error});