mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
Merge pull request #699 from prymitive/v2-basic-auth
fix(backend): pass basic auth to the v2 API mapper
This commit is contained in:
@@ -20,3 +20,22 @@ func (hrt *headersRoundTripper) RoundTrip(r *http.Request) (*http.Response, erro
|
||||
}
|
||||
return hrt.inner.RoundTrip(r)
|
||||
}
|
||||
|
||||
func SetAuth(inner http.RoundTripper, username string, password string) http.RoundTripper {
|
||||
return &authRoundTripper{
|
||||
inner: inner,
|
||||
Username: username,
|
||||
Password: password,
|
||||
}
|
||||
}
|
||||
|
||||
type authRoundTripper struct {
|
||||
inner http.RoundTripper
|
||||
Username string
|
||||
Password string
|
||||
}
|
||||
|
||||
func (art *authRoundTripper) RoundTrip(r *http.Request) (*http.Response, error) {
|
||||
r.SetBasicAuth(art.Username, art.Password)
|
||||
return art.inner.RoundTrip(r)
|
||||
}
|
||||
@@ -18,12 +18,21 @@ import (
|
||||
|
||||
func newClient(uri string, headers map[string]string, httpTransport http.RoundTripper) *client.Alertmanager {
|
||||
u, _ := url.Parse(uri)
|
||||
|
||||
transport := httptransport.New(u.Host, path.Join(u.Path, "/api/v2"), []string{u.Scheme})
|
||||
|
||||
if httpTransport != nil {
|
||||
transport.Transport = mapper.SetHeaders(httpTransport, headers)
|
||||
} else {
|
||||
transport.Transport = mapper.SetHeaders(transport.Transport, headers)
|
||||
}
|
||||
|
||||
if u.User.Username() != "" {
|
||||
username := u.User.Username()
|
||||
password, _ := u.User.Password()
|
||||
transport.Transport = mapper.SetAuth(transport.Transport, username, password)
|
||||
}
|
||||
|
||||
c := client.New(transport, nil)
|
||||
return c
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user