mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
HETZNER: fix retry of POST/PUT requests -- rebuild request body (#926)
Previously for any retry the request body was already consumed and the server received an empty body. Signed-off-by: Jakob Ackermann <das7pad@outlook.com> Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
This commit is contained in:
@@ -157,21 +157,21 @@ func (api *hetznerProvider) getZone(name string) (*zone, error) {
|
||||
}
|
||||
|
||||
func (api *hetznerProvider) request(endpoint string, method string, request interface{}, target interface{}) error {
|
||||
var requestBody io.Reader
|
||||
if request != nil {
|
||||
requestBodySerialised, err := json.Marshal(request)
|
||||
for {
|
||||
var requestBody io.Reader
|
||||
if request != nil {
|
||||
requestBodySerialised, err := json.Marshal(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
requestBody = bytes.NewBuffer(requestBodySerialised)
|
||||
}
|
||||
req, err := http.NewRequest(method, baseURL+endpoint, requestBody)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
requestBody = bytes.NewBuffer(requestBodySerialised)
|
||||
}
|
||||
req, err := http.NewRequest(method, baseURL+endpoint, requestBody)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
req.Header.Add("Auth-API-Token", api.apiKey)
|
||||
req.Header.Add("Auth-API-Token", api.apiKey)
|
||||
|
||||
for {
|
||||
api.requestRateLimiter.beforeRequest()
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
api.requestRateLimiter.afterRequest()
|
||||
|
Reference in New Issue
Block a user