From 287b673e431f7adecae41f46a4e5c1ab5597b155 Mon Sep 17 00:00:00 2001 From: Antonio Murdaca Date: Mon, 23 Mar 2015 23:32:50 +0100 Subject: [PATCH] Return AuthResponse from postAuth api endpoint, Fixes #11607 Signed-off-by: Antonio Murdaca Upstream-commit: babd1b3e1fd7be7674f6e96f264b1b841aeba3b9 Component: engine --- components/engine/api/client/commands.go | 11 ++++++----- components/engine/api/server/server.go | 4 +++- components/engine/api/types/types.go | 6 ++++++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/components/engine/api/client/commands.go b/components/engine/api/client/commands.go index 5689dfd2cf..d5dfb2a37c 100644 --- a/components/engine/api/client/commands.go +++ b/components/engine/api/client/commands.go @@ -450,17 +450,18 @@ func (cli *DockerCli) CmdLogin(args ...string) error { if err != nil { return err } - var out2 engine.Env - err = out2.Decode(stream) - if err != nil { + + var response types.AuthResponse + if err := json.NewDecoder(stream).Decode(response); err != nil { cli.configFile, _ = registry.LoadConfig(homedir.Get()) return err } + registry.SaveConfig(cli.configFile) fmt.Fprintf(cli.out, "WARNING: login credentials saved in %s.\n", path.Join(homedir.Get(), registry.CONFIGFILE)) - if out2.Get("Status") != "" { - fmt.Fprintf(cli.out, "%s\n", out2.Get("Status")) + if response.Status != "" { + fmt.Fprintf(cli.out, "%s\n", response.Status) } return nil } diff --git a/components/engine/api/server/server.go b/components/engine/api/server/server.go index 1b9c5562fd..a11a4fd9ff 100644 --- a/components/engine/api/server/server.go +++ b/components/engine/api/server/server.go @@ -192,7 +192,9 @@ func postAuth(eng *engine.Engine, version version.Version, w http.ResponseWriter if status := engine.Tail(stdoutBuffer, 1); status != "" { var env engine.Env env.Set("Status", status) - return writeJSONEnv(w, http.StatusOK, env) + return writeJSON(w, http.StatusOK, &types.AuthResponse{ + Status: status, + }) } w.WriteHeader(http.StatusNoContent) return nil diff --git a/components/engine/api/types/types.go b/components/engine/api/types/types.go index 5531135b1d..21dba7729e 100644 --- a/components/engine/api/types/types.go +++ b/components/engine/api/types/types.go @@ -18,3 +18,9 @@ type ContainerExecCreateResponse struct { // Warnings are any warnings encountered during the execution of the command. Warnings []string `json:"Warnings"` } + +// POST /auth +type AuthResponse struct { + // Status is the authentication status + Status string `json:"Status"` +}