request-enterprise v2.2.5
Request Enterprise
http(s) wrapper for nodejs, dedicated to enterprise networks proxy & sso support
Installation
  npm install request-enterpriseDescription
Simplify use of get/post requests especially behind a proxy or requiring certificate authentication. Follow links if there header contains redirection location information For https on windows or mac, if certificate name is specified, extract the certificate from user's certificate store and execute the request with the certificate Get the result as a stream or in a callback
This module works great with sax and oboe
Note: this module has no intention to replace the popular request module but to offer one similar, targeted for those of us who work in big companies
Usage
To activate https certificate support call init method with params name, pfxPath, passphrase
  var request = require('./request-enterprise').init({ name: "sso", pfxPath: "test.pfx", passphrase: "testpass"}).downloadTo configure a proxy, pass the url of the proxy in second argument:
  var request = require('./request-enterprise').init(null, 'http://<proxy>:<port>').downloadConfigure User-Agent with third argument:
  var request = require('./request-enterprise').init(null, null,
  'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24').downloadDo a get request:
  //simple get
  request(uri, function (error, url, body) {
   if (!error) {
     console.log(body)
   }
  })Do a get request asynchronously:
  //get with streamed response
  request(uri).pipe(process.stdout)Do a post request:
  //post
  request(uri, { ReqPostData: JSON.stringify({post: 'data'}) }, function (error, url, body) {
   console.log(body)
  })Do a get request with json result as object (works only with callback, to use with pipes, use oboe):
  request(uri, { ReqJson: true }, function (error, url, json) {
   if (!error) {
     console.log(json)
   }
  })Parse Json as it is received (with streams):
  var request = require('request-enterprise').download
  var oboe = require('oboe')
  var streamRequest = request('https://api.github.com/search/repositories?sort=stars&order=desc&q=request')
  var parser = oboe(streamRequest)
  streamRequest.on('error', function (error) {
    logger.error(error)
  })
  parser.node('items.*', function(item, path) {
    console.log(item)
  })