diff options
Diffstat (limited to 'internal/command/commandargs/command_args.go')
-rw-r--r-- | internal/command/commandargs/command_args.go | 7 |
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 { |