diff options
Diffstat (limited to 'cmd/receivepack9418/gitproto.go')
| -rw-r--r-- | cmd/receivepack9418/gitproto.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cmd/receivepack9418/gitproto.go b/cmd/receivepack9418/gitproto.go new file mode 100644 index 00000000..609f2c12 --- /dev/null +++ b/cmd/receivepack9418/gitproto.go @@ -0,0 +1,23 @@ +package main + +import ( + "fmt" + "io" + + "codeberg.org/lindenii/furgit/format/pktline" +) + +func readGitProtoRequest(r io.Reader) (gitProtoRequest, error) { + dec := pktline.NewDecoder(r, pktline.ReadOptions{}) + + frame, err := dec.ReadFrame() + if err != nil { + return gitProtoRequest{}, err + } + + if frame.Type != pktline.PacketData { + return gitProtoRequest{}, fmt.Errorf("expected initial pkt-line data, got %v", frame.Type) + } + + return parseGitProtoRequestPayload(frame.Payload) +} |
