Check for the git media header and strip it off

This commit is contained in:
rubyist 2014-03-27 10:59:32 -04:00 committed by Rick Olson
parent c7b35e451f
commit 11cdd54e49

@ -4,6 +4,7 @@ import (
".."
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"github.com/cheggaaa/pb"
"io"
@ -17,6 +18,7 @@ import (
const (
gitMediaType = "application/vnd.git-media"
gitMediaMetaType = gitMediaType + "+json; charset=utf-8"
gitMediaHeader = "0014 git media v1\n"
)
func Put(filehash, filename string) error {
@ -74,6 +76,16 @@ func Get(filename string) (io.ReadCloser, error) {
return nil, err
}
header := make([]byte, len(gitMediaHeader))
_, err = io.ReadAtLeast(res.Body, header, len(gitMediaHeader))
if err != nil {
return nil, err
}
if string(header) != gitMediaHeader {
return nil, errors.New("Invalid header")
}
return res.Body, nil
}