node.js xhr with promises using q library

Useful node.js snippet for xhr with promises using q library in a gist.

Requirements:

var Q = require( 'q' )
    , request = require( 'request' )
    , _ = require( 'lodash' )
    , async = require( 'async' )
    , throat = require( 'throat' )
    , url = require('url');

package.json

  "dependencies": {
    "request": "~2.34.0",
    "q": "~1.0.1",
    "connect": "~2.14.4",
    "throat": "~1.0.0",
    "express": "~4.0.0",
    "async": "~0.2.9"
  }