Antonio Mika
ยท
2025-03-12
auth.go
1package auth
2
3import (
4 "github.com/picosh/pico/pkg/pssh"
5 "github.com/picosh/pico/pkg/send/utils"
6)
7
8func Middleware(writeHandler utils.CopyFromClientHandler) pssh.SSHServerMiddleware {
9 return func(sshHandler pssh.SSHServerHandler) pssh.SSHServerHandler {
10 return func(session *pssh.SSHServerConnSession) error {
11 defer func() {
12 if r := recover(); r != nil {
13 writeHandler.GetLogger(session).Error("error running auth middleware", "err", r)
14 }
15 }()
16
17 err := writeHandler.Validate(session)
18 if err != nil {
19 utils.ErrorHandler(session, err)
20 return err
21 }
22
23 return sshHandler(session)
24 }
25 }
26}