You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.7 KiB
JavaScript
68 lines
2.7 KiB
JavaScript
/*
|
|
* Copyright 2021 Netsyms Technologies.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
const http_port = 36744; // dialed ENSIG on phone keypad (eNotary Signature)
|
|
var http = require('http');
|
|
var server = http.createServer(function (req, res) {
|
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
|
|
if (req.method == "GET") {
|
|
console.log("Serving " + req.url);
|
|
switch (req.url) {
|
|
case "/":
|
|
res.writeHead(200, {'Content-Type': 'text/html'});
|
|
var index = getFileAsString("./sigserver/index.html");
|
|
index = index.replace("theme-BLANK", "theme-" + getStorage("color_theme"));
|
|
res.end(index);
|
|
break;
|
|
case "/bootstrap.min.css":
|
|
res.writeHead(200, {'Content-Type': 'text/css'});
|
|
res.end(getFileAsString("./css/bootstrap.min.css"));
|
|
break;
|
|
case "/theme.css":
|
|
res.writeHead(200, {'Content-Type': 'text/css'});
|
|
res.end(getFileAsString("./css/theme.css"));
|
|
break;
|
|
case "/fontawesome/all.min.js":
|
|
res.writeHead(200, {'Content-Type': 'text/javascript'});
|
|
res.end(getFileAsString("./node_modules/@fortawesome/fontawesome-free/js/all.min.js"));
|
|
break;
|
|
case "/signature_pad.umd.min.js":
|
|
res.writeHead(200, {'Content-Type': 'text/javascript'});
|
|
res.end(getFileAsString("./node_modules/signature_pad/dist/signature_pad.umd.min.js"));
|
|
break;
|
|
case "/img/signature-line.svg":
|
|
res.writeHead(200, {'Content-Type': 'image/svg+xml'});
|
|
res.end(getFileAsString("./img/signature-line.svg"));
|
|
break;
|
|
default:
|
|
res.writeHead(404);
|
|
res.end("404 not found.");
|
|
}
|
|
} else if (req.method == "POST") {
|
|
var body = '';
|
|
req.on('data', function (data) {
|
|
body += data;
|
|
});
|
|
req.on('end', function () {
|
|
handleRemoteSignatureData(JSON.parse(body));
|
|
});
|
|
res.writeHead(201);
|
|
}
|
|
});
|
|
server.listen(http_port); //3 - listen for any incoming requests
|
|
console.log('Signature collection pad service running on port ' + http_port + '.');
|
|
|
|
function getSignatureServerUrl() {
|
|
const prepareUrls = require('local-ip-url/prepareUrls');
|
|
var urls = prepareUrls({
|
|
protocol: 'http',
|
|
host: '0.0.0.0',
|
|
port: http_port
|
|
});
|
|
return urls.lanUrl;
|
|
} |