Exemplo n.º 1
0
 it('old file routes stop working', function(done){
   request.get(url + '/public/simple.html', function(err, response){
     response.statusCode.should.equal(404);
     done();
   });
 });
Exemplo n.º 2
0
 it('returns status code 200', function (done) {
   request.get(localUrl, function (error, response, body) {
     expect(response.statusCode).toBe(200);
     done();
   });
 });
Exemplo n.º 3
0
    app.post('/add_merchant',function(req,res){
        var uniId = req.body.uniId;
        var merchantName = req.body.name;
        var shortName = req.body.shortName;
        var mallObjectId = req.body.mallObjectId;
        var mall;
        if (mallObjectId != undefined){
            mall = {"__type":"Pointer","className":"Mall","objectId":mallObjectId};
        }else{
            mall = undefined;
        }
        var merchantAddress = req.body.address;
        var type = req.body.type;
        if (type == undefined){
            type = "待定 待定"
        }
        if (uniId == undefined || merchantName == undefined || shortName == undefined || merchantAddress == undefined){
            res.success('Error: 参数错误');
        };
        request.get({
            url:'https://leancloud.cn/1.1/classes/Merchant?where=' + JSON.stringify({'uniId':uniId}),
            headers:{
                'Content-Type':'application/json',
                'X-AVOSCloud-Application-Id': 'p8eq0otfz420q56dsn8s1yp8dp82vopaikc05q5h349nd87w',
                'X-AVOSCloud-Application-Key': 'kzx1ajhbxkno0v564rcremcz18ub0xh2upbjabbg5lruwkqg'
            }
        },function(error,response,body){
            if(error){
                res.send({
                    'status':'Error',
                    'message':'获取错误'
                });
            }else{
                var result = JSON.parse(body)['results'];

                if (result != undefined){
                    if(result.length == 0){
                        request.post({
                            url:'https://leancloud.cn/1.1/classes/Merchant',
                            headers:{
                                'Content-Type':'application/json',
                                'X-AVOSCloud-Application-Id': 'p8eq0otfz420q56dsn8s1yp8dp82vopaikc05q5h349nd87w',
                                'X-AVOSCloud-Application-Key': 'kzx1ajhbxkno0v564rcremcz18ub0xh2upbjabbg5lruwkqg'
                            },
                            body: JSON.stringify({
                                'uniId':uniId,
                                'name':merchantName,
                                'shortName':shortName,
                                'address':merchantAddress,
                                'type':type,
                                'mall':mall
                            })
                        },function(error,response,body){
                            if(error){
                                res.send({
                                    'status':'Error',
                                    'message':'添加店铺失败'
                                });
                            }else{
                                res.send(body);
                            }
                        });
                    }else{
                        res.send({
                            'status':'Error',
                            'message':'该uniId:' + uniId + '的对象已经存在'
                        });
                    }
                }else {
                    console.log('merchantName:' + merchantName);
                }
            }
        });
    });
 get: function (path, cb) {
     reqOptions.url = ADOBE_IO_URL + path;
     request.get(reqOptions, cb);
 },
Exemplo n.º 5
0
angular.module("inspector",["inspector.location","inspector.results","inspector.search","inspector.services","ngRoute"]),angular.module("inspector.location",[]).controller("LocationDisplayController",function(a,b){this.inspections=b.inspections,a.goBack=function(){window.history.go(-2)}}).$inject=["$scope","ResultService"],angular.module("inspector.results",[]).controller("ResultsDisplayController",function(a,b,c,d){this.results=c.value,this.findByLocationId=function(e){a.id=e,d.getLocationResults(e).then(function(a){var b=a.sort(function(a,b){return a.inspection_date<b.inspection_date?1:a.inspection_date>b.inspection_date?-1:0});c.inspections=b}).then(function(){b.path("/location")})}}).$inject=["$routeParams","$location","ResultService","Search"],angular.module("inspector.search",[]).controller("SearchFormController",function(a,b,c,d,e){this.searchForInfo=function(b){NaN!==Number(b)&&5===b.length?(c.zip=b,d.getZipResults(b).then(function(b){var c=[],d=[];b.forEach(function(a){-1===c.indexOf(a.restaurant_name)&&(c.push(a.restaurant_name),d.push(a))});var f=d.sort(function(a,b){return a.restaurant_name>b.restaurant_name?1:a.restaurant_name<b.restaurant_name?-1:0});e.value=f,a.path("/results")})):(c.name=b,d.getNameResults(b).then(function(b){var c=[],d=[];b.forEach(function(a){-1===c.indexOf(a.restaurant_name)&&(c.push(a.restaurant_name),d.push(a))});var f=d.sort(function(a,b){return a.restaurant_name>b.restaurant_name?1:a.restaurant_name<b.restaurant_name?-1:0});e.value=f,a.path("/results")}))}}).$inject=["$location","$http","$routeParams","Search","ResultService"],angular.module("inspector").config(function(a){a.when("/search",{templateUrl:"../views/search.html",controller:"SearchFormController",controllerAs:"SearchCtrl"}).when("/results",{templateUrl:"../views/results.html",controller:"ResultsDisplayController",controllerAs:"ResultsCtrl"}).when("/location",{templateUrl:"../views/restaurant.html",controller:"LocationDisplayController",controllerAs:"LocationCtrl"}).when("/",{templateUrl:"../views/search.html",controller:"SearchFormController",controllerAs:"SearchCtrl"}).otherwise({redirectTo:"/search"})}),angular.module("inspector.services",[]).factory("Search",function(a){var b=function(b){return a({method:"GET",url:"/api/zip/"+b})["catch"](function(a){console.log("Error in services: ",a)}).then(function(a){return a.data})},c=function(b){return a({method:"GET",url:"/api/street/"+b})["catch"](function(a){console.log("Error in services: ",a)}).then(function(a){return a.data})},d=function(b){return a({method:"GET",url:"/api/name/"+b})["catch"](function(a){console.log("Error in services: ",a)}).then(function(a){return a.data})},e=function(b){return a({method:"GET",url:"/api/location/"+b})["catch"](function(a){console.log("Error in services: ",a)}).then(function(a){return a.data})};return{getZipResults:b,getStreetResults:c,getNameResults:d,getLocationResults:e}}).service("ResultService",function(){this.value="",this.inspections=""});var router=require("express").Router(),Results=require("../models/results_model.js");router.get("/zip/:zip",function(a,b){Results.findByZip(a.params.zip).then(function(a){b.send(a)})}),router.get("/street/:street",function(a,b){Results.findByStreet(a.params.street).then(function(a){b.send(a)})}),router.get("/name/:name",function(a,b){Results.findByName(a.params.name).then(function(a){b.send(a)})}),router.get("/location/:id",function(a,b){Results.findByLocationId(a.params.id).then(function(a){b.send(a)})}),module.exports=router;var request=require("request"),mock_result=require("../../test/server/models/zip_78728_results.js"),Results=module.exports;Results.parseUserInput=function(a){},Results.findByZip=function(a){var b="https://data.austintexas.gov/resource/nguv-n54k.json?zip_code="+a,c={url:b,"X-App-Token":process.env.API_TOKEN};return new Promise(function(a,b){request.get(c,function(b,c,d){return b?(console.log("Error!",b),b):(c.body=JSON.parse(d),void a(c.body))})})},Results.findByName=function(a){var b="https://data.austintexas.gov/resource/nguv-n54k.json?$q="+a,c={url:b,"X-App-Token":process.env.API_TOKEN};return new Promise(function(a,b){request.get(c,function(b,c,d){return b?(console.log("Error!",b),b):(c.body=JSON.parse(d),void a(c.body))})})},Results.findByStreetName=function(a){var b="https://data.austintexas.gov/resource/nguv-n54k.json?zip_code="+a,c={url:b,"X-App-Token":process.env.API_TOKEN};return new Promise(function(a,b){request.get(c,function(b,c,d){return b?(console.log("Error!",b),b):(c.body=JSON.parse(d),void a(c.body))})})},Results.findByLocationId=function(a){var b="https://data.austintexas.gov/resource/nguv-n54k.json?facility_id="+a,c={url:b,"X-App-Token":process.env.API_TOKEN};return new Promise(function(a,b){request.get(c,function(b,c,d){return b?(console.log("Error!",b),b):(c.body=JSON.parse(d),void a(c.body))})})};var express=require("express"),Path=require("path"),morgan=require("morgan");require("es6-promise").polyfill();var routes=express.Router(),results_api=require("./api/results_api.js");routes.use(morgan("dev"));var assetFolder=Path.resolve(__dirname,"../client/");routes.use(express["static"](assetFolder));var angular=Path.resolve(__dirname,"../node_modules/");if(routes.use("/scripts",express["static"](angular)),routes.use("/api",results_api),"test"!==process.env.NODE_ENV){routes.get("/*",function(a,b){b.sendFile(assetFolder+"/index.html")});var app=express();app.use(require("body-parser").json()),app.use("/",routes);var port=process.env.PORT||8080;app.listen(port,function(){console.log("listening on port "+port)})}else module.exports=routes;
Exemplo n.º 6
0
 it("returns status code 200", function(done) {
     request.get(base_url, function(error, response, body) {
         expect(response.statusCode).toBe(200);
         done();
     });
 });
