diff options
| author | 2026-03-08 01:56:58 +0800 | |
|---|---|---|
| committer | 2026-03-08 02:00:11 +0800 | |
| commit | 33fda1b8e4da0ad9d4208a8b8249c8d7b305f4ae (patch) | |
| tree | 4028b1362b816703c9df011797f060dc8b8ad0d5 /cmd/receivepack9418/gitproto.go | |
| parent | receivepack: Actually test it (diff) | |
| signature | No signature | |
cmd/receivepack9418: Init
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) +} |
