X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fnbi%2Fhttpgetter.go;h=33db0f890226dee0c79749eb0455fcb5b651125a;hb=refs%2Fchanges%2F90%2F490%2F1;hp=678040346066a067275110301de3a80fccc634ab;hpb=871fa393844ce1b61b8d5218d27687d9fc05803a;p=ric-plt%2Frtmgr.git diff --git a/pkg/nbi/httpgetter.go b/pkg/nbi/httpgetter.go index 6780403..33db0f8 100644 --- a/pkg/nbi/httpgetter.go +++ b/pkg/nbi/httpgetter.go @@ -28,23 +28,53 @@ package nbi import ( "encoding/json" "net/http" - "rtmgr" + "routing-manager/pkg/rtmgr" + "routing-manager/pkg/rpe" + "routing-manager/pkg/sdl" "time" ) -var myClient = &http.Client{Timeout: 1 * time.Second} +type HttpGetter struct { + NbiEngine + FetchAllXapps FetchAllXappsHandler +} + +func NewHttpGetter() *HttpGetter { + instance := new(HttpGetter) + instance.FetchAllXapps = fetchAllXapps + return instance +} -func fetchXappList(url string) (*[]rtmgr.XApp, error) { - rtmgr.Logger.Debug("Invoked httpgetter.fetchXappList") - r, err := myClient.Get(url) +var myClient = &http.Client{Timeout: 5 * time.Second} + +func fetchAllXapps(xmurl string) (*[]rtmgr.XApp, error) { + rtmgr.Logger.Info("Invoked httpgetter.fetchXappList: " + xmurl) + r, err := myClient.Get(xmurl) if err != nil { return nil, err } defer r.Body.Close() - rtmgr.Logger.Debug("http client raw response: %v", r) - var xapps []rtmgr.XApp - json.NewDecoder(r.Body).Decode(&xapps) - rtmgr.Logger.Info("HTTP GET: OK") - rtmgr.Logger.Debug("httpgetter.fetchXappList returns: %v", xapps) - return &xapps, err + + if r.StatusCode == 200 { + rtmgr.Logger.Debug("http client raw response: %v", r) + var xapps []rtmgr.XApp + err = json.NewDecoder(r.Body).Decode(&xapps) + if err != nil { + rtmgr.Logger.Warn("Json decode failed: " + err.Error()) + } + rtmgr.Logger.Info("HTTP GET: OK") + rtmgr.Logger.Debug("httpgetter.fetchXappList returns: %v", xapps) + return &xapps, err + } + rtmgr.Logger.Warn("httpgetter got an unexpected http status code: %v", r.StatusCode) + return nil, nil +} + +func (g *HttpGetter) Initialize(xmurl string, nbiif string, fileName string, configfile string, + sdlEngine sdl.SdlEngine, rpeEngine rpe.RpeEngine, triggerSBI chan<- bool) error { + return nil +} + +func (g *HttpGetter) Terminate() error { + return nil }