Exemplo n.º 7
0
request.get({
    url: REGISTRY_URL,
    gzip: true,
    json: true
}, function (err, response, registry) {
    if (err) {
        console.log("Error downloading registry");
        console.error(err);
        return;
    }
    
    var tasks = [];
    
    if (response.statusCode !== 200) {
        console.log("Unexpected response", response.statusCode);
        console.log(registry);
        return;
    }
    Object.keys(registry).forEach(function (name) {
        var version = registry[name].metadata.version,
            zipfile = getZipPath(name, version),
            zipExists = fs.existsSync(zipfile);
        if (!lastRegistry[name] || lastRegistry[name].metadata.version !== version || !zipExists) {
            if (zipExists) {
                tasks.push(_.partial(deleteOldAndExpand, name, version));
            } else {
                tasks.push(_.partial(downloadAndExpand, name, version));
            }
        }
    });
    
    console.log(tasks.length, "packages to update");
    
    async.series(tasks, function () {
        saveRegistry(registry, function () {
            console.log("Update complete");
        });
    });
});
module.exports.searchGoogle = function(req, res) {

  var searchString = urlParser.parse(req.url).search; //include leading question mark
  var regex1 = new RegExp(/(good|great|awesome|fantastic|terrific|nice|cool|wonderful|dope|beautiful|amazing|gorgeous|breathtaking|scenic|panoramic|stunning) view/);
  var regex2 = new RegExp(/view (is|was) (good|great|awesome|fantastic|terrific|nice|cool|wonderful|dope|beautiful|amazing|gorgeous|breathtaking|scenic|panoramic|stunning)/);

  request.get('https://maps.googleapis.com/maps/api/place/radarsearch/json' + searchString + '&key=' + GOOGLE_PLACES_API_KEY)
    .on('response', function(response) { //layer 1 on 'response'
      console.log('https://maps.googleapis.com/maps/api/place/radarsearch/json' + searchString + '&key=' + GOOGLE_PLACES_API_KEY);

      var body = [];

      response.on('data', function(chunk) { //layer 2 on 'data'
        body.push(chunk);
      }).on('end', function() { //layer 2 on 'end'
        body = JSON.parse(Buffer.concat(body).toString());
        var filteredBody = {};
        filteredBody.places = [];
        if (body.results && body.results.length > 0) {

          var places = body.results;
          var counter = 0; //ensure server only sends back filteredBody if all places have been processed
          for (var i = 0; i < places.length; i++) {
            var place = places[i];
            var placeid = place['place_id'];

            request.get('https://maps.googleapis.com/maps/api/place/details/json?' + 'key=' + GOOGLE_PLACES_API_KEY + '&placeid=' + placeid)
              .on('response', function(response) { //layer 3 on 'response'
                var body = [];
                response.on('data', function(chunk) { //layer 4 on 'data'
                  body.push(chunk);
                }).on('end', function() { //layer 4 on 'end'
                  body = JSON.parse(Buffer.concat(body).toString());
                  var placeDetails = body.result;
                  if (placeDetails) {
                    var reviews = placeDetails.reviews;
                  }

                  if (reviews) {
                    if (placeDetails.photos) {
                      for (var j = 0; j < reviews.length; j++) {
                        var review = reviews[j];
                        if (review.text.match(regex1) || review.text.match(regex2)) { //TODO: improve regex matching

                          var photoReference = placeDetails.photos[0].photo_reference;
                          var image = 'https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=' + photoReference + '&key=' + GOOGLE_PLACES_API_KEY;

                          filteredBody.places.push({
                            name: placeDetails.name,
                            address: placeDetails['formatted_address'],
                            googlePlaceId: placeDetails['place_id'],
                            image: image,
                            lat:placeDetails.geometry.location.lat,
                            lng:placeDetails.geometry.location.lng
                          });

                          break;
                        }

                      }
                    }
                  }

                  counter++;
                  if (counter === places.length) {
                    res.json(filteredBody);
                  }
                }); //end of layer 4 on 'end'
              }) //end of layer 3 on 'response'
              .on('error', function(error) { //layer 3 on 'error'
                //TODO: handle error
                counter++;
                if (counter === places.length) {
                  res.json(filteredBody);
                }
              }) //end of layer 3 on 'error'
          }

        } else {
          res.json(filteredBody);
        }
      }); //end of layer 2 on 'end'
    }) //end of layer 1 on 'response'
    .on('error', function(error) { //layeon 'error'
      //TODO: handle error
    }); //end of layer 1 on 'error'
};
      }).on('end', function() { //layer 2 on 'end'
        body = JSON.parse(Buffer.concat(body).toString());
        var filteredBody = {};
        filteredBody.places = [];
        if (body.results && body.results.length > 0) {

          var places = body.results;
          var counter = 0; //ensure server only sends back filteredBody if all places have been processed
          for (var i = 0; i < places.length; i++) {
            var place = places[i];
            var placeid = place['place_id'];

            request.get('https://maps.googleapis.com/maps/api/place/details/json?' + 'key=' + GOOGLE_PLACES_API_KEY + '&placeid=' + placeid)
              .on('response', function(response) { //layer 3 on 'response'
                var body = [];
                response.on('data', function(chunk) { //layer 4 on 'data'
                  body.push(chunk);
                }).on('end', function() { //layer 4 on 'end'
                  body = JSON.parse(Buffer.concat(body).toString());
                  var placeDetails = body.result;
                  if (placeDetails) {
                    var reviews = placeDetails.reviews;
                  }

                  if (reviews) {
                    if (placeDetails.photos) {
                      for (var j = 0; j < reviews.length; j++) {
                        var review = reviews[j];
                        if (review.text.match(regex1) || review.text.match(regex2)) { //TODO: improve regex matching

                          var photoReference = placeDetails.photos[0].photo_reference;
                          var image = 'https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=' + photoReference + '&key=' + GOOGLE_PLACES_API_KEY;

                          filteredBody.places.push({
                            name: placeDetails.name,
                            address: placeDetails['formatted_address'],
                            googlePlaceId: placeDetails['place_id'],
                            image: image,
                            lat:placeDetails.geometry.location.lat,
                            lng:placeDetails.geometry.location.lng
                          });

                          break;
                        }

                      }
                    }
                  }

                  counter++;
                  if (counter === places.length) {
                    res.json(filteredBody);
                  }
                }); //end of layer 4 on 'end'
              }) //end of layer 3 on 'response'
              .on('error', function(error) { //layer 3 on 'error'
                //TODO: handle error
                counter++;
                if (counter === places.length) {
                  res.json(filteredBody);
                }
              }) //end of layer 3 on 'error'
          }

        } else {
          res.json(filteredBody);
        }
      }); //end of layer 2 on 'end'
