diff --git a/api/server/router/local/image.go b/api/server/router/local/image.go index f8fc04b2d..3f925a28b 100644 --- a/api/server/router/local/image.go +++ b/api/server/router/local/image.go @@ -89,21 +89,8 @@ func (s *router) postImagesCreate(ctx context.Context, w http.ResponseWriter, r repo = r.Form.Get("repo") tag = r.Form.Get("tag") message = r.Form.Get("message") - ) - authEncoded := r.Header.Get("X-Registry-Auth") - authConfig := &types.AuthConfig{} - if authEncoded != "" { - authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded)) - if err := json.NewDecoder(authJSON).Decode(authConfig); err != nil { - // for a pull it is not an error if no auth was given - // to increase compatibility with the existing api it is defaulting to be empty - authConfig = &types.AuthConfig{} - } - } - - var ( - err error - output = ioutils.NewWriteFlusher(w) + err error + output = ioutils.NewWriteFlusher(w) ) defer output.Close() @@ -136,6 +123,17 @@ func (s *router) postImagesCreate(ctx context.Context, w http.ResponseWriter, r } } + authEncoded := r.Header.Get("X-Registry-Auth") + authConfig := &types.AuthConfig{} + if authEncoded != "" { + authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded)) + if err := json.NewDecoder(authJSON).Decode(authConfig); err != nil { + // for a pull it is not an error if no auth was given + // to increase compatibility with the existing api it is defaulting to be empty + authConfig = &types.AuthConfig{} + } + } + err = s.daemon.PullImage(ref, metaHeaders, authConfig, output) } } diff --git a/runconfig/opts/parse.go b/runconfig/opts/parse.go index 41cb377ae..c3683b591 100644 --- a/runconfig/opts/parse.go +++ b/runconfig/opts/parse.go @@ -690,7 +690,7 @@ func validatePath(val string, validator func(string) bool) (string, error) { return val, nil } -// SplitN splits raw into a maximum of n parts, separated by a separator colon. +// volumeSplitN splits raw into a maximum of n parts, separated by a separator colon. // A separator colon is the last `:` character in the regex `[/:\\]?[a-zA-Z]:` (note `\\` is `\` escaped). // This allows to correctly split strings such as `C:\foo:D:\:rw`. func volumeSplitN(raw string, n int) []string {