[DEV] add user and password

This commit is contained in:
Edouard DUPIN 2019-02-27 15:43:47 +01:00
parent db045bd9b7
commit 2f8f160a1b
2 changed files with 30 additions and 3 deletions

View File

@ -59,15 +59,23 @@ func newRecoder(r *os.File, exitSignalCh chan os.Signal) chan MQTT.Message {
}
func StartRecording(c *cli.Context) {
log.SetOutput(os.Stderr)
log.Print("START RECORDING")
url := createUrl(c.GlobalString("url"), c.GlobalInt("port"))
log.Print(" url=" + url)
file, err := os.Create(c.GlobalString("record"))
if err != nil {
log.Fatal(err)
}
topic := c.GlobalString("topic")
log.Print(" topic=" + topic)
opts := MQTT.NewClientOptions()
opts.AddBroker(url)
log.Print(" user=" + c.GlobalString("user"))
log.Print(" password=" + c.GlobalString("password"))
opts.SetUsername(c.GlobalString("user"))
opts.SetPassword(c.GlobalString("password"))
receiver := MQTT.NewClient(opts)
if token := receiver.Connect(); token.Wait() && token.Error() != nil {

25
main.go
View File

@ -3,16 +3,19 @@ package main
import (
"fmt"
"os"
"log"
"github.com/urfave/cli"
"github.com/redbeardlab/mqtt-stereo/backend"
//"github.com/redbeardlab/mqtt-stereo/backend"
"./backend"
)
func main() {
app := cli.NewApp()
app.Name = "mqtt-player"
log.Print("Start application")
log.SetOutput(os.Stderr)
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "record",
@ -34,6 +37,16 @@ func main() {
Usage: "What port to use to connect to the broker",
Value: 1883,
},
cli.StringFlag{
Name: "user",
Usage: "User name of the client",
Value: "",
},
cli.StringFlag{
Name: "password",
Usage: "User password of the client",
Value: "",
},
}
app.Commands = []cli.Command{
@ -42,8 +55,14 @@ func main() {
Aliases: []string{"r", "rec"},
Usage: "Record traffic from a MQTT broker",
Action: func(c *cli.Context) error {
fmt.Println(c.GlobalString("url"))
log.Print("REQUEST RECORD : ...")
log.Print(" url=" + c.GlobalString("url"))
log.Print(" port=" + c.GlobalString("port"))
log.Print(" user=" + c.GlobalString("user"))
log.Print(" password=" + c.GlobalString("password"))
log.Print(" topic=" + c.GlobalString("topic"))
backend.StartRecording(c)
log.Print("DONE RECORD : ...")
return nil
},
},