From 7830be0e4c960beb371acc0337262939afc02139 Mon Sep 17 00:00:00 2001 From: Justin Merrell Date: Fri, 2 Feb 2024 12:00:34 -0500 Subject: [PATCH] feat: add user agent --- pkg/sdk/endpoint/endpoint.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/sdk/endpoint/endpoint.go b/pkg/sdk/endpoint/endpoint.go index f350c55..f855e08 100644 --- a/pkg/sdk/endpoint/endpoint.go +++ b/pkg/sdk/endpoint/endpoint.go @@ -8,6 +8,7 @@ import ( "io" "net/http" "net/url" + "runtime" "strconv" "time" @@ -279,6 +280,18 @@ func (ep *Endpoint) Status(input *StatusInput) (*StatusOutput, error) { return &result, nil } +func getUserAgent() string { + product := "RunPod-Go-SDK" + version := "0.0.0" + + platform := runtime.GOOS + platformDetails := fmt.Sprintf("%s/%s", runtime.GOARCH, runtime.Version()) + + userAgent := fmt.Sprintf("%s/%s (%s; %s) Language/Go", product, version, platform, platformDetails) + + return userAgent +} + func getApiResponse(input apiRequestInput) ([]byte, error) { var result []byte req, err := http.NewRequest(input.method, *input.url, bytes.NewBuffer(input.reqBody)) @@ -288,6 +301,7 @@ func getApiResponse(input apiRequestInput) ([]byte, error) { req.Header.Set("Content-Type", "application/json") req.Header.Set("Authorization", "Bearer "+*input.token) + req.Header.Set("User-Agent", getUserAgent()) client := &http.Client{Timeout: time.Second * time.Duration(*input.timeout)} resp, err := client.Do(req)