Merge branch 'master' into 13804-no-shutdown-wanted-nodes
[arvados.git] / sdk / go / arvados / client.go
index ce2c5aea3db7c34bb480b3e4c74e14aecc26ab31..cca9f9bf1be8e946b7b9594f1ed839e92aa73485 100644 (file)
@@ -106,15 +106,16 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) {
                req.Header.Add("Authorization", "OAuth2 "+c.AuthToken)
        }
 
-       reqid, ok := c.context().Value(contextKeyRequestID).(string)
-       if !ok {
-               reqid = reqIDGen.Next()
-       }
        if req.Header.Get("X-Request-Id") == "" {
+               reqid, _ := c.context().Value(contextKeyRequestID).(string)
+               if reqid == "" {
+                       reqid = reqIDGen.Next()
+               }
                if req.Header == nil {
-                       req.Header = http.Header{}
+                       req.Header = http.Header{"X-Request-Id": {reqid}}
+               } else {
+                       req.Header.Set("X-Request-Id", reqid)
                }
-               req.Header.Set("X-Request-Id", reqid)
        }
        return c.httpClient().Do(req)
 }