For example, the following code is not specification compliant:
switch resp.StatusCode {
case http.StatusAccepted:
// TODO(dmcgowan): make use of digest header
return nil
default:
return handleErrorResponse(resp)
}
In this case, the client should accept 2xx, 3xx as successful, unless otherwise called out in the specification (such as when different response codes mean different things).
This needs to be fixed an integrated into docker 1.8. @icecrime