diff --git a/ees/httpjsonmap.go b/ees/httpjsonmap.go index 286a9a6c4..5fb55f148 100644 --- a/ees/httpjsonmap.go +++ b/ees/httpjsonmap.go @@ -99,7 +99,7 @@ func (httpEE *HTTPjsonMapEE) ExtraData(ev *utils.CGREvent) any { return nil } func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (any, error) { body, err := json.Marshal(mp.Event) return &HTTPPosterRequest{ - Header: httpEE.hdr, + Header: httpEE.hdr.Clone(), Body: body, }, err } @@ -114,7 +114,7 @@ func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any } body, err := json.Marshal(valMp) return &HTTPPosterRequest{ - Header: httpEE.hdr, + Header: httpEE.hdr.Clone(), Body: body, }, err } diff --git a/ees/httppost.go b/ees/httppost.go index 2c5d105fd..fdedb05ea 100644 --- a/ees/httppost.go +++ b/ees/httppost.go @@ -102,7 +102,7 @@ func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (any, error) { urlVals.Set(k, utils.IfaceAsString(v)) } return &HTTPPosterRequest{ - Header: httpPost.hdr, + Header: httpPost.hdr.Clone(), Body: urlVals, }, nil } @@ -116,7 +116,7 @@ func (httpPost *HTTPPostEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, urlVals.Set(strings.Join(path, utils.NestingSep), nmIt.String()) } return &HTTPPosterRequest{ - Header: httpPost.hdr, + Header: httpPost.hdr.Clone(), Body: urlVals, }, nil } diff --git a/ees/httppost_test.go b/ees/httppost_test.go index 477ab24c2..37e6345a9 100644 --- a/ees/httppost_test.go +++ b/ees/httppost_test.go @@ -127,20 +127,39 @@ func TestHttpPostSync(t *testing.T) { t.Error(err) } - mp := &utils.CGREvent{ + req1, err := exp.PrepareMap(&utils.CGREvent{ Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - } - - vals, err := exp.PrepareMap(mp) + }) if err != nil { t.Fatal(err) } - for i := 0; i < 3; i++ { - go exp.ExportEvent(context.Background(), vals, "") + req2, err := exp.PrepareMap(&utils.CGREvent{ + Event: map[string]any{ + "Account": "1001", + "Destination": "1003", + }, + }) + if err != nil { + t.Fatal(err) + } + req3, err := exp.PrepareMap(&utils.CGREvent{ + Event: map[string]any{ + "Account": "1003", + "Destination": "1001", + }, + }) + if err != nil { + t.Fatal(err) + } + + requests := []any{req1, req2, req3} + + for i := range 3 { + go exp.ExportEvent(context.Background(), requests[i], "") } select {