mirror of https://github.com/golang/go.git
net/http: convert URL credentials to Authorization header for js fetch
This commit is contained in:
parent
90b40c0496
commit
af7b54ceae
|
|
@ -90,6 +90,17 @@ func (t *Transport) RoundTrip(req *Request) (*Response, error) {
|
||||||
headers.Call("append", key, value)
|
headers.Call("append", key, value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If the URL has credentials, convert to an Authorization header
|
||||||
|
url := *req.URL
|
||||||
|
if url.User != nil {
|
||||||
|
url.User = nil
|
||||||
|
if req.Header.Get("Authorization") == "" {
|
||||||
|
username := url.User.Username()
|
||||||
|
password, _ := url.User.Password()
|
||||||
|
authorization := "Basic " + basicAuth(username, password)
|
||||||
|
headers.Call("append", "Authorization", authorization)
|
||||||
|
}
|
||||||
|
}
|
||||||
opt.Set("headers", headers)
|
opt.Set("headers", headers)
|
||||||
|
|
||||||
if req.Body != nil {
|
if req.Body != nil {
|
||||||
|
|
@ -112,7 +123,7 @@ func (t *Transport) RoundTrip(req *Request) (*Response, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchPromise := js.Global().Call("fetch", req.URL.String(), opt)
|
fetchPromise := js.Global().Call("fetch", url.String(), opt)
|
||||||
var (
|
var (
|
||||||
respCh = make(chan *Response, 1)
|
respCh = make(chan *Response, 1)
|
||||||
errCh = make(chan error, 1)
|
errCh = make(chan error, 1)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue