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)
.then(cert => {
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 sslServer = https.createServer(cert.keys, app);
app.caCert = cert.caKeys.cert;
app.listen = () => Promise.all([
getPort().then(port => {
app.port = port;
return pify(server.listen.bind(server))(port);
}),
getPort().then(sslPort => {
app.sslPort = sslPort;
return pify(sslServer.listen.bind(sslServer))(sslPort);
})
getPort().then(port => pify(server.listen.bind(server))(port).then(() => {
app.url = `http://localhost:${port}`;
})),
getPort().then(sslPort => pify(sslServer.listen.bind(sslServer))(sslPort).then(() => {
app.sslUrl = `https://localhost:${sslPort}`;
}))
]);
app.close = () => Promise.all([
pify(server.close.bind(server))().then(() => {
app.port = undefined;
app.url = undefined;
}),
pify(sslServer.close.bind(sslServer))().then(() => {
app.sslPort = undefined;
app.sslUrl = undefined;
})
]);

Loading…
Cancel
Save