Translate AWS Rate limiting errors to 502 errors (#5270)

* Initial implemntation of returning 529 for rate limits

- bump aws iam and sts packages to v1.14.31 to get mocking interface
- promote the iam and sts clients to the aws backend struct, for mocking in tests
- this also promotes some functions to methods on the Backend struct, so
  that we can use the injected client

Generating creds requires reading config/root for credentials to contact
IAM. Here we make pathConfigRoot a method on aws/backend so we can clear
the clients on successful update of config/root path. Adds a mutex to
safely clear the clients

* refactor locking and unlocking into methods on *backend

* refactor/simply the locking

* check client after grabbing lock
This commit is contained in:
Clint
2018-09-18 15:26:06 -05:00
committed by GitHub
parent b7d6d55ac1
commit f39bafbf9c
15 changed files with 2002 additions and 93 deletions

View File

@@ -509,6 +509,7 @@ func request(core *vault.Core, w http.ResponseWriter, rawReq *http.Request, r *l
respondStandby(core, w, rawReq.URL)
return resp, false
}
if respondErrorCommon(w, r, resp, err) {
return resp, false
}