catapult
Version:
Game development asset server. Monitors files for changes and notifies clients of changes, serves spreadsheets as json.
30 lines (23 loc) • 1.16 kB
JavaScript
// Executes nodejs script for serving manifests
var port = 8000;
var path = require('path');
var http = require('http');
var assetsPath = process.argv[2] || './';
var catapult = require(path.join(__dirname, '../lib/catapult.js'));
var manifestServer = new catapult.ManifestServer()
.setManifestsFolder(assetsPath);
var manifestFileWatcher = new catapult.ManifestFileWatcher()
.setManifestServer(manifestServer);
//You could create your own http server here, e.g. for express
var httpserver = http.createServer(function(req, res) {
if(!manifestServer.onHttpRequest(req, res)) {
res.writeHead(404);
res.write("<!DOCTYPE html><html><body><h1>Unknown API</h1>" + JSON.stringify(manifestServer.manifests, null, "\t") + "</body></html>");
res.end();
}
});
var manifestWebsockets = new catapult.ManifestWebsocket()
.setManifestFileWatcher(manifestFileWatcher)
.createWebsocketServer(httpserver);//You could put in your own Websocket server here.
httpserver.listen(port, "0.0.0.0", function() {console.log("Manifest server listening on 0.0.0.0:" + port + "\nManifest URLS:\nhttp://localhost:" + port + "/manifests.json");});