Exemplo n.º 10
0
function getSelect(type, ajax, params, cb)
{
    var inSelect = false;
    var inOption = false;
    var value = '';
    var keys = [];
    var values = [];

    var parser = new htmlparser.Parser({
        onopentag: function(name, attribs)
        {
            if (name === 'select' && attribs.name === type)
                inSelect = true;
            else if (inSelect && name === 'option')
            {
                keys.push(attribs.value);
                inOption = true;
            }
        },
        ontext: function(text)
        {
            if (inOption)
                value += text;
        },
        onclosetag: function(tagname)
        {
            if (inSelect && tagname === 'select')
                inSelect = false;
            else if (inOption && tagname === 'option')
            {
                values.push(value);
                value = '';
                inOption = false;
            }
        }
    });

    var req = ajax ? request.post(ajaxUrl).form(params) : request.get(stdUrl);
    req.on('data', function(chunk)
    {
        parser.write(chunk);
    });

    req.on('end', function()
    {
        parser.end();

        if (keys.length != values.length)
        {
            var msg = 'Résultat incohérent:\n';
            msg += 'params = ' + JSON.stringify(params) + '\n';
            msg += 'keys = ' + JSON.stringify(keys) + '\n';
            msg += 'values = ' + JSON.stringify(values);

            cb(new Error(msg), null, null);
        }
        else
        {
            keys.shift();
            values.shift();
            cb(null, keys, values);
        }
    });

    req.on('error', function(err)
    {
        cb(err, null, null);
    });
}
Exemplo n.º 11
0
function cmd(bosco, args, next) {

	var options = {
	    headers: {
	        'User-Agent': 'Bosco-You-Fool'
	    },
	    auth: {
	        user: bosco.config.get('github:authToken') + ':x-oauth-basic'
	    },
	    proxy: process.env.http_proxy ? process.env.http_proxy : undefined,
	    json: true
	};

	var repoPattern = bosco.options.repo;
	var repoRegex = new RegExp(repoPattern);

    var ignoredRepos = bosco.config.get('github:ignoredRepos') || [];

    if(!bosco.config.get('github:team')) {
        // The user does not have a team, so just treat the repos config
        // as manually edited
        bosco.log("No team set, so using repos in config as manually managed list ...");
        var repos = bosco.config.get("github:repos");
        return fetch(bosco, repos, repoRegex, args, next);
    }

    function fetchTeamProfile(err, res, teamJson) {

    	if(teamJson.message) {
    		bosco.error("There was a problem talking to the Github: " + teamJson.message);
    		if(teamJson.message == 'Bad credentials') {
    			bosco.warn("To create a token visit here: https://github.com/blog/1509-personal-api-tokens")
    		}
    		return;
    	}

        if (err) {
            return bosco.error("Could not find your team, or you are not a member of any team", err.message);
        }

        var team = _.find(teamJson, {slug: bosco.config.get('github:team')});

        if(!team) return bosco.error("Unable to get team from Github");

        bosco.log("Fetching repos for " + team.name.magenta);

        function fetchTeamRepositories(err, res, reposJson) {
            if (err) {
                return bosco.error('Problem with request: ' + err.message);
            }

            if (res.statusCode != '200') {
                return bosco.error('Received non-ok reponse: ' + res.statusCode);
            }

            var repos = [];
            var org = bosco.getOrg();

            function obtainRepositoryName(repo) {
                if(repo.full_name.indexOf(org + '/') !== 0) return;
                if(_.contains(ignoredRepos,repo.name)) return;
                repos.push(repo.name);
            }

            reposJson.forEach(obtainRepositoryName);
            fetch(bosco, repos, repoRegex, args, next);

        }

        request.get(team.repositories_url + '?per_page=100', options, fetchTeamRepositories);

    }

    request.get('https://api.github.com/user/teams', options, fetchTeamProfile);

}
Exemplo n.º 12
0
var getAll = function(){
    request.get(host+'api/spaces/', function(err, resp, body){
        console.log("List All Spaces:");
        console.log(JSON.parse(body));
    });
}
Exemplo n.º 13
0
 it('will change header information based on extension (when active)', function(done){
   request.get(url + '/api/mimeTestAction/val.png', function(err, response){
     response.headers['content-type'].should.equal('image/png');
     done();
   });
 });
Exemplo n.º 14
0
 it('can ask for nested URL files with depth', function(done){
   request.get(url + '/a/b/c/css/actionhero.css', function(err, response){
     response.statusCode.should.equal(200);
     done();
   });
 });
Exemplo n.º 15
0

