49 lines
937 B
Go
49 lines
937 B
Go
package client
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"net/url"
|
|
"path"
|
|
"strings"
|
|
)
|
|
|
|
const fileAPI = "/v3/api/file/"
|
|
const serviceAPI = "/v3/api/service/"
|
|
|
|
func createBasicAuthPair(username, password string) string {
|
|
auth := username + ":" + password
|
|
return "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
|
|
}
|
|
|
|
func convertFileLink(ref string) (string, error) {
|
|
var err error
|
|
var res string
|
|
if !strings.Contains(ref, "://") {
|
|
ref = "https://" + ref
|
|
}
|
|
url, err := url.Parse(ref)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
url.Path = path.Join(fileAPI, url.Path)
|
|
url.User = nil
|
|
res = url.String()
|
|
return res, err
|
|
}
|
|
|
|
func convertServiceLink(ref string) (string, error) {
|
|
var err error
|
|
var res string
|
|
if !strings.Contains(ref, "://") {
|
|
ref = "https://" + ref
|
|
}
|
|
url, err := url.Parse(ref)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
url.Path = path.Join(serviceAPI, url.Path)
|
|
url.User = nil
|
|
res = url.String()
|
|
return res, err
|
|
}
|