X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/554873d2fb3aa095caaa6fece1c2321008a85b24..7da8eaf51a23ab23369b6e65f0634448cc4aeb3b:/sdk/go/arvadosclient/arvadosclient.go diff --git a/sdk/go/arvadosclient/arvadosclient.go b/sdk/go/arvadosclient/arvadosclient.go index 7e33ec0ce6..9247bc4a33 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 @@ -74,6 +78,13 @@ func (e APIServerError) Error() string { } } +// StringBool tests whether s is suggestive of true. It returns true +// if s is a mixed/uppoer/lower-case variant of "1", "yes", or "true". +func StringBool(s string) bool { + s = strings.ToLower(s) + return s == "1" || s == "yes" || s == "true" +} + // Helper type so we don't have to write out 'map[string]interface{}' every time. type Dict map[string]interface{} @@ -175,12 +186,11 @@ func New(c *arvados.Client) (*ArvadosClient, error) { // ARVADOS_API_HOST_INSECURE, ARVADOS_EXTERNAL_CLIENT, and // ARVADOS_KEEP_SERVICES. func MakeArvadosClient() (ac *ArvadosClient, err error) { - var matchTrue = regexp.MustCompile("^(?i:1|yes|true)$") ac, err = New(arvados.NewClientFromEnv()) if err != nil { return } - ac.External = matchTrue.MatchString(os.Getenv("ARVADOS_EXTERNAL_CLIENT")) + ac.External = StringBool(os.Getenv("ARVADOS_EXTERNAL_CLIENT")) return }