var filename = process.argv[2];


request.get({ uri: couchdb.url+'/codesniper/_design/generic/_view/dirid'}, function (err,res,body) {  
  var docs = JSON.parse(body).rows;
  for( var doc in docs ) {
    if( docs[doc]['key'] == filename ) {
      request.get({ uri: couchdb.url+'/codesniper/'+docs[doc]['id']}, function (err,res,body) {  
        var zdoc = JSON.parse(body);
        request.del({ uri: couchdb.url+'/codesniper/'+docs[doc]['id']+'?rev='+zdoc['_rev'] }, function (err,res,body) {  

          console.log(body);


        });
      });

    }
  

  } 


});




Exemplo n.º 16
0
function fetch(url, cb) {
	try {
		var req = request.get({
			url: url,
			encoding: null,
			headers: {
				"User-Agent": "Mozilla/5.0 (compatible; Shout IRC Client; +https://github.com/erming/shout)"
			}
		});
	} catch (e) {
		return;
	}
	var length = 0;
	var limit = 1024 * 30;
	var binaryflag = false;
	req
		.on("response", function(res) {
			if (!(/(text\/html|application\/json)/.test(res.headers["content-type"]))) {
				binaryflag = true;
				res.req.abort();
			}
		})
		.on("error", function() {})
		.pipe(es.map(function(data, next) {
			length += data.length;
			if (length > limit) {
				req.response.req.abort();
			}
			next(null, data);
		}))
		.pipe(es.wait(function(err, data) {
			if (err) return;
			var body;
			var type;
			var size = req.response.headers["content-length"];
			var org = data;
			if (!binaryflag){
				try {
					var detectResult = jschardet.detect(data) || {};
					var iconv = new Iconv(detectResult.encoding, "UTF-8//TRANSLIT//IGNORE");
					data = iconv.convert(data).toString();
				} catch (e) {
					data = org;
				}
			}

			try {
				body = JSON.parse(data);
			} catch (e) {
				body = {};
			}
			try {
				type = req.response.headers["content-type"].split(/ *; */).shift();
			} catch (e) {
				type = {};
			}
			data = {
				text: data,
				body: body,
				type: type,
				size: size
			};
			cb(data);
		}));
}
Exemplo n.º 17
0
Dcat.prototype.get = function(docUri, opts, callback){
  if (arguments.length === 2){
    callback = opts;
    opts = {};
  } else {
    opts = clone(opts);
  }

  opts.profile = opts.profile || 'compacted';
  if (opts.normalize) {
    opts.profile = 'compacted';
  }

  var uri = this.url(docUri);
  this.log('GET', uri);
  request.get({url: uri, headers:{'Accept': 'application/ld+json;profile="http://www.w3.org/ns/json-ld#' + opts.profile +'"'}}, function(err, resp, doc){
    if (err) return callback(err);
    this.log(resp.statusCode, uri);
    if (resp.statusCode >= 400){
      return callback(this._error(doc, resp.statusCode));
    }

    var ctxUrl = this.url('');

    //check if the server could satisfy the option and if so return
    if ( ((opts.profile === 'expanded') && Array.isArray(doc)) ||
         ((opts.profile === 'flattened') && ('@context' in doc) && ('@graph' in doc)) ||
         ((opts.profile === 'compacted') && ('@context' in doc))
       ) {

      if (opts.normalize) {
        if (doc['@context'] === SchemaOrgIo.contextUrl) {
          doc['@context'] = ctxUrl;
        }
        jsonld.normalize(doc, {format: 'application/nquads'}, callback);
      } else {
        callback(null, doc);
      }
      return;
    }

    //the server could not satisfy the option we suppose we got a JSON doc
    var ctxUrlFromLink;
    if (resp.headers.link){
      var links = jsonld.parseLinkHeader(resp.headers.link);
      if ('http://www.w3.org/ns/json-ld#context' in links){
        ctxUrlFromLink = links['http://www.w3.org/ns/json-ld#context'].target;
      };
    }

    if (!ctxUrlFromLink && !doc['@context']){
      return callback(new Error('The server could not provide a valid JSON-LD document. See http://www.w3.org/TR/json-ld/'))
    } else if (ctxUrlFromLink && !doc['@context']) {
      doc['@context'] = ctxUrlFromLink;
    }

    var ctx;
    if (doc['@context'] === SchemaOrgIo.contextUrl) {//context transfo to help for testing
      ctx = doc['@context'];
      doc['@context'] = ctxUrl;
    }

    function _next(err, pdoc) {
      if (err) return callback(err);

      //reverse @context transfo
      if (ctx && pdoc['@context'] === ctxUrl) {
        pdoc['@context'] = ctx;
      }

      callback(null, pdoc);
    };

    if (opts.normalize) {
      jsonld.normalize(doc, {format: 'application/nquads'}, _next);
    } else if (opts.profile === 'flattened') {
      jsonld.flatten(doc, doc['@context'], _next);
    } else if (opts.profile === 'expanded') {
      jsonld.expand(doc, {expandContext: doc['@context']}, _next);
    } else {
      jsonld.compact(doc, doc['@context'], _next);
    }

  }.bind(this));
};
Exemplo n.º 18
0
 it('should return an array of objects containing correct fields', (done) => {
   const fieldsToCheckFor = ['street', 'house', 'zip', 'city', 'apartment', 'letter']
   const params = helpers.testRequestParams('/address', { address: 'laugavegur 26' })
   const resultHandler = helpers.testRequestHandlerForFields(done, fieldsToCheckFor)
   request.get(params, resultHandler)
 })
Exemplo n.º 19
0
        request.get(rasterizerOptions, function(error, response, body) {
            if (error || response.statusCode != 200) {
                console.log('Error while requesting the favicon service: %s', error.message);
                faviconService.restartService();
                return callback(new Error(body));
            }
            var inImagePath = faviconService.getPath() + rasterizerOptions.headers.filename;
            var outImagePath = faviconService.getPath() + rasterizerOptions.headers.filename;
            var isIco = false;

            var iconFileUrl = response.body;
            if(iconFileUrl === undefined || iconFileUrl.indexOf("http") != 0) {
                inImagePath = 'public/no-favicon.png'
                fs.createReadStream(inImagePath).pipe(fs.createWriteStream(outImagePath)).on('close', function() {
                    callback(null);
                });
                return;
            }

            if(/ico$/.test(iconFileUrl.toLowerCase())) {
                isIco = true;
                inImagePath += ".ico";
            }

            console.log("Downloading " + iconFileUrl);
            request.get(iconFileUrl, function(error, response, body) {
                if(error || response.statusCode != 200) {
                    var isError = true;
                    iconFileUrl = 'http://example.com/no-favicon.png'; // hack!
                }

                var f = request(iconFileUrl).pipe(fs.createWriteStream(inImagePath)).on('close', function() {
                    if(isError || f.bytesWritten === 0) {
                        console.log('Image not found. Returning no preview image.');
                        fs.unlinkSync(inImagePath);
                        inImagePath = 'public/no-favicon.png';
                        isIco = false;
                    }

                    // Check that file is an image
                    exec("file -i -b " + inImagePath, function(error, stdout, stderr) {
                        if(stdout.indexOf('image') !== 0) {
                            console.log("Not an image!");
                            fs.unlinkSync(inImagePath);
                            inImagePath = 'public/no-favicon.png';
                            isIco = false;
                        }

                        console.log('Converting to thumbnail');
                        var convertImagePath = inImagePath + (isIco ? "[-1]": "");
                        console.log(convertImagePath)
                        exec("convert \"" + convertImagePath + "\" -filter Lanczos -thumbnail " + rasterizerOptions.headers.width + "x" + rasterizerOptions.headers.height + "^ -unsharp 0x.5 " + outImagePath, function(error, stdout, stderr) {
                            if(isIco) {
                                console.log('Removing ico file');
                                fs.unlinkSync(inImagePath);
                            }
                            console.log('Optimizing PNG');
                            exec('optipng ' + outImagePath, function(error, stdout, stderr) {
                                callback(null);
                            });
                        });
                    });
                });
            });

        });
