@request/api
![Test Coverage coveralls-status](https://img.shields.io/coveralls/request/api.svg?style=flat-square)
Table of Contents
Options
var api = require('@request/api')
var request = api({
type: 'basic',
define: {
request: require('@request/client')
},
config: {
}
})
Basic API
request('url')
request({options})
request('url', function callback (err, res, body) {})
request({options}, function callback (err, res, body) {})
request('url', {options}, function callback (err, res, body) {})
request.[HTTP_VERB]('url')
request.[HTTP_VERB]({options})
request.[HTTP_VERB]('url', function callback (err, res, body) {})
request.[HTTP_VERB]({options}, function callback (err, res, body) {})
request.[HTTP_VERB]('url', {options}, function callback (err, res, body) {})
var api = require('@request/api')
var client = require('@request/client')
var request = api({
type: 'basic',
define: {
request: client
}
})
request.get('http://localhost:6767', {qs: {a: 1}}, (err, res, body) => {
})
Chain API
var api = require('@request/api')
var client = require('@request/client')
var request = api({
type: 'chain',
define: {
request: client
}
})
request
.get('http://localhost:6767')
.qs({a: 1})
.callback((err, res, body) => {
})
.request()
Chain API Config
var api = require('@request/api')
var client = require('@request/client')
var request = api({
type: 'chain',
config: {
method: {
get: ['select'],
},
option: {
qs: ['where'],
},
custom: {
request: ['fetch', 'snatch', 'submit'],
}
},
define: {
request: (options, callback) => {
if (callback) {
options.callback = callback
}
return client(options)
}
}
})
request
.select('http://localhost:6767')
.where({a: 1})
.fetch((err, res, body) => {
})
Promises
var api = require('@request/api')
var client = require('@request/client')
function wrap (options) {
var promise = new Promise((resolve, reject) => {
options.callback = (err, res, body) => {
;(err) ? reject(err) : resolve([res, body])
}
})
client(options)
return promise
}
var request = api({
type: 'basic',
define: {
request: wrap
}
})
request.get('http://localhost:6767', {qs: 1})
.catch((err) => {})
.then((result) => {})
var request = api({
type: 'chain',
define: {
request: wrap
}
})
request
.get('http://localhost:6767')
.qs({a: 1})
.request()
.catch((err) => ())
.then((result) => ())