package client import ( "bufio" "fmt" "os" ) func readMessageBody() string { fmt.Println("Enter message content (limited to 1000 bytes):") scanner := bufio.NewScanner(os.Stdin) scanner.Scan() // FIX: make sure this doesnt die return scanner.Text() } func AskUserPassword() string { fmt.Println("Enter key store password") scanner := bufio.NewScanner(os.Stdin) scanner.Scan() // FIX: make sure this doesnt die return scanner.Text() } func commandError() { fmt.Println("MSG SERVICE: command error!") showHelp() } func showHelp() { fmt.Println("Comandos da aplicação cliente:") fmt.Println("-user : Especifica o ficheiro com dados do utilizador. Por omissão, será assumido que esse ficheiro é userdata.p12.") fmt.Println("send : Envia uma mensagem com assunto destinada ao utilizador com identificador . O conteúdo da mensagem será lido do stdin, e o tamanho deve ser limitado a 1000 bytes.") fmt.Println("askqueue: Solicita ao servidor que lhe envie a lista de mensagens não lidas da queue do utilizador.") fmt.Println("getmsg : Solicita ao servidor o envio da mensagem da sua queue com número .") fmt.Println("help: Imprime instruções de uso do programa.") } func showMessagesInfo(messages []ClientMessageInfo) { for _, message := range messages { fmt.Printf("%v:%v:%v:%v\n", message.Num, message.FromUID, message.Timestamp, message.Subject) } } func showMessage(message ClientMessage) { fmt.Printf("From:%v\n", message.FromUID) fmt.Printf("To:%v\n", message.ToUID) fmt.Printf("Subject:%v\n", message.Subject) fmt.Printf("Body:%v\n", message.Body) }