File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -162,8 +162,14 @@ func makeOptions(opts ...Option) (*options, error) {
162162 o .transport = transport .NewLogger (o .transport )
163163 }
164164
165+ // Using customized retry predicate if provided, and fallback to default if not.
166+ predicate := o .retryPredicate
167+ if predicate == nil {
168+ predicate = defaultRetryPredicate
169+ }
170+
165171 // Wrap the transport in something that can retry network flakes.
166- o .transport = transport .NewRetry (o .transport , transport .WithRetryPredicate (defaultRetryPredicate ), transport .WithRetryStatusCodes (o .retryStatusCodes ... ))
172+ o .transport = transport .NewRetry (o .transport , transport .WithRetryPredicate (predicate ), transport .WithRetryStatusCodes (o .retryStatusCodes ... ))
167173
168174 // Wrap this last to prevent transport.New from double-wrapping.
169175 if o .userAgent != "" {
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ import (
2525)
2626
2727// Error implements error to support the following error specification:
28- // https://github.com/docker /distribution/blob/master /docs/spec/api.md#errors
28+ // https://github.com/distribution /distribution/blob/aac2f6c8b7c5a6c60190848bab5cbeed2b5ba0a9 /docs/spec/api.md#errors
2929type Error struct {
3030 Errors []Diagnostic `json:"errors,omitempty"`
3131 // The http status code returned.
@@ -111,7 +111,7 @@ func (d Diagnostic) String() string {
111111type ErrorCode string
112112
113113// The set of error conditions a registry may return:
114- // https://github.com/docker /distribution/blob/master /docs/spec/api.md#errors-2
114+ // https://github.com/distribution /distribution/blob/aac2f6c8b7c5a6c60190848bab5cbeed2b5ba0a9 /docs/spec/api.md#errors-2
115115const (
116116 BlobUnknownErrorCode ErrorCode = "BLOB_UNKNOWN"
117117 BlobUploadInvalidErrorCode ErrorCode = "BLOB_UPLOAD_INVALID"
@@ -170,7 +170,7 @@ func CheckError(resp *http.Response, codes ...int) error {
170170}
171171
172172func makeError (resp * http.Response , body []byte ) * Error {
173- // https://github.com/docker /distribution/blob/master /docs/spec/api.md#errors
173+ // https://github.com/distribution /distribution/blob/aac2f6c8b7c5a6c60190848bab5cbeed2b5ba0a9 /docs/spec/api.md#errors
174174 structuredError := & Error {}
175175
176176 // This can fail if e.g. the response body is not valid JSON. That's fine,
You can’t perform that action at this time.
0 commit comments