You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-07 13:22:56 +03:00
added URL support to createClient
This commit is contained in:
15
index.js
15
index.js
@@ -1,6 +1,7 @@
|
|||||||
/*global Buffer require exports console setTimeout */
|
/*global Buffer require exports console setTimeout */
|
||||||
|
|
||||||
var net = require("net"),
|
var net = require("net"),
|
||||||
|
URL = require("url"),
|
||||||
util = require("./lib/util"),
|
util = require("./lib/util"),
|
||||||
Queue = require("./lib/queue"),
|
Queue = require("./lib/queue"),
|
||||||
to_array = require("./lib/to_array"),
|
to_array = require("./lib/to_array"),
|
||||||
@@ -1227,9 +1228,19 @@ exports.createClient = function(arg0, arg1, arg2){
|
|||||||
return createClient_tcp(arg0, arg1, arg2);
|
return createClient_tcp(arg0, arg1, arg2);
|
||||||
|
|
||||||
} else if( typeof arg0 === 'string' ){
|
} else if( typeof arg0 === 'string' ){
|
||||||
|
var parsed = URL.parse(arg0, true, true),
|
||||||
|
options = (arg1 || {});
|
||||||
|
|
||||||
// createClient( '/tmp/redis.sock', options)
|
if (parsed.hostname) {
|
||||||
return createClient_unix(arg0,arg1);
|
if (parsed.auth) {
|
||||||
|
options.auth_pass = parsed.auth.split(':')[1];
|
||||||
|
}
|
||||||
|
// createClient(3000, host, options)
|
||||||
|
return createClient_tcp((parsed.port || default_port), parsed.hostname, options);
|
||||||
|
} else {
|
||||||
|
// createClient( '/tmp/redis.sock', options)
|
||||||
|
return createClient_unix(arg0,options);
|
||||||
|
}
|
||||||
|
|
||||||
} else if( arg0 !== null && typeof arg0 === 'object' ){
|
} else if( arg0 !== null && typeof arg0 === 'object' ){
|
||||||
|
|
||||||
|
19
test.js
19
test.js
@@ -2169,6 +2169,25 @@ tests.auth2 = function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// auth password specified by URL string.
|
||||||
|
tests.auth3 = function () {
|
||||||
|
var name = "AUTH3", client4, ready_count = 0;
|
||||||
|
|
||||||
|
client4 = redis.createClient('redis://redistogo:664b1b6aaf134e1ec281945a8de702a9@filefish.redistogo.com:9006/');
|
||||||
|
|
||||||
|
// test auth, then kill the connection so it'll auto-reconnect and auto-re-auth
|
||||||
|
client4.on("ready", function () {
|
||||||
|
ready_count++;
|
||||||
|
if (ready_count === 1) {
|
||||||
|
client4.stream.destroy();
|
||||||
|
} else {
|
||||||
|
client4.quit(function (err, res) {
|
||||||
|
next(name);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
tests.reconnectRetryMaxDelay = function() {
|
tests.reconnectRetryMaxDelay = function() {
|
||||||
var time = new Date().getTime(),
|
var time = new Date().getTime(),
|
||||||
name = 'reconnectRetryMaxDelay',
|
name = 'reconnectRetryMaxDelay',
|
||||||
|
Reference in New Issue
Block a user