2018-09-27 21:10:53 +02:00
|
|
|
import http from 'http'
|
2018-09-28 14:05:23 +02:00
|
|
|
import next from '../next'
|
2018-09-27 21:10:53 +02:00
|
|
|
|
|
|
|
export default async function start (serverOptions, port, hostname) {
|
2018-09-28 14:05:23 +02:00
|
|
|
const app = next(serverOptions)
|
2018-09-27 21:10:53 +02:00
|
|
|
await app.prepare()
|
|
|
|
const srv = http.createServer(app.getRequestHandler())
|
|
|
|
await new Promise((resolve, reject) => {
|
|
|
|
// This code catches EADDRINUSE error if the port is already in use
|
|
|
|
srv.on('error', reject)
|
|
|
|
srv.on('listening', () => resolve())
|
|
|
|
srv.listen(port, hostname)
|
|
|
|
})
|
|
|
|
}
|