Skip to content

Commit be7c8aa

Browse files
authored
Merge branch 'main' into main
2 parents 09b3d75 + 5924946 commit be7c8aa

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

pkg/v1/remote/options.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff 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 != "" {

pkg/v1/remote/transport/error.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff 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
2929
type Error struct {
3030
Errors []Diagnostic `json:"errors,omitempty"`
3131
// The http status code returned.
@@ -111,7 +111,7 @@ func (d Diagnostic) String() string {
111111
type 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
115115
const (
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

172172
func 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,

0 commit comments

Comments
 (0)