diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b386bef..fac1407 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.19" + ".": "0.1.0-alpha.20" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2270064..42831aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.1.0-alpha.20 (2025-02-04) + +Full Changelog: [v0.1.0-alpha.19...v0.1.0-alpha.20](https://github.com/nirvana-labs/nirvana-go/compare/v0.1.0-alpha.19...v0.1.0-alpha.20) + +### Features + +* **client:** send `X-Stainless-Timeout` header ([#80](https://github.com/nirvana-labs/nirvana-go/issues/80)) ([deb01b6](https://github.com/nirvana-labs/nirvana-go/commit/deb01b607f6aa4e9af872d14269fa0c0a38e62cb)) + ## 0.1.0-alpha.19 (2025-02-01) Full Changelog: [v0.1.0-alpha.18...v0.1.0-alpha.19](https://github.com/nirvana-labs/nirvana-go/compare/v0.1.0-alpha.18...v0.1.0-alpha.19) diff --git a/README.md b/README.md index b496c9a..bff6fee 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Or to pin the version: ```sh -go get -u 'github.com/nirvana-labs/nirvana-go@v0.1.0-alpha.19' +go get -u 'github.com/nirvana-labs/nirvana-go@v0.1.0-alpha.20' ``` diff --git a/internal/requestconfig/requestconfig.go b/internal/requestconfig/requestconfig.go index 0155155..80026db 100644 --- a/internal/requestconfig/requestconfig.go +++ b/internal/requestconfig/requestconfig.go @@ -138,6 +138,7 @@ func NewRequestConfig(ctx context.Context, method string, u string, body interfa req.Header.Set("Accept", "application/json") req.Header.Set("X-Stainless-Retry-Count", "0") + req.Header.Set("X-Stainless-Timeout", "0") for k, v := range getDefaultHeaders() { req.Header.Add(k, v) } @@ -157,6 +158,18 @@ func NewRequestConfig(ctx context.Context, method string, u string, body interfa if err != nil { return nil, err } + + // This must run after `cfg.Apply(...)` above in case the request timeout gets modified. We also only + // apply our own logic for it if it's still "0" from above. If it's not, then it was deleted or modified + // by the user and we should respect that. + if req.Header.Get("X-Stainless-Timeout") == "0" { + if cfg.RequestTimeout == time.Duration(0) { + req.Header.Del("X-Stainless-Timeout") + } else { + req.Header.Set("X-Stainless-Timeout", strconv.Itoa(int(cfg.RequestTimeout.Seconds()))) + } + } + return &cfg, nil } diff --git a/internal/version.go b/internal/version.go index 296d72b..985cfb5 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.1.0-alpha.19" // x-release-please-version +const PackageVersion = "0.1.0-alpha.20" // x-release-please-version