From 57e074d210c8eca864466087e2c5c7a3b40b8451 Mon Sep 17 00:00:00 2001 From: postmannen Date: Mon, 9 Jan 2023 03:59:13 +0100 Subject: [PATCH] fixed read messages from file, added helper scripts for ReqCli --- message_readers.go | 78 ++++++++++++++-------------- scripts/cliAshReadfolder.sh | 47 +++++++++++++++++ scripts/cliAshSocket.sh | 47 +++++++++++++++++ scripts/cliBashReadfolder.sh | 47 +++++++++++++++++ scripts/{cmd.sh => cliBashSocket.sh} | 0 5 files changed, 180 insertions(+), 39 deletions(-) create mode 100755 scripts/cliAshReadfolder.sh create mode 100755 scripts/cliAshSocket.sh create mode 100755 scripts/cliBashReadfolder.sh rename scripts/{cmd.sh => cliBashSocket.sh} (100%) diff --git a/message_readers.go b/message_readers.go index 812b9c0..7620f50 100644 --- a/message_readers.go +++ b/message_readers.go @@ -233,56 +233,56 @@ func (s *server) readFolder() { if event.Op == fsnotify.Create || event.Op == fsnotify.Chmod { fmt.Printf(" *** got *** : %v, op: %v\n", event.Name, event.Op) - } - func() { - fh, err := os.Open(event.Name) - if err != nil { - log.Printf("error: failed to open readFile from readFolder: %v\n", err) - return - } + func() { + fh, err := os.Open(event.Name) + if err != nil { + log.Printf("error: failed to open readFile from readFolder: %v\n", err) + return + } - b, err := io.ReadAll(fh) - if err != nil { - log.Printf("error: failed to readall from readFolder: %v\n", err) + b, err := io.ReadAll(fh) + if err != nil { + log.Printf("error: failed to readall from readFolder: %v\n", err) + fh.Close() + return + } fh.Close() - return - } - fh.Close() - b = bytes.Trim(b, "\x00") + b = bytes.Trim(b, "\x00") - // unmarshal the JSON into a struct - sams, err := s.convertBytesToSAMs(b) - if err != nil { - er := fmt.Errorf("error: malformed json received on socket: %s\n %v", b, err) - s.errorKernel.errSend(s.processInitial, Message{}, er) - return - } + // unmarshal the JSON into a struct + sams, err := s.convertBytesToSAMs(b) + if err != nil { + er := fmt.Errorf("error: malformed json received on socket: %s\n %v", b, err) + s.errorKernel.errSend(s.processInitial, Message{}, er) + return + } - for i := range sams { + for i := range sams { - // Fill in the value for the FromNode field, so the receiver - // can check this field to know where it came from. - sams[i].Message.FromNode = Node(s.nodeName) + // Fill in the value for the FromNode field, so the receiver + // can check this field to know where it came from. + sams[i].Message.FromNode = Node(s.nodeName) - // Send an info message to the central about the message picked - // for auditing. - er := fmt.Errorf("info: message read from socket on %v: %v", s.nodeName, sams[i].Message) - s.errorKernel.errSend(s.processInitial, Message{}, er) - } + // Send an info message to the central about the message picked + // for auditing. + er := fmt.Errorf("info: message read from socket on %v: %v", s.nodeName, sams[i].Message) + s.errorKernel.errSend(s.processInitial, Message{}, er) + } - // Send the SAM struct to be picked up by the ring buffer. - s.toRingBufferCh <- sams + // Send the SAM struct to be picked up by the ring buffer. + s.toRingBufferCh <- sams - // Delete the file. - err = os.Remove(event.Name) - if err != nil { - log.Printf("error: failed to remove readFile from readFolder: %v\n", err) - return - } + // Delete the file. + err = os.Remove(event.Name) + if err != nil { + log.Printf("error: failed to remove readFile from readFolder: %v\n", err) + return + } - }() + }() + } case err, ok := <-watcher.Errors: if !ok { diff --git a/scripts/cliAshReadfolder.sh b/scripts/cliAshReadfolder.sh new file mode 100755 index 0000000..9a5964b --- /dev/null +++ b/scripts/cliAshReadfolder.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "No toNode supplied" + exit 1 +fi +if [ -z "$2" ]; then + echo "No cmd supplied" + exit 1 +fi + +command=$2 + +IFS=',' read -r -a array <<<"$1" + +function sendMessage() { + cat >msg.yaml <msg.yaml <msg.yaml <