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); }); }