Ver código fonte

clean up redis env parsing, support REDISCLOUD_URL, REDIS_URL or fall back to default

jomo 10 anos atrás
pai
commit
a05e82cb5e
2 arquivos alterados com 14 adições e 8 exclusões
  1. 13 7
      modules/cache.js
  2. 1 1
      server.js

+ 13 - 7
modules/cache.js

@@ -1,18 +1,24 @@
 var logging = require("./logging");
+var node_redis = require("redis");
 var config = require("./config");
-var redis = null;
+var url = require("url");
 var fs = require("fs");
 
+var redis = null;
+
 // sets up redis connection
 // flushes redis when running on heroku (files aren't kept between pushes)
 function connect_redis() {
   logging.log("connecting to redis...");
-  if (process.env.REDISCLOUD_URL) {
-    var redisURL = require("url").parse(process.env.REDISCLOUD_URL);
-    redis = require("redis").createClient(redisURL.port, redisURL.hostname);
-    redis.auth(redisURL.auth.split(":")[1]);
-  } else {
-    redis = require("redis").createClient();
+  // parse redis env
+  var redis_env = (process.env.REDISCLOUD_URL || process.env.REDIS_URL);
+  var redis_url = redis_env ? url.parse(redis_env) : {};
+  redis_url.port = redis_url.port || 6379;
+  redis_url.hostname = redis_url.hostname || "localhost";
+  // connect to redis
+  redis = node_redis.createClient(redis_url.port, redis_url.hostname);
+  if (redis_url.auth) {
+    redis.auth(redis_url.auth.split(":")[1]);
   }
   redis.on("ready", function() {
     logging.log("Redis connection established.");

+ 1 - 1
server.js

@@ -45,7 +45,7 @@ function requestHandler(req, res) {
   request.url.path_list = path_list;
 
   var local_path = request.url.path_list[1];
-  console.log(request.method + " " + request.url.href);
+  logging.log(request.method + " " + request.url.href);
   if (request.method == "GET" || request.method == "HEAD") {
     try {
       switch (local_path) {