JSPM

  • Created
  • Published
  • Downloads 13825922
  • Score
    100M100P100Q199530F
  • License MIT

Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.

Package Exports

  • simple-get

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (simple-get) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

simple-get travis npm downloads

Simplest way to make http get requests

features

This module is designed to be the lightest possible wrapper on top of node.js http, but supporting:

  • follows redirects
  • automatically handles gzip/deflate responses
  • supports HTTPS
  • supports convenience url key so there's no need to use url.parse on the url when specifying options

All this in < 100 lines of code.

install

npm install simple-get

usage

simple GET request

Doesn't get easier than this:

var get = require('simple-get')

get('http://example.com', function (err, res) {
  if (err) throw err
  console.log(res.statusCode) // 200
  res.pipe(process.stdout) // `res` is a stream
})

even simpler GET request

If you just want the data, and don't want to deal with streams:

var get = require('simple-get')

get.concat('http://example.com', function (err, res, data) {
  if (err) throw err
  console.log(res.statusCode) // 200
  console.log(data) // Buffer('this is the server response')
})

POST, PUT, PATCH, HEAD, DELETE support

For POST, call get.post or use option { method: 'POST' }.

var get = require('simple-get')

var opts = {
  url: 'http://example.com',
  body: 'this is the POST body'
}
get.post(opts, function (err, res) {
  if (err) throw err
  res.pipe(process.stdout) // `res` is a stream
})

A more complex example:

var get = require('simple-get')
var concat = require('concat-stream')

get({
  url: 'http://example.com',
  method: 'POST',
  body: 'this is the POST body',

  // simple-get accepts all options that node.js `http` accepts
  // See: http://nodejs.org/api/http.html#http_http_request_options_callback
  headers: {
    'user-agent': 'my cool app'
  }
}, function (err, res) {
  if (err) throw err

  // All properties/methods from http.IncomingResponse are available,
  // even if a gunzip/inflate transform stream was returned.
  // See: http://nodejs.org/api/http.html#http_http_incomingmessage
  res.setTimeout(10000)
  console.log(res.headers)

  res.pipe(concat(function (data) {
    // `data` is the decoded response, after it's been gunzipped or inflated
    // (if applicable)
    console.log('got the response: ' + data)
  }))

})

license

MIT. Copyright (c) Feross Aboukhadijeh.