diff options
author | Ayman Bagabas <ayman.bagabas@gmail.com> | 2023-11-17 15:29:33 -0500 |
---|---|---|
committer | Ayman Bagabas <ayman.bagabas@gmail.com> | 2023-11-23 11:47:24 -0500 |
commit | f46d04a18759071e45b057908050a01e061f1ddd (patch) | |
tree | e7d9d7cc1be92cf0d5f0a0136b02abf4829c2b7b /plumbing/protocol/packp/gitproto.go | |
parent | e2c6ae3333a3facd13aa52e1986a2ba2dbc56a9d (diff) | |
download | go-git-f46d04a18759071e45b057908050a01e061f1ddd.tar.gz |
plumbing: transport: use git-proto-request and decode error-line errors
Diffstat (limited to 'plumbing/protocol/packp/gitproto.go')
-rw-r--r-- | plumbing/protocol/packp/gitproto.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/plumbing/protocol/packp/gitproto.go b/plumbing/protocol/packp/gitproto.go index 806e44c..0b7ff8f 100644 --- a/plumbing/protocol/packp/gitproto.go +++ b/plumbing/protocol/packp/gitproto.go @@ -76,7 +76,11 @@ func (g *GitProtoRequest) Encode(w io.Writer) error { func (g *GitProtoRequest) Decode(r io.Reader) error { s := pktline.NewScanner(r) if !s.Scan() { - return s.Err() + err := s.Err() + if err == nil { + return ErrInvalidGitProtoRequest + } + return err } line := string(s.Bytes()) @@ -99,8 +103,9 @@ func (g *GitProtoRequest) Decode(r io.Reader) error { return fmt.Errorf("%w: missing pathname", ErrInvalidGitProtoRequest) } + g.Pathname = params[0] if len(params) > 1 { - g.Host = params[1] + g.Host = strings.TrimPrefix(params[1], "host=") } if len(params) > 2 { |