X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=server.coffee;h=1f04280fd3cb65788536a0adff6f58e7677d2941;hb=e2893c4cf45c6b66ec516939ba987685e94c3872;hp=db252bd415e2d708c2d1012aa86d4220bc522aae;hpb=158e27c83f1c7ba124b8470dbf32832fcdfe45a4;p=peach-cgt.git diff --git a/server.coffee b/server.coffee index db252bd..1f04280 100644 --- a/server.coffee +++ b/server.coffee @@ -20,9 +20,13 @@ fs = require 'fs' http = require 'http' querystring = require 'querystring' url = require 'url' +console.log "required builtins" less = require 'less' +console.log "required less" coffee = require 'coffee-script' +console.log "required coffee-script" model = require './common.coffee' +console.log "required common.coffee" games = {} max_concurrent_games = 50 @@ -115,9 +119,9 @@ clean_pathname = (str) -> str = str.replace clean_pathname_regex2, '/_' return str.replace clean_pathname_regex3, '_' -# serve javascript files from within /usr/share/javascript -javascript_handler = (args, out, request, url_parts) -> - filename = clean_pathname "/usr/share/#{url_parts.pathname}" +# serve javascript files from within external/ +external_javascript_handler = (args, out, request, url_parts) -> + filename = clean_pathname "external/#{url_parts.pathname.substr 10}" fs.readFile filename, 'utf8', (err, data) -> if err out.writeHead 404 @@ -274,8 +278,8 @@ http_server = http.createServer (req, res) -> rel_path = url_parts.pathname.substr 1 - if rel_path.substr(0, 11) is 'javascript/' - return javascript_handler url_parts.query, res, req, url_parts + if rel_path.substr(0, 9) is 'external/' + return external_javascript_handler url_parts.query, res, req, url_parts else if rel_path.substr(rel_path.length - 4) is '.css' res.writeHead 200, 'Content-Type': 'text/css' return css_handler url_parts.query, res, req, url_parts @@ -301,6 +305,10 @@ http_server = http.createServer (req, res) -> return html_handler url_parts.query, res, req, url_parts +################## INIT #################### +# make sure the current working directory is correct +process.chdir __dirname + setInterval expire_old_games, 2 * 60 * 1000 # check every 2 minutes for expired games http_server.listen listen_port, "127.0.0.1"