redis-url-parse

2.0.0 • Public • Published

Redis URL Parse

Build Status npm version

Spread a Redis URL string into a configuration object.

Module usage

const redisUrlParse = require('redis-url-parse')
 
// Defaults to localhost:6379/0
redisUrlParse('redis://')
//=> {host: 'localhost', port: 6379, database: '0', password: undefined}
 
// But you can change databases by adding a path
redisUrlParse('redis:///1')
//=> {host: 'localhost', port: 6379, database: '1', password: undefined}
 
// And change hosts
redisUrlParse('redis://example.com:39143/')
//=> {host: 'example.com', port: 39143, database: '0', password: undefined}
 
// And even add passwords
redisUrlParse('redis://:n9y25ah7@example.com:39143/')
//=> {host: 'example.com', port: 39143, database: '0', password: 'n9y25ah7'}
 
// If you add a username, it's ignored
redisUrlParse('redis://user:hunter2@example.com:39143/')
//=> {host: 'example.com', port: 39143, database: '0', password: 'hunter2'}
 
// If your password uses special characters, you may need to URI encode it
redisUrlParse('redis://:my%3Asuper%21secure%3Fpassword@example.com:39143/')
//=> {host: 'example.com', port: 39143, database: '0', password: 'my:super!secure?password'}

Complete example

const redisUrlParse = require('redis-url-parse')
redisUrlParse(process.env.REDIS_URL)  // redis://
//=> {host: 'localhost', port: 6379, database: '0', password: undefined}

Prior art

  • parse-redis-url not maintained and has an extremely awkward interface require('parse-redis-url')(null).parse(url)
  • redis-url not maintained and requires redis as a requirement
  • redis-url-parser not maintained and only works if your URL has a password

Readme

Keywords

Package Sidebar

Install

npm i redis-url-parse

Weekly Downloads

3,041

Version

2.0.0

License

Apache-2.0

Unpacked Size

14.8 kB

Total Files

7

Last publish

Collaborators

  • crccheck