mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
Add HTTP basic auth support to Nomad client code
In order to authenticate against protected endpoints, e.g. ``` export NOMAD_ADDR=https://$USER:$PASSWORD@nomad.example.net nomad status ``` Instead of adding username and password to `api.Config`, this is a rather simple change to the request handler code that passes along any basic auth information.
This commit is contained in:
@@ -200,6 +200,13 @@ func (r *request) toHTTP() (*http.Request, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Optionally configure HTTP basic authentication
|
||||
if r.url.User != nil {
|
||||
username := r.url.User.Username()
|
||||
password, _ := r.url.User.Password()
|
||||
req.SetBasicAuth(username, password)
|
||||
}
|
||||
|
||||
req.Header.Add("Accept-Encoding", "gzip")
|
||||
req.URL.Host = r.url.Host
|
||||
req.URL.Scheme = r.url.Scheme
|
||||
@@ -216,6 +223,7 @@ func (c *Client) newRequest(method, path string) *request {
|
||||
method: method,
|
||||
url: &url.URL{
|
||||
Scheme: base.Scheme,
|
||||
User: base.User,
|
||||
Host: base.Host,
|
||||
Path: u.Path,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user