node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

httpx

httpx

http(s) module with power.

NPM version build status Coverage Status David deps npm download

Installation

$ npm install httpx --save

Usage

'use strict';
 
const httpx = require('httpx');
 
httpx.request('http://www.baidu.com/').then((response) => {
  response.pipe(process.stdout);
 
  response.on('end', () => {
    process.stdout.write('\n');
  });
}, (err) => {
  // on error 
});

Or with co.

co(function* () {
  var response = yield httpx.request('http://www.baidu.com/');
 
  response.pipe(process.stdout);
 
  response.on('end', () => {
    process.stdout.write('\n');
  });
});

Or with async/await.

(async function () {
  var response = await httpx.request('http://www.baidu.com/');
 
  response.pipe(process.stdout);
 
  response.on('end', () => {
    process.stdout.write('\n');
  });
})();

API

httpx.request(url[, options])

  • url String | Object - The URL to request, either a String or a Object that return by url.parse.
  • options Object - Optional
    • method String - Request method, defaults to GET. Could be GET, POST, DELETE or PUT.
    • data String | Buffer | Readable - Manually set the content of payload.
    • headers Object - Request headers.
    • timeout Number - Request timeout in milliseconds. Defaults to 3000. When timeout happen, will return RequestTimeout.
    • agent http.Agent - HTTP/HTTPS Agent object. Set false if you does not use agent.
    • beforeRequest Function - Before request hook, you can change every thing here.
    • compression Boolean - Enable compression support. Tell server side responses compressed data

httpx.read(response[, encoding])

  • response Response - the Client response. Don't setEncoding() for the response.
  • encoding String - Optional.

License

The MIT license