X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcharts%2Fchart_manager.go;h=75ec338d0822c81ed8954b6efce5d5473e9b0e1d;hb=f8dc81bc7dd198da9fcb17bef2e164dc71c39e49;hp=252b2dc35ec65aa46fa60d8463cd713ea8d5f574;hpb=6e8d970e6ec582bd4473c3fbb6772906658608ca;p=ric-plt%2Fricdms.git diff --git a/pkg/charts/chart_manager.go b/pkg/charts/chart_manager.go index 252b2dc..75ec338 100644 --- a/pkg/charts/chart_manager.go +++ b/pkg/charts/chart_manager.go @@ -21,6 +21,8 @@ package charts import ( + "fmt" + "io" "io/ioutil" "net/http" @@ -32,6 +34,7 @@ type ChartMgr struct { type IChartMgr interface { GetCharts() (string, error) + DownloadChart(string, string) (io.ReadCloser, error) } func NewChartmgr() IChartMgr { @@ -58,3 +61,20 @@ func (c *ChartMgr) GetCharts() (string, error) { ricdms.Logger.Debug("response : %+v", string(respByte)) return string(respByte), nil } + +func (c *ChartMgr) DownloadChart(chartName string, version string) (io.ReadCloser, error) { + ricdms.Logger.Debug("Download Charts invoked") + + if chartName == "" || version == "" { + return nil, fmt.Errorf("chartname or version is empty") + } + + ChartURL := fmt.Sprintf(ricdms.Config.DownloadChartURLFormat, chartName, version) + + resp, err := http.Get(ChartURL) + if err != nil { + return nil, err + } + + return resp.Request.Body, nil +}