a simple url shortener in Go (check it out at qurl.org)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package storage
import ( "fmt" "net/url" "qurl/qurl" "qurl/storage/bolt" "strings" )
type Storage interface { AddQURL(*qurl.QURL) error // GetQURL(uint64) (*qurl.QURL, error)
GetQURLByURL(string) (*qurl.QURL, error) SetQURLSequence(uint64) error Backup(string) error Shutdown() }
func NewStorage(su string) (Storage, error) { u, err := url.Parse(su) if err != nil { return nil, err }
if u.Scheme == "" { return nil, fmt.Errorf("URL must include a scheme") }
var stor Storage
switch strings.ToLower(u.Scheme) { case "bolt", "boltdb", "bbolt": stor, err = bolt.New(u) if err != nil { return nil, err }
default: return nil, fmt.Errorf("Unsupported URL scheme") }
return stor, nil }
|