X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=server.coffee;h=9beb901339f9af8fd2fcd70322669aac0b603e92;hb=bff997aff6d7220a8183421bdff64c9a1ef352c3;hp=48e28570437e0e2e90cf1ae85488a014cc10337f;hpb=4197e7b5a4746c9d04a96190707d7021e443aa42;p=peach-cgt.git diff --git a/server.coffee b/server.coffee index 48e2857..9beb901 100644 --- a/server.coffee +++ b/server.coffee @@ -16,9 +16,20 @@ css_handler = (args, out, request, url_parts) -> out.end css js_handler = (args, out, request, url_parts) -> - fs.readFile 'client.coffee', 'utf8', (err, data) -> + basename = url_parts.pathname.substr 1, (url_parts.pathname.length - 4) + if basename is 'client' + filename = 'client.coffee' + else if basename is 'common' + filename = 'common.coffee' + else + error = "Unknown js basename: #{basename}" + console.log error + out.end(error) + return + + fs.readFile filename, 'utf8', (err, data) -> if err - return out.end 'Server failed to read client.coffee' + return out.end "Server failed to read #{filename}" out.end coffee.compile data html_handler = (args, out, request, url_parts) -> @@ -34,7 +45,7 @@ clean_pathname = (str) -> str = str.replace clean_pathname_regex, '_' 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}" @@ -44,7 +55,7 @@ javascript_handler = (args, out, request, url_parts) -> return out.end "Server failed to read #{filename}" out.writeHead 200, 'Content-Type': 'text/javascript' out.end data - + http_server = http.createServer (req, res) -> url_parts = url.parse req.url, true @@ -61,7 +72,7 @@ http_server = http.createServer (req, res) -> else if rel_path.substr rel_path.length - 3 is '.js' res.writeHead 200, 'Content-Type': 'text/javascript' return js_handler url_parts.query, res, req, url_parts - + return html_handler url_parts.query, res, req, url_parts http_server.listen listen_port, "127.0.0.1"