repos / git-pr

a self-hosted git collaboration server
git clone https://github.com/picosh/git-pr.git

Eric Bower  ·  2024-07-14

mdw.go

 1package git
 2
 3import (
 4	"fmt"
 5
 6	"github.com/charmbracelet/ssh"
 7	"github.com/charmbracelet/wish"
 8)
 9
10func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) wish.Middleware {
11	return func(next ssh.Handler) ssh.Handler {
12		return func(sesh ssh.Session) {
13			args := sesh.Command()
14			cli := NewCli(sesh, be, pr)
15			margs := append([]string{"git"}, args...)
16			err := cli.Run(margs)
17			if err != nil {
18				be.Logger.Error("error when running cli", "err", err)
19				wish.Fatalln(sesh, fmt.Errorf("err: %w", err))
20				next(sesh)
21				return
22			}
23		}
24	}
25}