lfapi
changeset 34:a5a5de8dbac2
Log HTTP request method, support HEAD requests, send status 404 for not found
author | bsw |
---|---|
date | Tue Jul 31 11:47:49 2012 +0200 (2012-07-31) |
parents | 25aba6a34c44 |
children | 5421036cb34e |
files | lfapi.js lfapi/main.js |
line diff
1.1 --- a/lfapi.js Sat May 19 13:58:50 2012 +0200 1.2 +++ b/lfapi.js Tue Jul 31 11:47:49 2012 +0200 1.3 @@ -1,9 +1,5 @@ 1.4 #!/usr/bin/env node 1.5 1.6 -// -------------------------------------------------------------------------- 1.7 -// end of configuration 1.8 -// ========================================================================== 1.9 - 1.10 var main = require('./lfapi/main.js'); 1.11 1.12 var config = main.config; 1.13 @@ -57,7 +53,7 @@ 1.14 }); 1.15 }; 1.16 1.17 - console.log(req.socket._idleStart, req.socket.remoteAddress, req.current_member_id, req.current_access_level, url_info.pathname, url_info.query); 1.18 + console.log(req.socket._idleStart, req.socket.remoteAddress, req.current_member_id, req.current_access_level, req.method, url_info.pathname, url_info.query); 1.19 1.20 var body = ''; 1.21 req.on('data', function (data) { 1.22 @@ -76,6 +72,29 @@ 1.23 var routes; 1.24 1.25 switch(req.method) { 1.26 + case 'HEAD': 1.27 + routes = main.get; 1.28 + var routing_target = routes[url_info.pathname] 1.29 + if (routing_target) { 1.30 + res.writeHead( 1.31 + 200, 1.32 + { 1.33 + 'Content-Type': "application/json; charset=UTF-8", 1.34 + 'Access-Control-Allow-Origin': '*' 1.35 + } 1.36 + ); 1.37 + } else { 1.38 + res.writeHead( 1.39 + 404, 1.40 + { 1.41 + 'Access-Control-Allow-Origin': '*' 1.42 + } 1.43 + ); 1.44 + } 1.45 + res.end(body); 1.46 + return 1.47 + break; 1.48 + 1.49 case 'GET': 1.50 routes = main.get; 1.51 break; 1.52 @@ -90,6 +109,7 @@ 1.53 1.54 default: 1.55 main.respond('json', null, req, res, 'not found'); 1.56 + return; 1.57 break; 1.58 1.59 };