X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0f5295ae31362eefe182f3a2329b3903d6f82a3b..24223057a8dd3a03f1c6457287cb12167c6b67ee:/sdk/go/arvadosclient/arvadosclient.go diff --git a/sdk/go/arvadosclient/arvadosclient.go b/sdk/go/arvadosclient/arvadosclient.go index 4cfda94581..bfcbde2a70 100644 --- a/sdk/go/arvadosclient/arvadosclient.go +++ b/sdk/go/arvadosclient/arvadosclient.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: Apache-2.0 + /* Simple Arvados Go SDK for communicating with API server. */ package arvadosclient @@ -20,7 +24,7 @@ import ( "sync" "time" - "git.curoverse.com/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/sdk/go/arvados" ) type StringMatcher func(string) bool @@ -66,12 +70,11 @@ func (e APIServerError) Error() string { e.HttpStatusCode, e.HttpStatusMessage, e.ServerAddress) - } else { - return fmt.Sprintf("arvados API server error: %d: %s returned by %s", - e.HttpStatusCode, - e.HttpStatusMessage, - e.ServerAddress) } + return fmt.Sprintf("arvados API server error: %d: %s returned by %s", + e.HttpStatusCode, + e.HttpStatusMessage, + e.ServerAddress) } // StringBool tests whether s is suggestive of true. It returns true @@ -118,6 +121,9 @@ type ArvadosClient struct { // Number of retries Retries int + + // X-Request-Id for outgoing requests + RequestID string } var CertFiles = []string{ @@ -166,8 +172,11 @@ func New(c *arvados.Client) (*ArvadosClient, error) { ApiServer: c.APIHost, ApiToken: c.AuthToken, ApiInsecure: c.Insecure, - Client: &http.Client{Transport: &http.Transport{ - TLSClientConfig: MakeTLSConfig(c.Insecure)}}, + Client: &http.Client{ + Timeout: 5 * time.Minute, + Transport: &http.Transport{ + TLSClientConfig: MakeTLSConfig(c.Insecure)}, + }, External: false, Retries: 2, KeepServiceURIs: c.KeepServiceURIs, @@ -262,6 +271,9 @@ func (c *ArvadosClient) CallRaw(method string, resourceType string, uuid string, // Add api token header req.Header.Add("Authorization", fmt.Sprintf("OAuth2 %s", c.ApiToken)) + if c.RequestID != "" { + req.Header.Add("X-Request-Id", c.RequestID) + } if c.External { req.Header.Add("X-External-Client", "1") } @@ -407,9 +419,8 @@ func (c *ArvadosClient) Discovery(parameter string) (value interface{}, err erro value, found = c.DiscoveryDoc[parameter] if found { return value, nil - } else { - return value, ErrInvalidArgument } + return value, ErrInvalidArgument } func (ac *ArvadosClient) httpClient() *http.Client {