- switch subRouteAction.Command {
- case CREATE:
- _, postErr := rc.rtClient.Handle.ProvideXappSubscriptionHandle(rc.xappHandleParams.WithXappSubscriptionData(&xappSubReq))
- if postErr != nil && !(strings.Contains(postErr.Error(), "status 200")) {
- xapp.Logger.Error("Updating routing manager about subscription id = %d failed with error: %v", subID, postErr)
- return postErr
- } else {
- xapp.Logger.Info("Succesfully updated routing manager about the subscription: %d", subID)
- return nil
- }
- case DELETE:
- _, _, deleteErr := rc.rtClient.Handle.DeleteXappSubscriptionHandle(rc.xappDeleteParams.WithXappSubscriptionData(&xappSubReq))
- if deleteErr != nil && !(strings.Contains(deleteErr.Error(), "status 200")) {
- xapp.Logger.Error("Deleting subscription id = %d in routing manager, failed with error: %v", subID, deleteErr)
- return deleteErr
- } else {
- xapp.Logger.Info("Succesfully deleted subscription: %d in routing manager.", subID)
- return nil
- }
- default:
- return nil
+func (rc *RtmgrClient) SubscriptionRequestCreate(subRouteAction SubRouteInfo) error {
+ subID := int32(subRouteAction.SubID)
+ xapp.Logger.Debug("CREATE %s ongoing", subRouteAction.String())
+ createData := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID}
+ createHandle := rtmgrhandle.NewProvideXappSubscriptionHandleParamsWithTimeout(2 * time.Second)
+ createHandle.WithXappSubscriptionData(&createData)
+ _, err := rc.rtClient.Handle.ProvideXappSubscriptionHandle(createHandle)
+ if err != nil && !(strings.Contains(err.Error(), "status 200")) {
+ return fmt.Errorf("CREATE %s failed with error: %s", subRouteAction.String(), err.Error())