shorturl
shorturl copied to clipboard
Generic implementation for interacting with various URL shortening services in Go.
ShortURL
Generic implementation for interacting with various URL shortening services in Go.
Usage
As usual you can install the package by issuing:
$ go get github.com/subosito/shorturl
Features
Shortening URL
ShortURL provides simple API to shorten a long URL, here's how:
// import "github.com/subosito/shorturl"
provider := "tinyurl"
u, err := shorturl.Shorten("http://example.com/", provider)
if err == nil {
fmt.Println(u)
}
Alternatively, you can initialize desired provider:
// import "github.com/subosito/shorturl/tinyurl"
s := tinyurl.New()
u, err := s.Shorten("http://example.com/")
if err == nil {
fmt.Println(u)
}
Expanding short URL
ShortURL also provides simple API to expand short URL into its original long URL:
// import "github.com/subosito/shorturl"
u, err := shorturl.Expand("http://bit.ly/13M3JX5")
if err == nil {
fmt.Println(u)
}
Supported Services
Package | Service | Enviroment Variables |
---|---|---|
bitly |
https://bitly.com/ | BITLY_ACCESS_TOKEN |
gggg |
http://gg.gg/ | - |
gitio |
https://git.io/ | - |
isgd |
https://is.gd/ | - |
shorl |
http://shorl.com/ | - |
tinyurl |
https://tinyurl.com/ | - |
Credits
Inspiration comes from Rubygem shorturl by @robbyrussell