registry: do not use http.StatusTooManyRequests

go1.5 doesn't export http.StatusTooManyRequests while
go1.6 does. Fix this by hardcoding the status code for now.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
This commit is contained in:
Antonio Murdaca 2016-05-03 21:24:43 +02:00
parent 262f93c7c5
commit db274d3c00
2 changed files with 8 additions and 2 deletions

View file

@ -71,7 +71,10 @@ var (
Message: "too many requests", Message: "too many requests",
Description: `Returned when a client attempts to contact a Description: `Returned when a client attempts to contact a
service too many times`, service too many times`,
HTTPStatusCode: http.StatusTooManyRequests, // FIXME: go1.5 doesn't export http.StatusTooManyRequests while
// go1.6 does. Update the hardcoded value to the constant once
// Docker updates golang version to 1.6.
HTTPStatusCode: 429,
}) })
) )

View file

@ -54,7 +54,10 @@ func parseHTTPErrorResponse(statusCode int, r io.Reader) error {
switch statusCode { switch statusCode {
case http.StatusUnauthorized: case http.StatusUnauthorized:
return errcode.ErrorCodeUnauthorized.WithMessage(detailsErr.Details) return errcode.ErrorCodeUnauthorized.WithMessage(detailsErr.Details)
case http.StatusTooManyRequests: // FIXME: go1.5 doesn't export http.StatusTooManyRequests while
// go1.6 does. Update the hardcoded value to the constant once
// Docker updates golang version to 1.6.
case 429:
return errcode.ErrorCodeTooManyRequests.WithMessage(detailsErr.Details) return errcode.ErrorCodeTooManyRequests.WithMessage(detailsErr.Details)
default: default:
return errcode.ErrorCodeUnknown.WithMessage(detailsErr.Details) return errcode.ErrorCodeUnknown.WithMessage(detailsErr.Details)