sshpoke/internal/server/driver/construct.go

25 lines
690 B
Go
Raw Normal View History

2023-11-17 20:39:00 +03:00
package driver
import (
"context"
"github.com/Neur0toxine/sshpoke/internal/config"
"github.com/Neur0toxine/sshpoke/internal/server/driver/base"
"github.com/Neur0toxine/sshpoke/internal/server/driver/nil"
2023-11-17 20:39:00 +03:00
"github.com/Neur0toxine/sshpoke/internal/server/driver/plugin"
"github.com/Neur0toxine/sshpoke/internal/server/driver/ssh"
)
func New(ctx context.Context, name string, driver config.DriverType, params config.DriverParams) (base.Driver, error) {
2023-11-17 20:39:00 +03:00
switch driver {
case config.DriverSSH:
return ssh.New(ctx, name, params)
case config.DriverPlugin:
return plugin.New(ctx, name, params)
case config.DriverNil:
2023-11-17 20:39:00 +03:00
fallthrough
default:
return nil.New(ctx, name, params)
2023-11-17 20:39:00 +03:00
}
}