node package manager

redisuri

Validate and parse Redis URI connection schemes

redisuri

Validate and parse Redis URI connection schemes

Redis URI Connection Scheme

The URI connection scheme expects the following parameters:

Component Required? Description
redis:// Required A protocol prefix to indentifying this as URI connection format
auth@ AUTH password to connect to the redis instance
host Required A network location (e.g. hostname or IP address) of the redis server
:port The server port assigned to the redis process; defaults to 6379
/database An available redis database number; defaults to 0

API

parse(uri)

Parse the passed uri into an object containing four properties: auth, host, port, db. Note that if no AUTH password is provided, the auth property is set to null.

var redisuri = require('redisuri');
 
console.log(redisuri.parse('redis://localhost:6379'));
// => { auth: null, host: 'localhost', port: 6379, db: 0 }
 
console.log(redisuri.parse('redis://authstring@192.168.1.1:6379/7'));
// => { auth: authstring, host: '192.168.1.1', port: 6379, db: 7 }

validate(uri)

Ensures that the passed uri contains the redis: protocol and specifies a hostname. Throws a TypeError if either condition fails. If successful, returns the uri for convienient wrapping with parse.

var redisuri = require('redisuri');
 
var uri = 'redis://localhost:6379';
var bad = 'localhost';
 
console.log(redisuri.validate(uri));
// => 'redis://localhost:6379'
 
console.log(redisuri.validate(bad));
// => TypeError: A protocol must be specified in the Redis URI connection scheme (e.g. redis:)

Tests

Production ready. To run the full unit test suite:

npm install
npm test

Contribute

PRs are welcome! For bugs, please include a failing test which passes when your PR is applied.