summaryrefslogtreecommitdiff
path: root/internal/command/commandargs/command_args.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/command/commandargs/command_args.go')
-rw-r--r--internal/command/commandargs/command_args.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/command/commandargs/command_args.go b/internal/command/commandargs/command_args.go
index b7d04a8..a01b8b2 100644
--- a/internal/command/commandargs/command_args.go
+++ b/internal/command/commandargs/command_args.go
@@ -1,6 +1,9 @@
package commandargs
import (
+ "errors"
+ "fmt"
+
"gitlab.com/gitlab-org/gitlab-shell/internal/executable"
"gitlab.com/gitlab-org/gitlab-shell/internal/sshenv"
)
@@ -13,7 +16,7 @@ type CommandArgs interface {
}
func Parse(e *executable.Executable, arguments []string, env sshenv.Env) (CommandArgs, error) {
- var args CommandArgs = &GenericArgs{Arguments: arguments}
+ var args CommandArgs
switch e.Name {
case executable.GitlabShell:
@@ -22,6 +25,8 @@ func Parse(e *executable.Executable, arguments []string, env sshenv.Env) (Comman
args = &AuthorizedKeys{Arguments: arguments}
case executable.AuthorizedPrincipalsCheck:
args = &AuthorizedPrincipals{Arguments: arguments}
+ default:
+ return nil, errors.New(fmt.Sprintf("unknown executable: %s", e.Name))
}
if err := args.Parse(); err != nil {