Exemplo n.º 20
0
exports.getByQuery = function (req, res) {
    "use strict";

    var nameSpace = req.params.namespace;
    var rawQuery = req.params.query;
    console.log('Query = ' + rawQuery);
    console.log('NameSpace = ' + nameSpace);

    // Validate
    if (validator.validateQuery(rawQuery) === false) {
        res.json(EMPTY_ARRAY);
        return;
    }

    var phrase = rawQuery.match(/"[^"]*(?:""[^"]*)*"/g);
    console.log(phrase);

    var queryArray = [];

    var queryString = "";
    var wordsString = rawQuery;
    _.each(phrase, function (entry) {
        console.log("PH =: " + entry);
        var noQ = entry.replace(/\"/g, "");
        queryArray.push(noQ);
        noQ = noQ.replace(" ", "?");
        console.log("PH2 =: " + noQ);
        queryString = queryString + "*" + noQ + "* ";
        wordsString = wordsString.replace(entry, "");
        console.log("Cur string =: " + queryString);
    });

    console.log("Phrase string =: " + queryString);

    var words = wordsString.split(/ +/);
    var wordsCount = words.length;
    var idx = 0;
    _.each(words, function (word) {
        if (word !== "") {
            queryArray.push(word);
            if (idx === 0 && queryString === "") {
                queryString = queryString + "*" + word + "* ";
            } else {
                queryString = queryString + "AND *" + word + "* ";
            }
        }
    });


    queryString = queryString.replace(/:/, "?");
    queryString = queryString.substring(0, queryString.length - 1);

    console.log("Final String = " + queryString);
    var fullUrl = BASE_URL + "tp/gremlin?params={query:'" + queryString + "'}&script=keywordSearch()&load=[bykeyword]"
        + "&rexster.returnKeys=[name,label,BP Definition,CC Definition,MF Definition," +
        "BP Annotation,CC Annotation,MF Annotation,SGD Gene Description,def]";

    console.log('FULL URL = ' + fullUrl);

    request.get(fullUrl, function (err, rest_res, body) {
        if (!err) {
            try {
                var results = JSON.parse(body);
            } catch (ex) {
                console.log("Could not parse JSON: " + ex);
                res.json(EMPTY_ARRAY);
                return;
            }

            var resultArray = results.results;
            if (resultArray !== null && resultArray !== undefined && resultArray.length !== 0) {
                // Filter result
                var filteredResults = [];
                _.each(resultArray, function (entry) {
                    if (entry.name.indexOf(nameSpace) !== -1) {
                        filteredResults.push(entry);
                    }
                });

                filteredResults.unshift({queryArray: queryArray});
                res.json(filteredResults);
            } else {
                res.json(EMPTY_ARRAY);
            }
        }
    });

    function processResult() {

    }
};
Exemplo n.º 21
0
get('http://www.khronos.org/registry/gles/api/2.0/gl2.h', function(err, res, headerString) {

  var cc = [
    '#include <node.h>',
    '#include <node_buffer.h>',
    '#include <v8.h>',
    '#include "arch_wrapper.h"',
    '',
    'using namespace v8;',
    'using namespace node;',
    '',
    ''
  ],
  init = [
    'void init(Handle<Object> target) {',
  ],
  initPost = [
    '}',
    '',
    'NODE_MODULE(gles2, init)',
  ];

  // Methods
  init.push('');
  init.push('  // Methods')
  headerString.match(/GL_APICALL .+ GL_APIENTRY gl[^;]+/g).forEach(function(fn) {
      var parts = fn.replace(/[\(\),]/g, '').replace(/ *GL_APIENTRY/g, '').replace(/GL_APICALL /g, '').split(' ');
      var signature = {};

      signature.returnType = parts.shift();
      if ( signature.returnType === 'const') {
         signature.returnType += ' ' + parts.shift();
      }

      var fnName = signature.name = parts.shift();
      var upper = fnName[0].toUpperCase() + fnName.substring(1);
      signature.arguments = {};
      signature.list = [];

      if (fnName === 'glGetVertexAttribPointerv') {
        cc.push('Handle<Value> ' + upper  + '(const Arguments& args) {');
        cc.push('  HandleScope scope;');
        cc.push('');
        cc.push('   ThrowException(Exception::TypeError(String::New("glGetVertexAttribPointerv is not implemented please raise an issue https://github.com/tmpvar/node-gles2/issues")));');
        cc.push('   return scope.Close(Undefined());');
        cc.push('}');
        return;
      }

      while (parts.length) {
        var argType = parts.shift();
        if (argType === 'const' || argType === 'const*') {
          argType += ' ' + parts.shift();
        } else if (argType === '') {
          continue;
        } else if (parts.length === 0 && argType === 'void') {
          break;
        }

        var argName = parts.shift();
        if (argName === '') {
         continue
        } else if (argName === 'const*') {
          argType += ' ' + argName;
          argName = parts.shift();
        }

        if (!argName || !argType) {
          throw new Error(argName + ' : ' + argType + ' : ' + fn);
        }
        signature.arguments[argName] = argType;
        signature.list.push(argName);
      }


      cc.push('Handle<Value> ' + upper  + '(const Arguments& args) {');
      cc.push('  HandleScope scope;');
      cc.push('');
      var skipReturn = false;
      // collect arguments
      signature.list.forEach(function(name, i) {

        var type = this.arguments[name];

        switch (type) {
          case 'GLenum':
          case 'GLint':
          case 'GLsizei':
          case 'GLbitfield':
            cc.push('  ' + type + ' ' + name + ' = args[' + i + ']->Int32Value();')
          break;

          case 'GLboolean':
            cc.push('  ' + type + ' ' + name + ' = (GLboolean)args[' + i + ']->Int32Value();')
          break;

          case 'GLuint':
          case 'GLsizeiptr':
          case 'GLintptr':
            cc.push('  ' + type + ' ' + name + ' = args[' + i + ']->Uint32Value();')
          break;

          case 'GLfloat':
          case 'GLclampf':
            cc.push('  ' + type + ' ' + name + ' = args[' + i + ']->NumberValue();')
          break;

          case 'const GLchar*':
            cc.push('  v8::String::Utf8Value string_' + name + '(args[' + i + ']);')
            cc.push('  ' + type + ' ' + name + ' = *string_' + name + ';');
          break;

          case 'const GLvoid*':
          case 'const GLfloat*':
            cc.push('');
            cc.push('  // buffer');
            cc.push('  Local<Object> obj_' + name + ' = args[0]->ToObject();');
            cc.push('  if (obj_' + name + '->GetIndexedPropertiesExternalArrayDataType() != kExternalFloatArray) {');
            cc.push('    ThrowException(Exception::TypeError(String::New("' + this.name + ' expects a Buffer for argument ' + i + '")));');
            cc.push('    return scope.Close(Undefined());');
            cc.push('  }');
            cc.push('  ' + type + ' '+ name + ' = static_cast<' + type + '>(obj_' + name + '->GetIndexedPropertiesExternalArrayData());');
            cc.push('');
          break;


          case 'const GLuint*':
          case 'const GLint*':
            cc.push('');
            cc.push('  // list of Gluints');
            cc.push('  Handle<Array> array_' + name + ' = Handle<Array>::Cast(args[' + i + ']);');
            cc.push('  int length_' + i + ' = array_' + name + '->Get(String::New("length"))->ToObject()->Uint32Value();');
            cc.push('  ' + type.replace('*', '').replace('const ', '') + ' ' + name + '[length_' + i + '];');
            cc.push('  for (int i=0; i<length_' + i + '; i++) {');
            cc.push('    ' + name + '[i] = array_' + name + '->Get(i)->ToObject()->Uint32Value();');
            cc.push('  }');
            cc.push('');
          break;

          case 'const GLchar* const*':
            cc.push('');
            cc.push('  // list of strings');
            cc.push('  Handle<Array> array_' + name + ' = Handle<Array>::Cast(args[' + i + ']);');
            cc.push('  int length_' + i + ' = array_' + name + '->Get(String::New("length"))->ToObject()->Uint32Value();');
            cc.push('  const GLchar *' + name + '[length_' + i + '];');
            cc.push('  for (int i=0; i<length_' + i + '; i++) {');

            cc.push('    v8::String::Utf8Value string_' + i + '(args[' + i + ']);')
            cc.push('    ' + name + '[i] = *string_' + i + ';');
            cc.push('  }');
            cc.push('');
          break;


          // outgoing params

          case 'GLuint*':
            // handle the glGen* cases
            if (!this.arguments.length && (this.arguments.maxcount || this.arguments.n)) {

              var arg = this.arguments.maxcount ? 'maxcount' : 'n';
              cc.push('');
              cc.push('  Handle<Array> ret = Array::New(' + arg + ');');
              cc.push('  ' + type + ' ' + name + ';');

              var out = [''];
              out.push('  for (int i_' + i + '; i_' + i + ' < ' + arg + '; i_' + i + '++) {');
              out.push('    ret->Set(Number::New(i_' + i + '), Number::New(' + name + '[i_' + i + ']));');
              out.push('  }');
              out.push('  return scope.Close(ret);');

              skipReturn = out.join('\n')
            } else {
              X(type, name);
            }
          break;

          case 'GLint*':
          case 'GLfloat*':
          case 'GLsizei*':
          case 'GLenum*':
            cc.push('  ' + type + ' ' + name + ';');
            skipReturn = '\n  return scope.Close(Number::New(*' + name + '));';
          break;

          case 'GLboolean*':
            if (!this.arguments.length && !this.arguments.count) {
              cc.push('  ' + type + ' ' + name + ';');
              skipReturn = '\n  return scope.Close(Boolean::New(*' + name + '));';
            } else {
              X(type, name);
            }
          break;


          case 'GLchar*':
            if (this.arguments.bufsize) {
              cc.push('  ' + type.replace('*','') + ' ' + name + '[bufsize];');
              skipReturn = '\n  return scope.Close(String::New(' + name + '));';
            } else {
              X(type, name);
            }
          break;


          case 'GLvoid*':
            if (this.name === 'glReadPixels') {
              cc.push('');
              cc.push('  ' + type + ' ' + name + ';');
              // TODO: create Buffer
              var out = [
                '',
                '  unsigned long buffer_length = (width - x) * (height - y);',
                '  int pixelComponents, bytesPerComponent;',
                '  switch (format) {',
                '    case GL_ALPHA:',
                '      pixelComponents = 1;',
                '    break;',
                '    case GL_RGB:',
                '      pixelComponents = 3;',
                '    break;',
                '    case GL_RGBA:',
                '      pixelComponents = 4;',
                '    break;',
                '  }',
                '',
                '  switch (type) {',
                '    case GL_UNSIGNED_SHORT_5_6_5:',
                '    case GL_UNSIGNED_SHORT_4_4_4_4:',
                '    case GL_UNSIGNED_SHORT_5_5_5_1:',
                '      bytesPerComponent = 2;',
                '    break;',
                '',
                '    case GL_UNSIGNED_BYTE:',
                '      bytesPerComponent = 1;',
                '    break;',
                '  }',
                '',
                '  buffer_length *= bytesPerComponent * pixelComponents;',
                '',
                '  Buffer *buffer = Buffer::New((char *)&' + name + ', buffer_length, free_buffer, 0);',
                '  Local<v8::Object> globalObj = v8::Context::GetCurrent()->Global();',
                '  Local<Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(v8::String::New("Buffer")));',
                '  Handle<Value> constructorArgs[3] = { buffer->handle_, v8::Integer::New(Buffer::Length(buffer)), v8::Integer::New(0) };',
                '  Local<Object> actualBuffer = bufferConstructor->NewInstance(3, constructorArgs);',
                '',
                '  return scope.Close(actualBuffer);'
              ];

              skipReturn = out.join('\n')
            }

          break;

          default:
            X(type, name);
          break;

        }

      }.bind(signature));

      cc.push('');


        switch (signature.returnType) {
          case 'void':
            // TODO: out args
            cc.push('  ' + signature.name + '(' + Object.keys(signature.arguments).join(', ') + ');');
            !skipReturn && cc.push('  return scope.Close(Undefined());');
          break;

          case 'int':
          case 'GLint':
          case 'GLenum':
          case 'GLuint':
            cc.push('  ' + signature.returnType + ' ret = ' + signature.name + '(' + Object.keys(signature.arguments).join(', ') + ');');
            !skipReturn && cc.push('  return scope.Close(Number::New(ret));');
          break;

          case 'GLboolean':
            cc.push('  ' + signature.returnType + ' ret = ' + signature.name + '(' + Object.keys(signature.arguments).join(', ') + ');');
            !skipReturn && cc.push('  return scope.Close(Boolean::New(ret));');
          break;

          case 'const GLubyte*':
            cc.push('  ' + signature.returnType + ' ret = ' + signature.name + '(' + Object.keys(signature.arguments).join(', ') + ');');
            !skipReturn && cc.push('  return scope.Close(String::New((const char *)ret));');
          break;
        }

      skipReturn && cc.push(skipReturn);

      init.push('  SetMethod(target, "' + fnName + '", ' + upper + ');');

      cc.push('}');
      cc.push('');
  });


  // CONSTANTS
  init.push('');
  init.push('  // Constants')
  headerString.match(/#define (GL_[^ ]+).*/g).forEach(function(constant) {
    constant = constant.replace(/[ ]*\/\*.*\*\/[ ]*/, '');
    constant = constant.replace('#define ', '').replace(/(  *)/g,'", ');
    init.push('  DEFINE_CONSTANT(target, "' + constant + ');');
  });
  init.push('');

  var out = cc.join('\n') + init.join('\n') + initPost.join('\n') + '\n';

  fs.writeFile(__dirname + '/src/gles2.cc', out, function() {});
});
Exemplo n.º 22
0
    request.get(fullUrl, function (err, rest_res, body) {
        if (!err) {
            var results = [];
            try {
                results = JSON.parse(body);
            } catch (ex) {
                res.json(EMPTY_CYNETWORK);
            }

            var resultArray = results.results;
            if (resultArray !== undefined && resultArray instanceof Array && resultArray.length !== 0) {

                // Assume there is only one term for query
                var queryTerm = resultArray[0];
                var isGene = false;

                var geneArray = [];
                if(queryTerm['assigned_genes'] === undefined) {
                    // This is a gene node:
                    geneArray.push(queryTerm['name']);
                    isGene = true;
                } else {
                    geneArray = queryTerm["assigned_genes"];
                }

                if(geneArray === undefined || geneArray.length === 0) {
                    res.json(EMPTY_CYNETWORK);
                    return;
                }

                var geneString = geneArray.toString();
                var genes = geneString.replace(/,/g, " ");
                genes = genes.toLowerCase();

                // Too many results
                var numGenes = genes.split(" ").length;
                if (numGenes > GENE_COUNT_THRESHOLD) {
                    console.log("TOO MANY inputs: " + numGenes);
                    res.json(EMPTY_CYNETWORK);
                    return;
                } else {
                    console.log("Got assigned genes: " + numGenes);
                }

                var nextUrl = '';

                if(isGene) {
                    nextUrl = BASE_URL + "tp/gremlin?params={query='" + genes +
                      "'}&script=getRawInteractionsForGenes()&load=[getinteractions]";

                } else {
                    nextUrl = BASE_URL + "tp/gremlin?params={query='" + genes +
                      "'}&script=getRawInteractions()&load=[getinteractions]";
                }

                console.log(nextUrl);

                request.get(nextUrl, function (err2, rest_res2, body2) {
                    if (!err2) {
                        var results = [];
                        try {
                            results = JSON.parse(body2);
                        } catch (ex2) {
                            res.json(EMPTY_CYNETWORK);
                            return;
                        }

                        var resultArray = results.results;
                        if (resultArray !== undefined && resultArray.length !== 0) {
                            var graph = graphUtil.generateInteractions(resultArray);
                            var returnValue = {
                                graph: graph
                            };
                            res.json(returnValue);
                        } else {
                            res.json(EMPTY_CYNETWORK);
                        }
                    } else {
                        res.json(EMPTY_CYNETWORK);
                    }
                });
            } else {
                res.json(EMPTY_CYNETWORK);
            }
        } else {
            console.error("Error loading raw interactions.");
            res.json(EMPTY_CYNETWORK);
        }
    });
Exemplo n.º 23
0
Arquivo: index.js Projeto: cc17/zoo
less.Parser.importer = function (file, paths, callback, env) {
    var pathname, dirname, data;

    function parseFile(e, data) {
        if (e) return callback(e);
        
        var rootpath = env.rootpath,
            j = file.lastIndexOf('/');

        // Pass on an updated rootpath if path of imported file is relative and file 
        // is in a (sub|sup) directory
        // 
        // Examples: 
        // - If path of imported file is 'module/nav/nav.less' and rootpath is 'less/',
        //   then rootpath should become 'less/module/nav/'
        // - If path of imported file is '../mixins.less' and rootpath is 'less/', 
        //   then rootpath should become 'less/../'
        if(env.relativeUrls && !/^(?:[a-z-]+:|\/)/.test(file) && j != -1) {
            rootpath = rootpath + file.slice(0, j+1); // append (sub|sup) directory path of imported file
        }

        env.contents[pathname] = data;      // Updating top importing parser content cache.
        new(less.Parser)({
                paths: [dirname].concat(paths),
                filename: pathname,
                contents: env.contents,
                files: env.files,
                syncImport: env.syncImport,
                relativeUrls: env.relativeUrls,
                rootpath: rootpath,
                dumpLineNumbers: env.dumpLineNumbers
        }).parse(data, function (e, root) {
            callback(e, root, pathname);
        });
    };
    
    var isUrl = isUrlRe.test( file );
    if (isUrl || isUrlRe.test(paths[0])) {
    
        if (!request) {
            callback({ type: 'File', message: "optional dependency 'request' required to import over http(s)\n" });
            return;
        }

        var urlStr = isUrl ? file : url.resolve(paths[0], file),
            urlObj = url.parse(urlStr),
            req = {
                host:   urlObj.hostname,
                port:   urlObj.port || 80,
                path:   urlObj.pathname + (urlObj.search||'')
            };

        request.get(urlStr, function (error, res, body) {
            if (res.statusCode === 404) {
                callback({ type: 'File', message: "resource '" + urlStr + "' was not found\n" });
                return;
            }
            if (!body) {
                sys.error( 'Warning: Empty body (HTTP '+ res.statusCode + ') returned by "' + urlStr +'"' );
            }
            if (error) {
                callback({ type: 'File', message: "resource '" + urlStr + "' gave this Error:\n  "+ error +"\n" });
            }
            pathname = urlStr;
            dirname = urlObj.protocol +'//'+ urlObj.host + urlObj.pathname.replace(/[^\/]*$/, '');
            parseFile(null, body);
        });
    } else {

        // TODO: Undo this at some point,
        // or use different approach.
        var paths = [].concat(paths);
        paths.push('.');

        for (var i = 0; i < paths.length; i++) {
            try {
                pathname = path.join(paths[i], file);
                fs.statSync(pathname);
                break;
            } catch (e) {
                pathname = null;
            }
        }
        
        paths = paths.slice(0, paths.length - 1);

        if (!pathname) {

            if (typeof(env.errback) === "function") {
                env.errback(file, paths, callback);
            } else {
                callback({ type: 'File', message: "'" + file + "' wasn't found.\n" });
            }
            return;
        }
        
        dirname = path.dirname(pathname);

        if (env.syncImport) {
            try {
                data = fs.readFileSync(pathname, 'utf-8');
                parseFile(null, data);
            } catch (e) {
                parseFile(e);
            }
        } else {
            fs.readFile(pathname, 'utf-8', parseFile);
        }
    }
}
Exemplo n.º 24
0
Channel.prototype.getMessages = function() {
  this.channelTimes[this.channel] || (this.channelTimes[this.channel] = now());
  var url = buildURL(this.token, this.channel, this.channelTimes[this.channel]);

  request.get(url, this.handleMessageResponse);
};
Exemplo n.º 25
0
api.getUsers = function(accessToken, options, done) {
  var nextPageLink, req, connection;

  if(typeof options === 'function'){
    done = options;
    options = {};
  }else{
    options = options || {};
    if(options.perPage){
      options.per_page = options.perPage;
      delete options.perPage;
    }
    if(options.page){
      nextPageLink = options.page;
      delete options.page;
    }
    if(options.connection){
      connection = options.connection;
      delete options.connection;
    }
  }

  // nextPageLink already includes a token. It only works for that URL for a
  // brief period of time (see hawk bewit)
  if(nextPageLink){
    req = { url: url.parse(nextPageLink) };
  }else {
    req = {
      headers: { 'Authorization': 'Bearer ' + accessToken},
      qs: options
    };
    if (connection) {
      req.url = this.apiUrl + '/connections/' + connection + '/users';
    } else if (options.social) {
      req.url = this.apiUrl + '/socialconnections/users';
      delete options.social;
    } else if (options.social === false) {
      req.url = this.apiUrl + '/enterpriseconnections/users';
      delete options.social;
    } else {
      req.url = this.apiUrl + '/users';
    }
  }

  request.get(req, function (err, r, body) {
    if (err) { return done(err); }

    if (r.statusCode.toString().substr(0, 1) !== '2'){
      return done(new ApiError(body, r.statusCode));
    }

    var results;

    try {
      results = JSON.parse(body);
      if(r.headers.link){

        var links = parseLinks(r.headers.link);

        if(links.next){
          Object.defineProperty(results, 'nextPageLink' , {
            enumerable: false,
            writeable: false,
            value: links.next
          });
        }

      }
    } catch(e) {
      return done(e);
    }

    return done(null, results);
  });
};
Exemplo n.º 26
0
function getMe(callback) {
    request.get({uri:'https://api.foursquare.com/v2/users/self.json?oauth_token=' + auth.accessToken}, callback);
}
Exemplo n.º 27
0
 it('returns Hello World!', function (done) {
   request.get(localUrl, function (error, response, body) {
     expect(body).toBe('Hello World!');
     done();
   });
 });
Exemplo n.º 28
0
var fs = require('fs')
var value = require('./file.json');
var request = require('request');
var fs = require('fs');

var i = 0;
var totalmemoryload = 0;
var totalcpu = 0;

for( i=0;i<10;i++)
{
	request.get('http://52.5.154.138:3001/monitor', function(req,res) {
		var resp = JSON.parse(res.body);
		//console.log(resp.cpu);
		totalmemoryload = totalmemoryload + resp.memload;
		totalcpu = totalcpu + resp.cpu;
	});
	
}

setTimeout(function(req,res){
		var basememval = value.avgmem;
		var basecpuval = value.avgcpu;
		if(basememval < (totalmemoryload/10))
			console.log("Canary release results in higher memory load");
		if(basecpuval < (totalcpu))
			console.log("Canary release results in higher cpu usage");
}, 1000);
Exemplo n.º 29
0
 app.get('/coupon_1',function(req,res){
     var count = req.param('count');
     var mallId = req.param('mallId');
     var param = {
         'has_deal':true,
         'mall':{
             '__type':'Pointer',
             'className':'Mall',
             'objectId':mallId
         },
         'shopId':{
             '$exists':true,
             '$nin':['',' ']
         },
         'Icon':{
             '$exists':true
         }
     };
     request.get({
         'url':'https://leancloud.cn/1.1/classes/Merchant?limit=' + count + '&where=' + JSON.stringify(param),
         'headers':{
             'content-Type':'application/json',
             'X-AVOSCloud-Application-Key': 'kzx1ajhbxkno0v564rcremcz18ub0xh2upbjabbg5lruwkqg',
             'X-AVOSCloud-Application-Id': 'p8eq0otfz420q56dsn8s1yp8dp82vopaikc05q5h349nd87w'
         }
     },function(error,response,body){
         if(error){
             res.send({
                 'status':'Error',
                 'message':'请联系管理人员解决'
             });
             return;
         }
         var results = JSON.parse(body)['results'];
         if (results.length > 0){
             var shopIds = undefined;
             results.forEach(function(result){
                 if(shopIds == undefined){
                     shopIds = result.shopId;
                 }else{
                     shopIds = shopIds + ',' + result.shopId;
                 }
             });
             param = {};
             param['business_ids'] = shopIds;
             param['sign'] = appSign(param,_dzdpAppKey,_dzdpSecret);
             param['appkey'] = _dzdpAppKey;
             request.get({
                 'url':'http://api.dianping.com/v1/business/get_batch_businesses_by_id?' + querystring.stringify(param)
             },function(error,response,body){
                 if(error){
                     res.send({
                         'status':'Error',
                         'message':'请联系管理人员解决'
                     });
                     return;
                 }
                 var result = JSON.parse(body);
                 var businesses = result.businesses;
                 var coupons = [];
                 for (var index = 0; index < businesses.length; ++index){
                     var business = businesses[index];
                     var coupon = {};
                     results.forEach(function(merchant){
                         if (merchant.shopId == business.business_id){
                             coupon['merchant'] = merchant.objectId;
                             coupon['name'] = merchant.name;
                             coupon['icon'] = merchant.Icon.url;
                             coupon['shopId'] = merchant.shopId;
                             coupon['address'] = merchant.address;
                             coupon['type'] = merchant.type;
                             coupon['deal'] = business.deals[0];
                             coupons.push(coupon);
                         }
                     });
                 }
                 res.send({'results':coupons});
             });
         }else{
             res.send({
                 'status':'OK',
                 'results':[]
             });
         }
     });
 });
Exemplo n.º 30
0
 it('can ask for nested URL actions', function(done){
   request.get(url + '/craz/y/action/path/randomNumber', function(err, response){
     response.statusCode.should.equal(200);
     done();
   });
 });