Skip to content

Instantly share code, notes, and snippets.

@dberesford
Created May 12, 2011 16:32
Show Gist options
  • Select an option

  • Save dberesford/968881 to your computer and use it in GitHub Desktop.

Select an option

Save dberesford/968881 to your computer and use it in GitHub Desktop.

Revisions

  1. dberesford created this gist May 12, 2011.
    62 changes: 62 additions & 0 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,62 @@
    require.paths.unshift('./node_modules')
    var http = require('http');
    var fs = require('fs');
    var redis = require("redis");
    var util = require('util');

    var server = http.createServer(function (request, response) {

    // Redis local settings, overridden below if we're running in CloudFoundry
    var redisPort = 6379;
    var redisHost = '127.0.0.1';
    var redisPassword = '';

    if (process.env.VCAP_SERVICES) {
    var vcapServices = JSON.parse(process.env.VCAP_SERVICES);
    var cfRedis = vcapServices['redis-2.2'][0];
    redisHost = cfRedis.credentials.hostname;
    redisPort = cfRedis.credentials.port;
    redisPassword = cfRedis.credentials.password;
    }

    response.writeHead(200, {"Content-Type": "text/plain"});

    var client = redis.createClient(redisPort, redisHost);
    if (process.env.VCAP_SERVICES) {
    client.auth(redisPassword);
    }

    client.on("connect", function () {
    if (process.env.VCAP_SERVICES) {
    client.auth(redisPassword, function(err, res) {
    if (err) {
    response.end("err: " + err);
    }
    });
    }
    });

    client.on("error", function (err) {
    response.end("ERROR: " + err);
    });

    client.on("ready", function (err) {
    if (err) {
    response.end("READY: err " + err);
    }
    client.get("time", function(err, reply) {
    var t = reply; console.log(reply);
    if (reply == undefined || reply == "") {
    t = "Cached time: " + Date.now();
    client.set('time', t, function (err, reply) {});
    }

    client.quit();
    response.end("Time: " + t);
    });
    });

    });

    server.listen(process.env.VCAP_APP_PORT ||8001);
    console.log("Server running at http://127.0.0.1:8001/");