go-rest-cctweaked/cli/ArgsProcessor.go
2025-03-14 15:23:44 +03:00

71 lines
1.1 KiB
Go

package cli
import (
"fmt"
"os"
)
const PROJECT_NAME string = "go-rest-cctweaked"
type knownArguments int
const (
enumStart knownArguments = iota
HelpArg
SendArg
RecieveArg
WrongArg
)
var argumentsDescription = map[knownArguments]string{
HelpArg: "help - shows help message.",
SendArg: "send <url> <content> <type> - sends cctweaked message to specified restfull endpoint.",
RecieveArg: "recieve <url> - fetches current message on server",
}
func gracefullExit(msg string) {
fmt.Println(msg)
os.Exit(0)
}
func BasicInterface() {
args := os.Args[1:]
if len(args) == 0 {
gracefullExit("Can't find argument. Please refer to --help")
}
knownArg := getArgType(args[0])
switch knownArg {
case HelpArg:
processHelp()
case SendArg:
processSend(args)
case RecieveArg:
processRecieve(args)
case WrongArg:
gracefullExit("Can't find argument. Please refer to --help")
}
}
func getArgType(argument string) knownArguments {
switch argument {
case "help":
return HelpArg
case "--help":
return HelpArg
case "-h":
return HelpArg
case "send":
return SendArg
case "recieve":
return RecieveArg
default:
return WrongArg
}
}