package repocli import ( "encoding/base64" ) type Authenticator interface { MakeHeader(user, pass string) (key, value string, err error) } type BasicAuthenticator struct{} func NewBasicAuthenticator() *BasicAuthenticator { return &BasicAuthenticator{} } func (auth *BasicAuthenticator) MakeHeader(user, pass string) (string, string, error) { pair := base64.StdEncoding.EncodeToString([]byte(user + ":" + pass)) return "Authorization", "Basic " + pair, nil }