in elastictransport/elastictransport.go [492:525]
func (c *Client) setReqAuth(u *url.URL, req *http.Request) *http.Request {
if _, ok := req.Header["Authorization"]; !ok {
if u.User != nil {
password, _ := u.User.Password()
req.SetBasicAuth(u.User.Username(), password)
return req
}
if c.apikey != "" {
var b bytes.Buffer
b.Grow(len("APIKey ") + len(c.apikey))
b.WriteString("APIKey ")
b.WriteString(c.apikey)
req.Header.Set("Authorization", b.String())
return req
}
if c.servicetoken != "" {
var b bytes.Buffer
b.Grow(len("Bearer ") + len(c.servicetoken))
b.WriteString("Bearer ")
b.WriteString(c.servicetoken)
req.Header.Set("Authorization", b.String())
return req
}
if c.username != "" && c.password != "" {
req.SetBasicAuth(c.username, c.password)
return req
}
}
return req
}