mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
change: log messages in ExpressHttpServer
This commit is contained in:
parent
aaa49219dc
commit
6212c15352
@ -2,9 +2,12 @@ import type { Server } from 'http';
|
||||
import cors from 'cors';
|
||||
import type { Express } from 'express';
|
||||
import express from 'express';
|
||||
import { getLoggerFor } from '../logging/LogUtil';
|
||||
import type { HttpHandler } from './HttpHandler';
|
||||
|
||||
export class ExpressHttpServer {
|
||||
protected readonly logger = getLoggerFor(this);
|
||||
|
||||
private readonly handler: HttpHandler;
|
||||
|
||||
public constructor(handler: HttpHandler) {
|
||||
@ -35,10 +38,11 @@ export class ExpressHttpServer {
|
||||
// Delegate to the main handler
|
||||
app.use(async(request, response, done): Promise<void> => {
|
||||
try {
|
||||
this.logger.log('info', `Received request for ${request.url}`);
|
||||
await this.handler.handleSafe({ request, response });
|
||||
} catch (error: unknown) {
|
||||
const errMsg = error instanceof Error ? `${error.name}: ${error.message}\n${error.stack}` : 'Unknown error.';
|
||||
process.stderr.write(errMsg);
|
||||
this.logger.log('error', errMsg);
|
||||
response.status(500).contentType('text/plain').send(errMsg);
|
||||
} finally {
|
||||
done();
|
||||
|
@ -1,5 +1,7 @@
|
||||
import type { Server } from 'http';
|
||||
import request from 'supertest';
|
||||
import { LazyLoggerFactory } from '../../../src/logging/LazyLoggerFactory';
|
||||
import { VoidLoggerFactory } from '../../../src/logging/VoidLoggerFactory';
|
||||
import { ExpressHttpServer } from '../../../src/server/ExpressHttpServer';
|
||||
import { HttpHandler } from '../../../src/server/HttpHandler';
|
||||
import type { HttpRequest } from '../../../src/server/HttpRequest';
|
||||
@ -31,6 +33,7 @@ describe('ExpressHttpServer', (): void => {
|
||||
beforeAll(async(): Promise<void> => {
|
||||
// Prevent test from writing to stderr
|
||||
mock = jest.spyOn(process.stderr, 'write').mockImplementation((): boolean => true);
|
||||
LazyLoggerFactory.getInstance().setLoggerFactory(new VoidLoggerFactory());
|
||||
});
|
||||
|
||||
beforeEach(async(): Promise<void> => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user