}
func (sd *SubscriptionDispatcher) notify(xapps []Xapp, et EventType, s Subscription, seq int) error {
- notif := []SubscriptionNotif{}
- notif = append(notif, SubscriptionNotif{Id: s.req.Id, Version: seq, EventType: string(et), XappData: xapps})
+ xappData, err := json.Marshal(xapps)
+ if err != nil {
+ Logger.Info("json.Marshal failed: %v", err)
+ return err
+ }
+ notif := SubscriptionNotif{Id: s.req.Id, Version: seq, EventType: string(et), XApps: string(xappData)}
jsonData, err := json.Marshal(notif)
if err != nil {
Logger.Info("json.Marshal failed: %v", err)
// Execute the request with retry policy
return sd.retry(s, func() error {
+ Logger.Info("Posting notification to targetUrl=%s: %v", s.req.TargetUrl, notif)
resp, err := http.Post(s.req.TargetUrl, "application/json", bytes.NewBuffer(jsonData))
if err != nil {
Logger.Info("Posting to subscription failed: %v", err)
Id string `json:"id"`
Version int `json:"version"`
EventType string `json:"eventType"`
- XappData []Xapp `json:"xapp"`
+ XApps string `json:"xApps"`
}
type Subscription struct {