# HG changeset patch # User bsw # Date 1343728069 -7200 # Node ID a5a5de8dbac245171d854899c764fed322ae658b # Parent 25aba6a34c4467e2daedc1a09bb1d60eabd728d0 Log HTTP request method, support HEAD requests, send status 404 for not found diff -r 25aba6a34c44 -r a5a5de8dbac2 lfapi.js --- a/lfapi.js Sat May 19 13:58:50 2012 +0200 +++ b/lfapi.js Tue Jul 31 11:47:49 2012 +0200 @@ -1,9 +1,5 @@ #!/usr/bin/env node -// -------------------------------------------------------------------------- -// end of configuration -// ========================================================================== - var main = require('./lfapi/main.js'); var config = main.config; @@ -57,7 +53,7 @@ }); }; - console.log(req.socket._idleStart, req.socket.remoteAddress, req.current_member_id, req.current_access_level, url_info.pathname, url_info.query); + console.log(req.socket._idleStart, req.socket.remoteAddress, req.current_member_id, req.current_access_level, req.method, url_info.pathname, url_info.query); var body = ''; req.on('data', function (data) { @@ -76,6 +72,29 @@ var routes; switch(req.method) { + case 'HEAD': + routes = main.get; + var routing_target = routes[url_info.pathname] + if (routing_target) { + res.writeHead( + 200, + { + 'Content-Type': "application/json; charset=UTF-8", + 'Access-Control-Allow-Origin': '*' + } + ); + } else { + res.writeHead( + 404, + { + 'Access-Control-Allow-Origin': '*' + } + ); + } + res.end(body); + return + break; + case 'GET': routes = main.get; break; @@ -90,6 +109,7 @@ default: main.respond('json', null, req, res, 'not found'); + return; break; }; diff -r 25aba6a34c44 -r a5a5de8dbac2 lfapi/main.js --- a/lfapi/main.js Sat May 19 13:58:50 2012 +0200 +++ b/lfapi/main.js Tue Jul 31 11:47:49 2012 +0200 @@ -62,7 +62,7 @@ case 'forbidden': //http_status = 403; break; - case 'notfound': + case 'not found': http_status = 404; break; case 'unprocessable':