Browse Source

Don't use getters

pull/2/head
Luke Childs 7 years ago
parent
commit
a2d959d5ee
  1. 28
      src/index.js

28
src/index.js

@ -10,34 +10,26 @@ const createCert = require('create-cert');
const createTestServer = opts => createCert(opts && opts.certificate) const createTestServer = opts => createCert(opts && opts.certificate)
.then(cert => { .then(cert => {
const app = express(); const app = express();
app.caCert = cert.caKeys.cert;
Object.defineProperty(app, 'url', {
get: () => typeof app.port === 'undefined' ? undefined : `http://localhost:${app.port}`
});
Object.defineProperty(app, 'sslUrl', {
get: () => typeof app.sslPort === 'undefined' ? undefined : `https://localhost:${app.sslPort}`
});
const server = http.createServer(app); const server = http.createServer(app);
const sslServer = https.createServer(cert.keys, app); const sslServer = https.createServer(cert.keys, app);
app.caCert = cert.caKeys.cert;
app.listen = () => Promise.all([ app.listen = () => Promise.all([
getPort().then(port => { getPort().then(port => pify(server.listen.bind(server))(port).then(() => {
app.port = port; app.url = `http://localhost:${port}`;
return pify(server.listen.bind(server))(port); })),
}), getPort().then(sslPort => pify(sslServer.listen.bind(sslServer))(sslPort).then(() => {
getPort().then(sslPort => { app.sslUrl = `https://localhost:${sslPort}`;
app.sslPort = sslPort; }))
return pify(sslServer.listen.bind(sslServer))(sslPort);
})
]); ]);
app.close = () => Promise.all([ app.close = () => Promise.all([
pify(server.close.bind(server))().then(() => { pify(server.close.bind(server))().then(() => {
app.port = undefined; app.url = undefined;
}), }),
pify(sslServer.close.bind(sslServer))().then(() => { pify(sslServer.close.bind(sslServer))().then(() => {
app.sslPort = undefined; app.sslUrl = undefined;
}) })
]); ]);

Loading…
Cancel
Save