ensure all http connections will timeout so they will reconnect
diff --git a/apigee_sync.go b/apigee_sync.go
index 35d4d8b..ec3031e 100644
--- a/apigee_sync.go
+++ b/apigee_sync.go
@@ -131,7 +131,7 @@
log.Debugf("Fetching changes: %s", uri)
/* If error, break the loop, and retry after interval */
- client := &http.Client{}
+ client := &http.Client{Timeout: time.Minute} // must be greater than block value
req, err := http.NewRequest("GET", uri, nil)
addHeaders(req)
r, err := client.Do(req)
@@ -144,11 +144,13 @@
if r.StatusCode != http.StatusOK {
if r.StatusCode == http.StatusUnauthorized {
token = ""
+
log.Errorf("Token expired? Unauthorized request.")
}
r.Body.Close()
if r.StatusCode != http.StatusNotModified {
- log.Errorf("Get changes request failed with Resp err: %d", r.StatusCode)
+ err = errors.New("force backoff")
+ log.Errorf("Get changes request failed with status code: %d", r.StatusCode)
} else {
log.Infof("Get changes request timed out with %d", http.StatusNotModified)
}
@@ -255,7 +257,7 @@
req.Header.Set("updated_at_apid", time.Now().Format(time.RFC3339))
}
- client := &http.Client{}
+ client := &http.Client{Timeout: time.Minute}
resp, err := client.Do(req)
if err != nil {
log.Errorf("Unable to Connect to Edge Proxy Server: %v", err)
@@ -423,6 +425,7 @@
client := &http.Client{
CheckRedirect: Redirect,
+ Timeout: time.Minute,
}
retryIn := 5 * time.Millisecond