source: Dev/trunk/src/server/util/q-request.js @ 479

Last change on this file since 479 was 479, checked in by hendrikvanantwerpen, 11 years ago

Changes for validation

  • Split command line wrappers from processing logic.
  • Created a JSON Schema for the database
  • Allow off-line validation of database documents.
File size: 766 bytes
Line 
1var q = require('q'),
2    request = require('request'),
3    url = require('url'),
4    _ = require('underscore');
5
6module.exports = function(url, options) {
7
8    var dfd_body = q.defer();
9    var dfd_response = q.defer();
10    dfd_body.promise.response = dfd_response.promise;
11   
12    options = options ? _.clone(options) : {};
13    options.uri = url || options.uri;
14   
15    request(options,function(err,res,body){
16        if ( err ) {
17            dfd_response.reject(err);
18        } else {
19            dfd_response.resolve(res);
20            if ( res.statusCode >= 200 && res.statusCode < 300 ) {
21                dfd_body.resolve(body);
22            } else {
23                dfd_body.reject(body);
24            }
25        }
26    });
27
28    return dfd_body.promise;
29   
30};
Note: See TracBrowser for help on using the repository browser.