Better dev server integration
This commit is contained in:
48
server.js
48
server.js
@ -1,34 +1,26 @@
|
||||
const http = require("http")
|
||||
const throng = require("throng")
|
||||
const createServer = require("./server/createServer")
|
||||
const path = require("path");
|
||||
const throng = require("throng");
|
||||
const createServer = require("./server/createServer");
|
||||
const createDevServer = require("./server/createDevServer");
|
||||
|
||||
const port = parseInt(process.env.PORT, 10) || 5000
|
||||
const port = parseInt(process.env.PORT, 10) || 5000;
|
||||
|
||||
function startServer(id) {
|
||||
const server = http.createServer(createServer())
|
||||
const server =
|
||||
process.env.NODE_ENV === "production"
|
||||
? createServer(
|
||||
path.resolve(__dirname, "public"),
|
||||
path.resolve(__dirname, "server/stats.json")
|
||||
)
|
||||
: createDevServer(
|
||||
path.resolve(__dirname, "public"),
|
||||
require("./webpack.config"),
|
||||
`http://localhost:${port}`
|
||||
);
|
||||
|
||||
// Heroku dynos automatically timeout after 30s. Set our
|
||||
// own timeout here to force sockets to close before that.
|
||||
// https://devcenter.heroku.com/articles/request-timeout
|
||||
server.setTimeout(25000, function(socket) {
|
||||
const message = `Timeout of 25 seconds exceeded`
|
||||
|
||||
socket.end(
|
||||
[
|
||||
"HTTP/1.1 503 Service Unavailable",
|
||||
"Date: " + new Date().toGMTString(),
|
||||
"Content-Length: " + Buffer.byteLength(message),
|
||||
"Content-Type: text/plain",
|
||||
"Connection: close",
|
||||
"",
|
||||
message
|
||||
].join("\r\n")
|
||||
)
|
||||
})
|
||||
|
||||
server.listen(port, function() {
|
||||
console.log("Server #%s listening on port %s, Ctrl+C to stop", id, port)
|
||||
})
|
||||
server.listen(port, () => {
|
||||
console.log("Server #%s listening on port %s, Ctrl+C to stop", id, port);
|
||||
});
|
||||
}
|
||||
|
||||
throng({
|
||||
@ -36,4 +28,4 @@ throng({
|
||||
lifetime: Infinity,
|
||||
grace: 25000,
|
||||
start: startServer
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user