| 
							- const package = require("./package.json");
 - 
 - const exec = require('child_process').execSync;
 - 
 - const fs = require("fs");
 - const path = require("path");
 - const express = require("express");
 - const app = express();
 - 
 - const http = require("http");
 - const https = require("https");
 - 
 - var production = process.env.PRODUCTION || false;
 - var port = process.env.NESPORT || 80;
 - var portSSL = process.env.NESPORTSSL || 443;
 - var sslKeyPath = process.env.SSLKEYPATH || null;
 - var sslCertPath = process.env.SSLCERTPATH || null;
 - var sslCaPath = process.env.SSLCAPATH || null;
 - 
 - function GenVersion(){
 -   var v = package.version;
 -   // Testing for a GIT repo... if not in a production environment.
 -   if (production === false){
 -     try{
 -       var res = exec("git rev-parse --abbrev-ref HEAD").toString();
 -       v += "-[" + res.trim();
 - 
 -       res = exec("git rev-parse HEAD").toString();
 -       v += ":" + res.substring(0, 5) + "]";
 -     } catch(e) {
 -       if (v !== package.version){
 -         v += "]"; // If v doesn't match package.version, then assume that the first git call worked.
 -       }
 -     }
 -   }
 - 
 -   return v;
 - }
 - var version = GenVersion();
 - 
 - app.set('views', path.join(__dirname, "/views"));
 - app.engine('html', require('ejs').renderFile);
 - app.set('view engine', 'html');
 - app.use("/app", express.static(path.join(__dirname, "/app")));
 - app.get('/', function(req, res){
 -   res.render('index.html', {version:version, author:package.author});
 - });
 - 
 - 
 - console.log("NESPaint (v" + version + ") Server");
 - 
 - if (sslKeyPath !== null && sslCertPath !== null){
 -   try {
 -     var options = {
 -       key: fs.readFileSync(sslKeyPath),
 -       cert: fs.readFileSync(sslCertPath)
 -     }
 -     if (sslCaPath !== null)
 -       options.ca = fs.readFileSync(sslCaPath);
 - 
 -     app.use(function(req, res, next){
 -       if (req.secure){
 -         next();
 -       } else {
 -         res.redirect('https://' + req.headers.host + req.url);
 -       }
 -     });
 -     
 -     https.createServer(options, app).listen(portSSL, () => {
 -       console.log("HTTPS Listening on port " + portSSL + "!");
 -     });
 -   } catch (e) {
 -     console.log("WARNING: Failed to initialize HTTPS server. \"" + e.toString() + "\"");
 -   } 
 - }
 - 
 - http.createServer(app).listen(port, () => {
 -   console.log("HTTP Listening on port " + port + "!");
 - });
 - 
 - 
 - 
 - 
 - 
 - 
 
 
  |