Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to correctly auth to server; what error to look for if you're doing it wrong; emit Error objects not string #183

Merged
merged 3 commits into from Mar 6, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Expand Up @@ -186,7 +186,7 @@ be loading the database from disk. While loading, the server not respond to any
indicates whether the server is ready for more commands. When ready, `node_redis` emits a `ready` event.
Setting `no_ready_check` to `true` will inhibit this check.


```js
var redis = require("redis"),
client = redis.createClient(null, null, {detect_buffers: true});

Expand All @@ -202,6 +202,7 @@ Setting `no_ready_check` to `true` will inhibit this check.
console.log(reply.toString()); // Will print `<Buffer 4f 4b>`
});
client.end();
```

`createClient()` returns a `RedisClient` object that is named `client` in all of the examples here.

Expand All @@ -212,6 +213,9 @@ first command after connecting. This can be tricky to coordinate with reconnect
etc. To make this easier, `client.auth()` stashes `password` and will send it after each connection,
including reconnections. `callback` is invoked only once, after the response to the very first
`AUTH` command sent.
NOTE: Your call to `client.auth()` should not be inside the ready handler. If
you are doing this wrong, `client` will emit an error that looks
something like this `Error: Ready check failed: ERR operation not permitted`.

## client.end()

Expand Down
6 changes: 3 additions & 3 deletions index.js
Expand Up @@ -160,11 +160,11 @@ RedisClient.prototype.do_auth = function () {
}, 2000); // TODO - magic number alert
return;
} else {
return self.emit("error", "Auth error: " + err);
return self.emit("error", new Error("Auth error: " + err.message));
}
}
if (res.toString() !== "OK") {
return self.emit("error", "Auth failed: " + res.toString());
return self.emit("error", new Error("Auth failed: " + res.toString()));
}
if (exports.debug_mode) {
console.log("Auth succeeded " + self.host + ":" + self.port + " id " + self.connection_id);
Expand Down Expand Up @@ -290,7 +290,7 @@ RedisClient.prototype.on_info_cmd = function (err, res) {
var self = this, obj = {}, lines, retry_time;

if (err) {
return self.emit("error", "Ready check failed: " + err);
return self.emit("error", new Error("Ready check failed: " + err.message));
}

lines = res.toString().split("\r\n");
Expand Down