summaryrefslogtreecommitdiff
path: root/node_modules/simple-get/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/simple-get/README.md')
-rw-r--r--node_modules/simple-get/README.md319
1 files changed, 0 insertions, 319 deletions
diff --git a/node_modules/simple-get/README.md b/node_modules/simple-get/README.md
deleted file mode 100644
index 0fecf37..0000000
--- a/node_modules/simple-get/README.md
+++ /dev/null
@@ -1,319 +0,0 @@
-# simple-get [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/simple-get/master.svg
-[travis-url]: https://travis-ci.org/feross/simple-get
-[npm-image]: https://img.shields.io/npm/v/simple-get.svg
-[npm-url]: https://npmjs.org/package/simple-get
-[downloads-image]: https://img.shields.io/npm/dm/simple-get.svg
-[downloads-url]: https://npmjs.org/package/simple-get
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-### Simplest way to make http get requests
-
-## features
-
-This module is the lightest possible wrapper on top of node.js `http`, but supporting these essential features:
-
-- follows redirects
-- automatically handles gzip/deflate responses
-- supports HTTPS
-- supports specifying a timeout
-- supports convenience `url` key so there's no need to use `url.parse` on the url when specifying options
-- composes well with npm packages for features like cookies, proxies, form data, & OAuth
-
-All this in < 100 lines of code.
-
-## install
-
-```
-npm install simple-get
-```
-
-## usage
-
-Note, all these examples also work in the browser with [browserify](http://browserify.org/).
-
-### simple GET request
-
-Doesn't get easier than this:
-
-```js
-const 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:
-
-```js
-const 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' }`.
-
-```js
-const get = require('simple-get')
-
-const 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:
-
-```js
-const get = require('simple-get')
-
-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.on('data', function (chunk) {
- // `chunk` is the decoded response, after it's been gunzipped or inflated
- // (if applicable)
- console.log('got a chunk of the response: ' + chunk)
- }))
-
-})
-```
-
-### JSON
-
-You can serialize/deserialize request and response with JSON:
-
-```js
-const get = require('simple-get')
-
-const opts = {
- method: 'POST',
- url: 'http://example.com',
- body: {
- key: 'value'
- },
- json: true
-}
-get.concat(opts, function (err, res, data) {
- if (err) throw err
- console.log(data.key) // `data` is an object
-})
-```
-
-### Timeout
-
-You can set a timeout (in milliseconds) on the request with the `timeout` option.
-If the request takes longer than `timeout` to complete, then the entire request
-will fail with an `Error`.
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com',
- timeout: 2000 // 2 second timeout
-}
-
-get(opts, function (err, res) {})
-```
-
-### One Quick Tip
-
-It's a good idea to set the `'user-agent'` header so the provider can more easily
-see how their resource is used.
-
-```js
-const get = require('simple-get')
-const pkg = require('./package.json')
-
-get('http://example.com', {
- headers: {
- 'user-agent': `my-module/${pkg.version} (https://github.com/username/my-module)`
- }
-})
-```
-
-### Proxies
-
-You can use the [`tunnel`](https://github.com/koichik/node-tunnel) module with the
-`agent` option to work with proxies:
-
-```js
-const get = require('simple-get')
-const tunnel = require('tunnel')
-
-const opts = {
- url: 'http://example.com',
- agent: tunnel.httpOverHttp({
- proxy: {
- host: 'localhost'
- }
- })
-}
-
-get(opts, function (err, res) {})
-```
-
-### Cookies
-
-You can use the [`cookie`](https://github.com/jshttp/cookie) module to include
-cookies in a request:
-
-```js
-const get = require('simple-get')
-const cookie = require('cookie')
-
-const opts = {
- url: 'http://example.com',
- headers: {
- cookie: cookie.serialize('foo', 'bar')
- }
-}
-
-get(opts, function (err, res) {})
-```
-
-### Form data
-
-You can use the [`form-data`](https://github.com/form-data/form-data) module to
-create POST request with form data:
-
-```js
-const fs = require('fs')
-const get = require('simple-get')
-const FormData = require('form-data')
-const form = new FormData()
-
-form.append('my_file', fs.createReadStream('/foo/bar.jpg'))
-
-const opts = {
- url: 'http://example.com',
- body: form
-}
-
-get.post(opts, function (err, res) {})
-```
-
-#### Or, include `application/x-www-form-urlencoded` form data manually:
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com',
- form: {
- key: 'value'
- }
-}
-get.post(opts, function (err, res) {})
-```
-
-### Specifically disallowing redirects
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com/will-redirect-elsewhere',
- followRedirects: false
-}
-// res.statusCode will be 301, no error thrown
-get(opts, function (err, res) {})
-```
-
-### OAuth
-
-You can use the [`oauth-1.0a`](https://github.com/ddo/oauth-1.0a) module to create
-a signed OAuth request:
-
-```js
-const get = require('simple-get')
-const crypto = require('crypto')
-const OAuth = require('oauth-1.0a')
-
-const oauth = OAuth({
- consumer: {
- key: process.env.CONSUMER_KEY,
- secret: process.env.CONSUMER_SECRET
- },
- signature_method: 'HMAC-SHA1',
- hash_function: (baseString, key) => crypto.createHmac('sha1', key).update(baseString).digest('base64')
-})
-
-const token = {
- key: process.env.ACCESS_TOKEN,
- secret: process.env.ACCESS_TOKEN_SECRET
-}
-
-const url = 'https://api.twitter.com/1.1/statuses/home_timeline.json'
-
-const opts = {
- url: url,
- headers: oauth.toHeader(oauth.authorize({url, method: 'GET'}, token)),
- json: true
-}
-
-get(opts, function (err, res) {})
-```
-
-### Throttle requests
-
-You can use [limiter](https://github.com/jhurliman/node-rate-limiter) to throttle requests. This is useful when calling an API that is rate limited.
-
-```js
-const simpleGet = require('simple-get')
-const RateLimiter = require('limiter').RateLimiter
-const limiter = new RateLimiter(1, 'second')
-
-const get = (opts, cb) => limiter.removeTokens(1, () => simpleGet(opts, cb))
-get.concat = (opts, cb) => limiter.removeTokens(1, () => simpleGet.concat(opts, cb))
-
-var opts = {
- url: 'http://example.com'
-}
-
-get.concat(opts, processResult)
-get.concat(opts, processResult)
-
-function processResult (err, res, data) {
- if (err) throw err
- console.log(data.toString())
-}
-```
-
-## license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).