pubsub

created pr with 20.1 on 2024-08-20T03:19:05Z · by c8ef7d19
cmds
checkout latest patchset:
ssh pr.pico.sh print 20 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print 20.[rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 20

Patchset 20.1 on 2024-08-20T03:19:05Z · commit 5d3b1a4

+34 -0 send/sftp/handler.go #
......@@ -10,6 +10,7 @@ import (
1010 "slices"
1111
1212 "github.com/charmbracelet/ssh"
13+ "github.com/charmbracelet/wish"
1314 "github.com/picosh/send/send/utils"
1415 "github.com/pkg/sftp"
1516 )
......@@ -127,3 +128,36 @@ func (f *handler) Fileread(r *sftp.Request) (io.ReaderAt, error) {
127128
128129 return reader, err
129130 }
131+
132+type handlererr struct {
133+ Handler *handler
134+}
135+
136+func (f *handlererr) Filecmd(r *sftp.Request) error {
137+ err := f.Handler.Filecmd(r)
138+ if err != nil {
139+ wish.Errorln(f.Handler.session, err)
140+ }
141+ return err
142+}
143+func (f *handlererr) Filelist(r *sftp.Request) (sftp.ListerAt, error) {
144+ result, err := f.Handler.Filelist(r)
145+ if err != nil {
146+ wish.Errorln(f.Handler.session, err)
147+ }
148+ return result, err
149+}
150+func (f *handlererr) Filewrite(r *sftp.Request) (io.WriterAt, error) {
151+ result, err := f.Handler.Filewrite(r)
152+ if err != nil {
153+ wish.Errorln(f.Handler.session, err)
154+ }
155+ return result, err
156+}
157+func (f *handlererr) Fileread(r *sftp.Request) (io.ReaderAt, error) {
158+ result, err := f.Handler.Fileread(r)
159+ if err != nil {
160+ wish.Errorln(f.Handler.session, err)
161+ }
162+ return result, err
163+}
+9 -5 send/sftp/sftp.go #
......@@ -5,6 +5,7 @@ import (
55 "io"
66
77 "github.com/charmbracelet/ssh"
8+ "github.com/charmbracelet/wish"
89 "github.com/picosh/send/send/utils"
910 "github.com/pkg/sftp"
1011 )
......@@ -25,19 +26,21 @@ func SubsystemHandler(writeHandler utils.CopyFromClientHandler) ssh.SubsystemHan
2526 defer func() {
2627 if r := recover(); r != nil {
2728 writeHandler.GetLogger().Error("error running sftp middleware", "err", r)
28- _, _ = session.Stderr().Write([]byte("error running sftp middleware, check the flags you are using\r\n"))
29+ wish.Println(session, "error running sftp middleware, check the flags you are using")
2930 }
3031 }()
3132
3233 err := writeHandler.Validate(session)
3334 if err != nil {
34- utils.ErrorHandler(session, err)
35+ wish.Errorln(session, err)
3536 return
3637 }
3738
38- handler := &handler{
39- session: session,
40- writeHandler: writeHandler,
39+ handler := &handlererr{
40+ Handler: &handler{
41+ session: session,
42+ writeHandler: writeHandler,
43+ },
4144 }
4245
4346 handlers := sftp.Handlers{
......@@ -51,6 +54,7 @@ func SubsystemHandler(writeHandler utils.CopyFromClientHandler) ssh.SubsystemHan
5154
5255 err = requestServer.Serve()
5356 if err != nil && !errors.Is(err, io.EOF) {
57+ wish.Errorln(session, err)
5458 writeHandler.GetLogger().Error("Error serving sftp subsystem", "err", err)
5559 }
5660 }
Back to top