libunftp
libunftp copied to clipboard
GCS backend error handling
The GCS backend should have a generic implementation for handling error responses from the GCS API, safely and consistently. It should also make troubleshooting easy through verbose error logging.
The main concern here is hitting API request count limits, caused by client retries: (causing 429—Too Many Requests)
- Error responses should be consistent between commands (permanent vs temporary failures). Retryable error codes should only be send when there is an actual transient error.
- Should implement exponential backoff. There is a separate issue for that: https://github.com/bolcom/libunftp/issues/82
Troubleshooting: It should verbosely log these errors, and it should include details retrieved through the HTTP response body (JSON). See GCS status codes.