Skip to content

Releases: deploymenttheory/go-api-http-client

v0.1.51

05 Jun 18:28
216f967

Choose a tag to compare

v0.1.51

What's Changed

  • Refactor createMultipartRequestBody to support custom content types a… by @ShocOne in #204
  • Added support for multi file uploads following OAS3 spec by @ShocOne in #205
  • V0.1.50 dev by @ShocOne in #206
  • V0.1.50 dev by @ShocOne in #207
  • Refactor multipart request handling and logging by @ShocOne in #208
  • chore: Refactor addFilePart to use base64 encoding for file content by @ShocOne in #209
  • Refactor addFilePart to use base64 encoding for file content by @ShocOne in #210
  • V0.1.50 dev by @ShocOne in #211
  • Refactor multipart request handling and logging by @ShocOne in #212
  • increased ctx timeout by @ShocOne in #213
  • removed context for testing and troubleshooting by @ShocOne in #214
  • chore: troubleshooting context by @ShocOne in #215
  • Refactor multipart request handling and logging by @ShocOne in #217
  • Refactor multipart request handling and logging by @ShocOne in #218

Full Changelog: v0.1.50...v0.1.51

v0.1.50

03 Jun 21:41

Choose a tag to compare

v0.1.50

Full Changelog: v0.1.49...v0.1.50

v0.1.42

28 May 08:02
d65fe13

Choose a tag to compare

v0.1.42

What's Changed

  • added better error handling to token manager by @ShocOne in #200
  • Added function for file download from a url path by @ShocOne in #201
  • chore: Update error logging messages in download and multipart requests by @ShocOne in #202

Full Changelog: v0.1.41...v0.1.42

v0.1.41

26 May 09:37
37e74ae

Choose a tag to compare

v0.1.41

What's Changed

  • Bump golang.org/x/net from 0.24.0 to 0.25.0 by @dependabot in #191
  • Bump github/super-linter from 5.0.0 to 6 by @dependabot in #189
  • chore: Refactor token acquisition and refresh logic in TokenManager by @ShocOne in #199

Full Changelog: v0.1.39...v0.1.41

v0.1.39

24 May 15:38

Choose a tag to compare

v0.1.39

Token Buffer Period Adjustment
Issue: The token lifetime was shorter than the buffer period set for token refresh, causing the client to never consider the token valid and to enter a loop of continuous token refresh attempts.

Solution: Implemented a maximum consecutive token refresh attempt limit. If this limit is exceeded, an error is thrown with a message indicating that the token lifetime is likely too short compared to the configured buffer period.

Details:
Added a check in the CheckAndRefreshAuthToken method to count consecutive refresh attempts and throw an error after a specified limit.

Enhanced the error message to clearly indicate the mismatch between the access token lifetime and the buffer period configured for token refresh.

  1. Support for String-Based Duration in JSON Config
    Issue: JSON configuration did not support string-based duration values, causing unmarshalling errors when durations were specified as strings.

Solution: Added support for parsing duration strings in JSON configuration files.

Details:
Created a custom type JSONDuration to handle durations specified as strings in JSON.
Implemented UnmarshalJSON and MarshalJSON methods for JSONDuration to parse and format duration strings.
Updated the TimeoutConfig struct to use JSONDuration instead of time.Duration.
Modified the client configuration loading logic to handle the new JSONDuration type.
Ensured all instances where durations are used (e.g., token refresh buffer period, total retry duration, custom timeout) are updated to use JSONDuration and its methods.

What's Changed

Full Changelog: v0.1.38...v0.1.39

v0.1.38

30 Apr 11:14
2d4e0c7

Choose a tag to compare

v0.1.38

What's Changed

Full Changelog: v0.1.37...v0.1.38

v0.1.37

25 Apr 08:51
173d18b

Choose a tag to compare

v0.1.37

What's Changed

  • Refactor of authentication manager by @ShocOne in #184
  • reorganized the ClientOptions in ther Go HTTP client code to reflect … by @ShocOne in #185
  • Adjust config validation func to support struct changes by @ShocOne in #186
  • Added custom cookie support for http client where users wish to set specific cookies for their usecases by @ShocOne in #187

Full Changelog: v0.1.36...v0.1.37

v0.1.36

23 Apr 14:57
8930ec9

Choose a tag to compare

v0.1.36

What's Changed

  • Adjust concurrency logic and metrics in the concurrency package by @ShocOne in #173
  • Adjust concurrency logic and metrics in the concurrency package by @ShocOne in #174
  • Adjust concurrency logic and metrics in the concurrency package and a… by @ShocOne in #175
  • Adjust concurrency logic and metrics in the concurrency package, and … by @ShocOne in #176
  • Adjust concurrency logic and metrics in the concurrency package, and … by @ShocOne in #177
  • Adjust concurrency logic and metrics in the concurrency package, and … by @ShocOne in #178
  • Adjust concurrency logic and metrics in the concurrency package, and … by @ShocOne in #179
  • Adjust concurrency logic and metrics in the concurrency package, and … by @ShocOne in #180
  • Dev by @ShocOne in #181
  • Adjust response time variability threshold in MonitorResponseTimeVari… by @ShocOne in #182
  • Adjust response time variability threshold and concurrency logic in t… by @ShocOne in #183

Full Changelog: v0.1.35...v0.1.36

v0.1.35

23 Apr 05:15
1c8262f

Choose a tag to compare

v0.1.35

What's Changed

  • Refactor concurrency package to include new metrics and adjust concur… by @ShocOne in #169
  • Adjust scaling logic in ScaleDown and ScaleUp functions by @ShocOne in #170
  • Refactor concurrency package to include new metrics and adjust concur… by @ShocOne in #171
  • Refactored semaphore permit management by @ShocOne in #172

Full Changelog: v0.1.32...v0.1.35

v0.1.32

18 Apr 15:04
8fb326d

Choose a tag to compare

v0.1.32

What's Changed

  • implemented EvaluateAndAdjustConcurrency metrics decision maker by @ShocOne in #168

Full Changelog: v0.1.31...v0.1.32