restic/vendor/github.com/pkg/sftp/request-errors.go

43 lines
1.2 KiB
Go

package sftp
// Error types that match the SFTP's SSH_FXP_STATUS codes. Gives you more
// direct control of the errors being sent vs. letting the library work them
// out from the standard os/io errors.
type fxerr uint32
const (
ErrSshFxOk = fxerr(ssh_FX_OK)
ErrSshFxEof = fxerr(ssh_FX_EOF)
ErrSshFxNoSuchFile = fxerr(ssh_FX_NO_SUCH_FILE)
ErrSshFxPermissionDenied = fxerr(ssh_FX_PERMISSION_DENIED)
ErrSshFxFailure = fxerr(ssh_FX_FAILURE)
ErrSshFxBadMessage = fxerr(ssh_FX_BAD_MESSAGE)
ErrSshFxNoConnection = fxerr(ssh_FX_NO_CONNECTION)
ErrSshFxConnectionLost = fxerr(ssh_FX_CONNECTION_LOST)
ErrSshFxOpUnsupported = fxerr(ssh_FX_OP_UNSUPPORTED)
)
func (e fxerr) Error() string {
switch e {
case ErrSshFxOk:
return "OK"
case ErrSshFxEof:
return "EOF"
case ErrSshFxNoSuchFile:
return "No Such File"
case ErrSshFxPermissionDenied:
return "Permission Denied"
case ErrSshFxBadMessage:
return "Bad Message"
case ErrSshFxNoConnection:
return "No Connection"
case ErrSshFxConnectionLost:
return "Connection Lost"
case ErrSshFxOpUnsupported:
return "Operation Unsupported"
default:
return "Failure"
}
}