code: func JoinURL(originalURL string, paths ...interface{}) (joinedURL string, err error) {
  	u, err := url.Parse(originalURL)
  	if err != nil {
  		return
  	}
  
  	var urlPaths = []string{u.Path}
  	for _, p := range paths {
  		urlPaths = append(urlPaths, fmt.Sprint(p))
  	}
  
  	if strings.HasSuffix(strings.Join(urlPaths, ""), "/") {
  		u.Path = path.Join(urlPaths...) + "/"
  	} else {
  		u.Path = path.Join(urlPaths...)
  	}
  
  	joinedURL = u.String()
  	return
  }
docs: // JoinURL updates the path part of the request url.
  //     JoinURL("google.com", "admin") => "google.com/admin"
  //     JoinURL("google.com?q=keyword", "admin") => "google.com/admin?q=keyword"