1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-24 13:48:49 +08:00
Mainflux.mainflux/cli/message.go

53 lines
1.1 KiB
Go
Raw Normal View History

package cli
MF-216 - Integrate Bashflux into monorepo (#308) * MF-216 - Integrate Bashflux into monorepo Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename clients -> things Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix FormatResLog Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Initialize Channels commands in channels.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Mv bashflux to cmd/ repertory Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Mv API commands files to bashflux repertory Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Initialize Users commands in users.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Initialize Version command in version.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Initialize Messages command in messages.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm bashflux .gitignore and mv commands to root .gitignore Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename API commands vars Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix certificates paths Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm test logs Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Remove get channels cmd without arguments Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix connect and disconnect commands Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix messages endpoint Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm useless comments and dead code Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Use contentTypeSenml var Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename cmdCobra -> cmd Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm else statments Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename SetServerAddr function vars Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename conf parameters Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename main with proper name Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix Update channel comment Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix README Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm .DS_Store from .gitignore Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename hhtp_client.go -> http.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm DeleteAllChannels and DeleteAllThings funcs Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix BF users usage log Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Improve bashflux logs Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Share types in funcs Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Typo fix Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix BF version cmd Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Set certs paths via env variables Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix package Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm not direct dependencies from Gopkg.toml Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix README Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Add def prefix to certificates paths Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * User thiings service for version cmd Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rename GetReqResp -> SendRequest Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix version help Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Return directly the pointer in NewVersionCmd Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Define endpoints names as consts and be consistent with naming Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Use Spintf for string concatenation Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * typo fix Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix README Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix version endpoint Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix serverAddr Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
2018-07-11 13:53:37 +02:00
import (
"net/http"
"strings"
"github.com/spf13/cobra"
)
const contentTypeSenml = "application/senml+json"
var cmdMessages = []cobra.Command{
cobra.Command{
Use: "send",
Short: "send <channel_id> <JSON_string> <client_token>",
Long: `Sends message on the channel`,
Run: func(cmd *cobra.Command, args []string) {
if len(args) != 3 {
LogUsage(cmd.Short)
return
}
SendMsg(args[0], args[1], args[2])
},
},
}
func NewMessagesCmd() *cobra.Command {
cmd := cobra.Command{
Use: "msg",
Short: "Send or retrieve messages",
Long: `Send or retrieve messages: control message flow on the channel`,
}
for i, _ := range cmdMessages {
cmd.AddCommand(&cmdMessages[i])
}
return &cmd
}
// SendMsg - publishes SenML message on the channel
func SendMsg(id, msg, token string) {
url := serverAddr + "/http/channels/" + id + "/messages"
req, err := http.NewRequest("POST", url, strings.NewReader(msg))
LogError(err)
req.Header.Set("Authorization", token)
req.Header.Add("Content-Type", contentTypeSenml)
resp, err := httpClient.Do(req)
FormatResLog(resp, err)
}