refactor, remove useless buffers

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
This commit is contained in:
Victor Vieux 2014-01-17 18:54:02 -08:00
parent dc359e07d3
commit 455495f7ca
1 changed files with 29 additions and 45 deletions

66
api.go
View File

@ -184,7 +184,8 @@ func getImagesJSON(srv *Server, version float64, w http.ResponseWriter, r *http.
}
var (
buffer *bytes.Buffer
err error
outs *engine.Table
job = srv.Eng.Job("images")
)
@ -193,20 +194,15 @@ func getImagesJSON(srv *Server, version float64, w http.ResponseWriter, r *http.
if version >= 1.9 {
job.Stdout.Add(w)
} else {
buffer = bytes.NewBuffer(nil)
job.Stdout.Add(buffer)
} else if outs, err = job.Stdout.AddTable(); err != nil {
return err
}
if err := job.Run(); err != nil {
if err = job.Run(); err != nil {
return err
}
if version < 1.9 { // Send as a valid JSON array
outs := engine.NewTable("Created", 0)
if _, err := outs.ReadFrom(buffer); err != nil {
return err
}
if version < 1.8 { // Convert to legacy format
outsLegacy := engine.NewTable("Created", 0)
for _, out := range outs.Data {
@ -222,10 +218,10 @@ func getImagesJSON(srv *Server, version float64, w http.ResponseWriter, r *http.
outsLegacy.Add(outLegacy)
}
}
if _, err := outsLegacy.WriteListTo(w); err != nil {
if _, err = outsLegacy.WriteListTo(w); err != nil {
return err
}
} else if _, err := outs.WriteListTo(w); err != nil {
} else if _, err = outs.WriteListTo(w); err != nil {
return err
}
}
@ -312,25 +308,21 @@ func getImagesHistory(srv *Server, version float64, w http.ResponseWriter, r *ht
}
var (
buffer *bytes.Buffer
err error
outs *engine.Table
job = srv.Eng.Job("history", vars["name"])
)
if version >= 1.9 {
job.Stdout.Add(w)
} else {
buffer = bytes.NewBuffer(nil)
job.Stdout.Add(buffer)
} else if outs, err = job.Stdout.AddTable(); err != nil {
return err
}
if err := job.Run(); err != nil {
if err = job.Run(); err != nil {
return err
}
if version < 1.9 { // Send as a valid JSON array
outs := engine.NewTable("Created", 0)
if _, err := outs.ReadFrom(buffer); err != nil {
return err
}
if _, err := outs.WriteListTo(w); err != nil {
if _, err = outs.WriteListTo(w); err != nil {
return err
}
}
@ -342,25 +334,21 @@ func getContainersChanges(srv *Server, version float64, w http.ResponseWriter, r
return fmt.Errorf("Missing parameter")
}
var (
buffer *bytes.Buffer
err error
outs *engine.Table
job = srv.Eng.Job("changes", vars["name"])
)
if version >= 1.9 {
job.Stdout.Add(w)
} else {
buffer = bytes.NewBuffer(nil)
job.Stdout.Add(buffer)
} else if outs, err = job.Stdout.AddTable(); err != nil {
return err
}
if err := job.Run(); err != nil {
if err = job.Run(); err != nil {
return err
}
if version < 1.9 { // Send as a valid JSON array
outs := engine.NewTable("", 0)
if _, err := outs.ReadFrom(buffer); err != nil {
return err
}
if _, err := outs.WriteListTo(w); err != nil {
if _, err = outs.WriteListTo(w); err != nil {
return err
}
}
@ -514,24 +502,20 @@ func getImagesSearch(srv *Server, version float64, w http.ResponseWriter, r *htt
}
var (
buffer *bytes.Buffer
err error
outs *engine.Table
job = srv.Eng.Job("search", r.Form.Get("term"))
)
if version >= 1.9 {
job.Stdout.Add(w)
} else {
buffer = bytes.NewBuffer(nil)
job.Stdout.Add(buffer)
} else if outs, err = job.Stdout.AddTable(); err != nil {
return err
}
if err := job.Run(); err != nil {
if err = job.Run(); err != nil {
return err
}
if version < 1.9 { // Send as a valid JSON array
outs := engine.NewTable("", 0)
if _, err := outs.ReadFrom(buffer); err != nil {
return err
}
if _, err := outs.WriteListTo(w); err != nil {
if _, err = outs.WriteListTo(w); err != nil {
return err
}
}