@glandjs/http
Version:
A protocol adapter for HTTP built on top of the Gland architecture solution.
40 lines (39 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpServerAdapter = void 0;
const toolkit_1 = require("@medishn/toolkit");
const http_events_1 = require("./http-events");
class HttpServerAdapter {
constructor(instance) {
this.instance = instance;
this.logger = new toolkit_1.Logger({ context: 'HTTP:Adapter' });
this.events = new http_events_1.HttpEventCore('http');
this.events.on('options', this.initialize.bind(this));
}
async close() {
return new Promise((resolve, reject) => {
if (!this.server) {
resolve();
return;
}
;
this.server.close((err) => {
if (err) {
reject(err);
return;
}
this.logger.info('server closed');
resolve();
});
});
}
handleError(error, message) {
this.events.safeEmit('server:crashed', {
message,
error,
stack: error.stack,
});
throw error;
}
}
exports.HttpServerAdapter = HttpServerAdapter;