mirror of
https://github.com/misenhower/splatoon3.ink.git
synced 2026-03-21 17:54:13 -05:00
33 lines
610 B
JavaScript
33 lines
610 B
JavaScript
import http from 'http';
|
|
import sirv from 'sirv';
|
|
|
|
export default class HttpServer
|
|
{
|
|
/** @member {http.Server} */
|
|
_server = null;
|
|
|
|
get port() {
|
|
return this._server.address().port;
|
|
}
|
|
|
|
open() {
|
|
return new Promise((resolve, reject) => {
|
|
if (this._server) {
|
|
return resolve();
|
|
}
|
|
|
|
const handler = sirv('./dist');
|
|
this._server = http.createServer(handler);
|
|
this._server.on('listening', () => resolve());
|
|
this._server.listen();
|
|
});
|
|
}
|
|
|
|
async close() {
|
|
if (this._server) {
|
|
await this._server.close();
|
|
this._server = null;
|
|
}
|
|
}
|
|
}
|