Changeset 468 for Dev/trunk/src/server
- Timestamp:
- 06/26/13 21:17:41 (12 years ago)
- Location:
- Dev/trunk/src/server
- Files:
-
- 2 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/src/server/config/config-couchdb.js
r466 r468 1 var q = require('q') ;2 var request = require('../util/request'); 3 var _ = require('underscore'); 4 varutil = require('util');1 var q = require('q'), 2 request = require('../util/q-request'), 3 _ = require('underscore'), 4 util = require('util'); 5 5 6 6 var designDocs = require('./couchdb-design-docs'); … … 34 34 'accept': 'application/json' 35 35 }, 36 body: content36 body: JSON.stringify(content) 37 37 }; 38 return request(url,options); 38 //console.log('req',url,options); 39 return request(url,options).then(function(res){ 40 return JSON.parse(res); 41 }, function(err){ 42 return JSON.parse(err); 43 }); 39 44 } 40 45 … … 90 95 } 91 96 })); 92 }).then(function( ){97 }).then(function(results){ 93 98 console.log("Done!"); 94 99 },function(err){ -
Dev/trunk/src/server/heroku.js
r464 r468 3 3 4 4 var configCouch = require('./config/config-couchdb'); 5 6 console.log("Running on",couchDbURL); 5 7 6 8 configCouch(couchDbURL) -
Dev/trunk/src/server/util/q-request.js
r466 r468 1 var http = require('q-io/http'), 1 var q = require('q'), 2 request = require('request'), 2 3 url = require('url'), 3 4 _ = require('underscore'); 4 5 5 module.exports = function(url OrObject, options) {6 module.exports = function(url, options) { 6 7 8 var dfd = q.defer(); 9 dfd.response = q.defer(); 10 7 11 options = options 8 12 ? _.clone(options) 9 13 : {}; 10 options.url = _.isString(urlOrObject) 11 ? url.parse(urlOrObject) 12 : _.clone(urlOrObject); 14 options.uri = url || options.uri; 15 16 request(options,function(err,res,body){ 17 if ( err ) { 18 dfd.response.reject(err); 19 } else { 20 if ( res.statusCode >= 200 && res.statusCode < 300 ) { 21 dfd.resolve(body); 22 } else { 23 dfd.reject(body); 24 } 25 } 26 dfd.response.resolve(res); 27 }); 13 28 14 // wrap content into q-io thingy 15 if ( options.body ) { 16 options.body = { 17 forEach: function(callback) { 18 callback(JSON.stringify(options.body)); 19 } 20 }; 21 }; 29 return dfd.promise; 22 30 23 // add auth header since q-io doesn't support this24 if ( options.url.auth ) {25 options.headers.authorization = 'Basic '+(new Buffer(options.url.auth).toString("base64"));26 }27 28 // make request and collect results29 return http.request(options)30 .then(function(res){31 return res.body.read().then(function(content){32 return content.length > 0 ? JSON.parse(content) : null;33 });34 },function(res){35 return res.body.read().then(function(error){36 return error.length > 0 ? JSON.parse(error) : null;37 });38 });39 31 };
Note: See TracChangeset
for help on using the changeset viewer.