source:
Dev/trunk/src/server/util/q-request.js
@
523
Last change on this file since 523 was 479, checked in by hendrikvanantwerpen, 11 years ago | |
---|---|
File size: 766 bytes |
Rev | Line | |
---|---|---|
[468] | 1 | var q = require('q'), |
2 | request = require('request'), | |
[466] | 3 | url = require('url'), |
4 | _ = require('underscore'); | |
5 | ||
[468] | 6 | module.exports = function(url, options) { |
[466] | 7 | |
[479] | 8 | var dfd_body = q.defer(); |
9 | var dfd_response = q.defer(); | |
10 | dfd_body.promise.response = dfd_response.promise; | |
[468] | 11 | |
[470] | 12 | options = options ? _.clone(options) : {}; |
[468] | 13 | options.uri = url || options.uri; |
[466] | 14 | |
[468] | 15 | request(options,function(err,res,body){ |
16 | if ( err ) { | |
[479] | 17 | dfd_response.reject(err); |
[468] | 18 | } else { |
[479] | 19 | dfd_response.resolve(res); |
[468] | 20 | if ( res.statusCode >= 200 && res.statusCode < 300 ) { |
[479] | 21 | dfd_body.resolve(body); |
[468] | 22 | } else { |
[479] | 23 | dfd_body.reject(body); |
[468] | 24 | } |
25 | } | |
[466] | 26 | }); |
[468] | 27 | |
[479] | 28 | return dfd_body.promise; |
[468] | 29 | |
[466] | 30 | }; |
Note: See TracBrowser
for help on using the repository browser.