0.0.13 • Published 10 years ago

short-url-generator v0.0.13

Weekly downloads
6
License
MIT
Repository
github
Last release
10 years ago

Node.js ShortURL

Turns URLs into deconstructed objects with MD5, SH1 and Short URL representation.

Version

0.0.13 beta

Build Status

Use

After including into your project.json just use:

var shorturl = require('short-url-generator'),
    url      = 'https://username:passwd@www.bzz.co.uk: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:passwd@www.bzz.co.uk: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!