Nevertheless! Party Metaphorically
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    http-jsonpublic

    http-json

    A connect / http module which extends http.ServerResponse.prototype.

    Usage

    (function () {
      "use strict";
    
      require('http-json').init(require('http'));
    
      var connect = require('connect')
        ;
    
      connect().use(function () {
        res.meta('foo-secret', 42);
    
        // Randomly generate an error
        if (Date.now() % 3) {
          res.error(new Error("What time is it? Error time!"));
          res.json();
          return;
        } else {
          res.warn(new Error("Did you know that 1 out of 3 times is error time?"));
        }
    
        res.json("What time is it? Success time!");
      }).listen(2323);
      // http://localhost:2323/
    
    }());
    

    Response

    {
        "success": true
      , "errors": []
      , "warnings": [{"message":"Did you know that 1 out of 3 times is error time?"}]
      , "foo-secret": 42
      , "timestamp": 1339631260781
      , "result": "What time is it? Success time!"
    }
    

    API

    http.ServerResponse.prototype.json(result, params)

    Pass in some result object to be attached as result

    • sets Content-Type: application/json; charset=utf-8
    • calls res.write(JSON.stringify({ timestamp: Date.now(), result: result, ... }))
    • calls res.end()

    Optional params may be an object such as this

    {
        debug: false        // set `true` if the response should be pretty-printed
                            // also, stack traces should not be removed
      , stringified: false  // set `true` if the result is already `JSON.stringify()`'d
    }
    

    http.ServerResponse.prototype.meta(key, value)

    Add a field to the "header" (sibling of result, errors, etc)

    http.ServerResponse.prototype.warn(Error)

    Add an Error to the warnings array, but success is left as true.

    Error may also be null/undefined (ignored), an array of Errors, or an empty array (ignored).

    Note: By default, stack traces will be removed from warnings.

    http.ServerResponse.prototype.error(Error)

    Add an Error to the errors array and set success to false.

    Error may also be null/undefined (ignored), an array of Errors, or an empty array (ignored).

    Note: By default, stack traces will be removed from errors.

    Keywords

    none

    install

    npm i http-json

    Downloadsweekly downloads

    20

    version

    1.2.2

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar