it('old file routes stop working', function(done){ request.get(url + '/public/simple.html', function(err, response){ response.statusCode.should.equal(404); done(); }); });
it('returns status code 200', function (done) { request.get(localUrl, function (error, response, body) { expect(response.statusCode).toBe(200); done(); }); });
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); },
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;
it("returns status code 200", function(done) { request.get(base_url, function(error, response, body) { expect(response.statusCode).toBe(200); done(); }); });
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'
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); }); }
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); }
var getAll = function(){ request.get(host+'api/spaces/', function(err, resp, body){ console.log("List All Spaces:"); console.log(JSON.parse(body)); }); }
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(); }); });
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(); }); });
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); }); }); } } });
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); })); }
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)); };
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) })
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); }); }); }); }); }); });
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() { } };
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() {}); });
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); } });
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); } } }
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); };
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); }); };
function getMe(callback) { request.get({uri:'https://api.foursquare.com/v2/users/self.json?oauth_token=' + auth.accessToken}, callback); }
it('returns Hello World!', function (done) { request.get(localUrl, function (error, response, body) { expect(body).toBe('Hello World!'); done(); }); });
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);
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':[] }); } }); });
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(); }); });