UNPKG

flagpole

Version:

Simple and fast DOM integration, headless or headful browser, and REST API testing framework.

54 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const http = require("http"); class Server { constructor() { this._httpPort = 3000; this._requestHandler = (request, response) => { console.log(request.url); response.end('Hello Node.js Server!'); }; console.log('creating server'); this._server = http.createServer(this._requestHandler); console.log(this._server); } get isListening() { return this._server.listening; } get httpPort() { return this._httpPort; } set httpPort(value) { this._httpPort = value; } listen(port) { if (this.isListening) { throw new Error('HTTP Server is already listening.'); } return new Promise((resolve, reject) => { if (typeof port != 'undefined' && port > 0) { this._httpPort = Math.ceil(port); } this._server.listen(this._httpPort, (err) => { if (err) { return reject(`Could not listen on port ${this._httpPort}: ${err}`); } resolve(); }); }); } close() { return new Promise((resolve) => { if (this.isListening) { this._server.close(() => { resolve(); }); } else { resolve(); } }); } } exports.Server = Server; //# sourceMappingURL=server.js.map