varapi=require('@request/api')varrequest=api({// requiredtype: 'basic',// or 'chain'// requireddefine: {// HTTP request function// that accepts @request/interface options objectrequest: require('@request/client')},// optionalconfig: {// define your own methods and method aliases}})
varapi=require('@request/api')varclient=require('@request/client')varrequest=api({type: 'basic',define: {request: client}})// GET http://localhost:6767?a=1request.get('http://localhost:6767',{qs: {a: 1}},(err,res,body)=>{// request callback})
Chain API
varapi=require('@request/api')varclient=require('@request/client')varrequest=api({type: 'chain',define: {request: client}})// GET http://localhost:6767?a=1request.get('http://localhost:6767').qs({a: 1}).callback((err,res,body)=>{// request callback}).request()
Chain API Config
varapi=require('@request/api')varclient=require('@request/client')varrequest=api({type: 'chain',// API methods configurationconfig: {// HTTP methodsmethod: {get: ['select'],// list of aliases// ...},// @request/interface option methodsoption: {qs: ['where'],// list of aliases// ...},// custom methodscustom: {request: ['fetch','snatch','submit'],// list of aliases// ...}},// custom methods implementationdefine: {// `options` is always prepended as first argument// any other custom arguments follows after thatrequest: (options,callback)=>{if(callback){// `options` contains the generated options objectoptions.callback=callback}// omit the return value if you want to chain furtherreturnclient(options)}}})// GET http://localhost:6767?a=1request.select('http://localhost:6767').where({a: 1}).fetch((err,res,body)=>{// request callback})