Eric Bower
·
2026-02-24
mdw.go
1package git
2
3import (
4 "fmt"
5
6 "github.com/picosh/pico/pkg/pssh"
7)
8
9func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) pssh.SSHServerMiddleware {
10 return func(next pssh.SSHServerHandler) pssh.SSHServerHandler {
11 return func(sesh *pssh.SSHServerConnSession) error {
12 args := sesh.Command()
13 cli := NewCli(sesh, be, pr)
14 margs := append([]string{"git"}, args...)
15 be.Logger.Info("ssh args", "args", args)
16 err := cli.Run(margs)
17 if err != nil {
18 be.Logger.Error("error when running cli", "err", err)
19 sesh.Fatal(fmt.Errorf("err: %w", err))
20 _ = next(sesh)
21 return err
22 }
23
24 return nil
25 }
26 }
27}