57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
const express = require("express");
|
|
const cors = require("cors");
|
|
const bodyParser = require("body-parser");
|
|
const path = require("path");
|
|
const compression = require("compression");
|
|
var enforce = require("express-sslify");
|
|
if (process.env.NODE_ENV !== "production") require("dotenv").config();
|
|
|
|
const https = require("https");
|
|
const fs = require("fs");
|
|
|
|
if (process.env.NODE_ENV === "development" || !process.env.NODE_ENV) {
|
|
var key = fs.readFileSync("server.key");
|
|
var cert = fs.readFileSync("server.cert");
|
|
var options = {
|
|
key: key,
|
|
cert: cert
|
|
};
|
|
}
|
|
|
|
const app = express();
|
|
const port = process.env.PORT || 5000;
|
|
|
|
app.use(compression());
|
|
app.use(bodyParser.json());
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
app.use(enforce.HTTPS({ trustProtoHeader: true }));
|
|
app.use(cors());
|
|
|
|
if (process.env.NODE_ENV === "production") {
|
|
app.use(express.static(path.join(__dirname, "client/build")));
|
|
|
|
app.get("/service-worker.js", (req, res) => {
|
|
res.sendFile(path.resolve(__dirname, "..", "build", "service-worker.js"));
|
|
});
|
|
|
|
app.get("*", function(req, res) {
|
|
res.sendFile(path.join(__dirname, "client/build", "index.html"));
|
|
});
|
|
}
|
|
|
|
var s3upload = require("./s3upload");
|
|
app.post("/sign_s3", s3upload.sign_s3);
|
|
|
|
if (process.env.NODE_ENV === "development" || !process.env.NODE_ENV) {
|
|
var server = https.createServer(options, app);
|
|
|
|
server.listen(port, () => {
|
|
console.log("[DEV] Server starting on port : " + port);
|
|
});
|
|
} else {
|
|
app.listen(port, error => {
|
|
if (error) throw error;
|
|
console.log("Server running on port " + port);
|
|
});
|
|
}
|