1 | request = require('request')
|
2 | url = require('url')
|
3 | _ = require('underscore')
|
4 |
|
5 | Response = require('./response')
|
6 |
|
7 | class Request
|
8 | response: null
|
9 |
|
10 | constructor: (@module,@_request) ->
|
11 | if not @module
|
12 | throw new Error('Requires Zoho Module')
|
13 |
|
14 | if not @_request
|
15 | throw new Error('Requires request')
|
16 | return
|
17 |
|
18 | request: (cb) ->
|
19 | options = _.pick(@_request,['method'])
|
20 | options.uri = url.format(@_request)
|
21 | request(options, (error, response, body) =>
|
22 | if error
|
23 | cb(error,null)
|
24 | else
|
25 | @response = new Response(response)
|
26 | @response.parseBody(body,cb)
|
27 | )
|
28 |
|
29 |
|
30 |
|
31 | module.exports = Request
|