node package manager

hottap

An HTTP client library for node that just does what you expect.

hottap is an HTTP client library for node that just does what you expect.

hottap is a node.js library for doing http requests that is simpler (IMO) than the standard library, without trying to do much else. I think it's a 'just-enough abstraction' over http to avoid leakiness and is probably useful for 90% of the common use-cases.

It has no dependencies other than the node standard library.

var hottap = require('hottap').hottap;
hottap("https://asdf.com/api/message/1").request("GET", function(err, response){
  console.log(response.body);
});

Simple POST:

var hottap = require('hottap').hottap;
hottap("http://sdf.com/api/message/")
  .request("POST", 
           {"Content-Type" : "application/json"}, 
           '{"subject":"blah"}', 
           function(err, response){
              console.log(response.status);
           }
  );
response.status  // status code as a Number
response.body    // http body as a string
response.headers // headers as an object/hash
var url = Hottap("http://login:password@asdf.com/some/path?some_var=some_value#testhash");
url.port = 80
url.protocol = "http"
url.path = "/some/path"
url.hostname = "asdf.com"
url.hash = "testhash"
url.querystring.some_var =  "some_value"
url.auth = 'login:password'

Invalid Urls will throw exceptions!

Running tests requires a few dependencies (listed in package.json). To install them, simply type:

npm install

To run the tests, at the project root, simply type:

mocha
var hottap = require('hottap').hottap;
Hottap("http://sdf.com/api/message/").json("POST", {}, {"subject":"blah"}, function(err, response){
    console.log(response.body.subject);  // "blah"
});