-func (s *Subscriber) CreateTransport() *apiclient.RICSubscription {
- return apiclient.New(httptransport.New(s.remoteHost, s.remoteUrl, s.remoteProt), strfmt.Default)
+// Subscription interface for xApp: DELETE
+func (r *Subscriber) UnSubscribe(subId string) error {
+ params := apicommon.NewUnsubscribeParamsWithTimeout(r.timeout).WithSubscriptionID(subId)
+ _, err := r.CreateTransport().Common.Unsubscribe(params)
+
+ return err
+}
+
+// Subscription interface for xApp: QUERY
+func (r *Subscriber) QuerySubscriptions() (models.SubscriptionList, error) {
+ resp, err := http.Get(fmt.Sprintf("http://%s/%s/subscriptions", r.remoteHost, r.remoteUrl))
+ if err != nil {
+ return models.SubscriptionList{}, err
+ }
+
+ defer resp.Body.Close()
+
+ contents, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ return models.SubscriptionList{}, err
+ }
+
+ subscriptions := models.SubscriptionList{}
+ err = json.Unmarshal([]byte(string(contents)), &subscriptions)
+ if err != nil {
+ return models.SubscriptionList{}, err
+ }
+
+ return subscriptions, nil
+}
+
+func (r *Subscriber) CreateTransport() *apiclient.RICSubscription {
+ return apiclient.New(httptransport.New(r.remoteHost, r.remoteUrl, r.remoteProt), strfmt.Default)