linode / linodego

Go client for Linode REST v4 API
MIT License
139 stars 82 forks source link

Drop Resty as a dependency #576

Closed ezilber-akamai closed 2 weeks ago

ezilber-akamai commented 2 months ago

📝 Description

Linodego currently uses the go-resty package to manage all HTTP requests made to the API. This includes logic for authentication, JSON marshaling/unmarshaling, request retries, and debug outputs.

Unfortunately this package has caused various issues for linodego users, including:

Because of these issues, Resty is being dropped as a dependency in favor of the mature and widely adopted net/http package.

✔️ How to Test

Run the unit test suite with make testunit

Run the integration test suite with make testint

lgarber-akamai commented 1 month ago

Running the TF cross-test workflow against these changes here: https://github.com/lgarber-akamai/linodego/actions/runs/11111815305/job/30872572090

edit: Oops, I forgot to address the retry condition breaking changes. I'll fix that up on my TF fork and report back 🙂

lgarber-akamai commented 1 month ago

I think it was implemented in a previous PR, but would it make sense for RequestParams to be made private given it's only used by internal helpers?