package utils import ( "fmt" "net/url" "strings" ) func RewriteUrl(link string) (string, error) { url, err := url.Parse(link) if err != nil { return "", err } path := url.Path if !strings.HasPrefix(path, "/") { path = "/" + path } switch url.Host { case "", "imgur.com", "www.imgur.com", "i.imgur.com": return path, nil case "i.stack.imgur.com": return "/stack" + path, nil } return "", fmt.Errorf("unknown host %s", url.Host) }