Browse Source

Fix a bug which caused 'docker push' to fail with 411-lenght-required in Go 1.0

Solomon Hykes 12 years ago
parent
commit
a05af3ebf3
1 changed files with 2 additions and 3 deletions
  1. 2 3
      registry.go

+ 2 - 3
registry.go

@@ -1,7 +1,6 @@
 package docker
 
 import (
-	"bytes"
 	"encoding/json"
 	"fmt"
 	"github.com/dotcloud/docker/auth"
@@ -33,7 +32,7 @@ func NewImgJson(src []byte) (*Image, error) {
 func NewMultipleImgJson(src []byte) ([]*Image, error) {
 	ret := []*Image{}
 
-	dec := json.NewDecoder(bytes.NewReader(src))
+	dec := json.NewDecoder(strings.NewReader(string(src)))
 	for {
 		m := &Image{}
 		if err := dec.Decode(m); err == io.EOF {
@@ -227,7 +226,7 @@ func (graph *Graph) PushImage(stdout io.Writer, imgOrig *Image, authConfig *auth
 		fmt.Fprintf(stdout, "Pushing %s metadata\n", img.Id)
 
 		// FIXME: try json with UTF8
-		jsonData := bytes.NewReader(jsonRaw)
+		jsonData := strings.NewReader(string(jsonRaw))
 		req, err := http.NewRequest("PUT", REGISTRY_ENDPOINT+"/images/"+img.Id+"/json", jsonData)
 		if err != nil {
 			return err