From 1a79d18c78a97441520f739e70f0b3c96ac812dd Mon Sep 17 00:00:00 2001 From: Terekhin Alexandr Date: Sun, 15 Oct 2023 16:50:21 +0300 Subject: [PATCH] Fix null transmission --- ui/amqp_test.go | 12 ++++++++++++ yabl/strings.go | 9 +++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ui/amqp_test.go b/ui/amqp_test.go index 4216079..a75c571 100644 --- a/ui/amqp_test.go +++ b/ui/amqp_test.go @@ -33,6 +33,18 @@ func TestNewAmqp(t *testing.T) { client.Consume(event) + event = &yabl.Event{ + Tag: &tag, + Field: &field, + ActionName: &action, + Object: nil, + //unit: 3, + Updated: &now, + Value: nil, + } + + client.Consume(event) + client.Stop() }) diff --git a/yabl/strings.go b/yabl/strings.go index 75b5457..a25f47f 100644 --- a/yabl/strings.go +++ b/yabl/strings.go @@ -217,19 +217,24 @@ func (c ConnectedOut8bitType) String() string { } func (u *Event) MarshalJSON() ([]byte, error) { + var val *string + if u.Value != nil { + s := fmt.Sprintf("%v", u.Value) + val = &s + } return json.Marshal(struct { Host *string Unit uint ActionName *AName Field *FName Updated *time.Time - Value string + Value *string `json:"Value,omitempty"` }{ Host: u.Tag, Unit: u.GetUnitId(), ActionName: u.ActionName, Field: u.Field, Updated: u.Updated, - Value: fmt.Sprintf("%v", u.Value), + Value: val, }) }