short-url-generator
v0.0.13
Published
Short string generator for long URLs with no persistence
Readme
Node.js ShortURL
Turns URLs into deconstructed objects with MD5, SH1 and Short URL representation.
Version
0.0.13 beta
Use
After including into your project.json just use:
var shorturl = require('short-url-generator'),
url = 'https://username:[email protected]:9000/new/session/search?client=ubuntu&channel=fs&q=twilio+sms&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=X2ChVuKzHe_H8geE5aOQDw#hashTagAtTheEnd';
out = shorturl(url);
console.log(out);
// Added: 3 Feb 2016 @ 23:44 hrs (UK Time)
// NEW: I added the breaking down Obj.url_details.query
// into JSON of key: value pairs.
//
// Added: 30 Jan 2016 @ 22:57 hrs (UK Time)
//
// Long story short the idea behind having MD5
// is that one you generate short URL for specific URL
// and you persist it, you don't have to store it again
// and just reuse, since the landing URL
// is going to be exactly the same
//
// Also, implementation doesn't cater for domain and protocol
// of the short URL i.e. http://mydomain.com/4g4K2 in our case below
// assuming you know what you downloaded it for.
//
// Same story with the "originator" - as I think you may want
// to populate this nested object with some
// context specific data that outside your application
// would be largely irrelevant...
{
"url": "https://username:[email protected]:9000/new/session/search?client=ubuntu&channel=fs&q=twilio+sms&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=X2ChVuKzHe_H8geE5aOQDw#hashTagAtTheEnd",
"strlen": 169,
"short": "4g4K2",
"md5": "3d066fad0ffd1284b0978097c63f804c",
"sha1": "21be6177d97b1abf123c60b662f2dc5815f13ce9",
"timestamp": "2016-01-29T06:14:00.891Z",
"unix": 1454048040,
"is_url": true,
"url_details": {
. "hash": "#hashTagAtTheEnd",
. "protocol": "https:",
. "pathname": "/new/session/search",
. "auth": "username:passwd",
. "host": "www.bzz.co.uk:9000",
. "port": "9000",
. "hostname": "www.bzz.co.uk",
. "password": "passwd",
. "username": "username",
. "query": "?client=ubuntu&channel=fs&q=twilio+sms&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=X2ChVuKzHe_H8geE5aOQDw",
. "query_details": {
. "client": "ubuntu",
. "channel": "fs",
. "q": "twilio sms",
. "ie": "utf-8",
. "oe": "utf-8",
. "gfe_rd": "cr",
. "ei": "X2ChVuKzHe_H8geE5aOQDw"
. }
},
"originator": {
"ip": "not-implemented-yet"
}
}
Good luck!
