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

Last change on this file since 494 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
RevLine 
[468]1var q = require('q'),
2    request = require('request'),
[466]3    url = require('url'),
4    _ = require('underscore');
5
[468]6module.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.