From 1e4cfcf110f7bea5338d2a5abf435a6b4915391d Mon Sep 17 00:00:00 2001 From: linxu Date: Tue, 9 Sep 2025 22:25:34 +0800 Subject: [PATCH] replace the base url with config.HTTPOptions.BaseURL --- files.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/files.go b/files.go index e746cab9..696dce18 100644 --- a/files.go +++ b/files.go @@ -797,6 +797,19 @@ func (m Files) Upload(ctx context.Context, r io.Reader, config *UploadFileConfig if uploadURL == "" { return nil, fmt.Errorf("Failed to create file. Upload URL was not returned from the create file request.") } + if config != nil && config.HTTPOptions != nil && config.HTTPOptions.BaseURL != "" { + uploadURLObj, err := url.Parse(uploadURL) + if err != nil { + return nil, fmt.Errorf("Failed to parse upload URL. Ran into an error: %s", err.Error()) + } + base, err := url.Parse(config.HTTPOptions.BaseURL) + if err != nil { + return nil, fmt.Errorf("Failed to parse base URL. Ran into an error: %s", err.Error()) + } + fullURL := base.JoinPath(uploadURLObj.Path) + fullURL.RawQuery = uploadURLObj.RawQuery + uploadURL = fullURL.String() + } return m.apiClient.uploadFile(ctx, r, uploadURL, &httpOptions) }