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      };
     2.1 --- a/lfapi/main.js	Sat May 19 13:58:50 2012 +0200
     2.2 +++ b/lfapi/main.js	Tue Jul 31 11:47:49 2012 +0200
     2.3 @@ -62,7 +62,7 @@
     2.4      case 'forbidden':
     2.5        //http_status = 403;
     2.6        break;
     2.7 -    case 'notfound':
     2.8 +    case 'not found':
     2.9        http_status = 404;
    2.10        break;
    2.11      case 'unprocessable':

Impressum / About Us