X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ocd%2Fcli%2Fealt%2Fcmd%2Fadapter%2Fhttphelper.go;h=b6931434f44ae12ed4edb77f136c18e500f6585c;hb=refs%2Fchanges%2F90%2F3590%2F2;hp=2f34d7ceecd8a249bb60826e794bb5b708e0f721;hpb=5d07bea8b04559a4e93774702cca1a09fc755323;p=ealt-edge.git diff --git a/ocd/cli/ealt/cmd/adapter/httphelper.go b/ocd/cli/ealt/cmd/adapter/httphelper.go index 2f34d7c..b693143 100644 --- a/ocd/cli/ealt/cmd/adapter/httphelper.go +++ b/ocd/cli/ealt/cmd/adapter/httphelper.go @@ -33,52 +33,79 @@ import ( var MECMClusterIP = os.Getenv("MECMClusterIP") var APPLCMPort = os.Getenv("MECMClusterPort") var ONBOARDPACKAGEPATH = os.Getenv("ONBOARDPACKAGEPATH") -var client = http.Client{} +var sslmode = os.Getenv("EALTSSLMode") func httpEndPointBuider(uri string) string { + localURI := strings.TrimSpace(MECMClusterIP) + ":" + strings.TrimSpace(APPLCMPort) + uri + if sslmode == "1" { + return "https://" + localURI + } + return "http://" + localURI +} + +//Function to build the Get Requests for Application Package +//Management and Application Life Cycle Management. +func HttpGetRequestBuilder(uri string, body []byte) { + + uri = httpEndPointBuider(uri) + fmt.Println("Request URL :\t" + uri) + request, err := http.NewRequest(http.MethodGet, uri, bytes.NewBuffer(body)) + request.Header.Set(common.ContentType, common.ApplicationJson) + if err != nil { + log.Fatalln(err) + } + client := GetHttpClient() + response, err := client.Do(request) + if err != nil { + log.Fatalln(err) + } + defer response.Body.Close() - return "http://" + strings.TrimSpace(MECMClusterIP) + strings.TrimSpace(APPLCMPort) + uri + output, err := ioutil.ReadAll(response.Body) + if err != nil { + log.Fatalln(err) + } + fmt.Println("Response Data: \n" + string(output)) } +//HTTP DELETE Message Builder func HttpDeleteRequestBuilder(uri string, body []byte) { uri = httpEndPointBuider(uri) + fmt.Println("Request URL :\t" + uri) request, err := http.NewRequest(http.MethodDelete, uri, bytes.NewBuffer(body)) - request.Header.Set("Content-Type", "application/json") + request.Header.Set(common.ContentType, common.ApplicationJson) if err != nil { log.Fatalln(err) } - + client := GetHttpClient() response, err := client.Do(request) if err != nil { log.Fatalln(err) } defer response.Body.Close() - output, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatalln(err) } - - fmt.Println(string(output)) - + fmt.Println("Response Data: \n" + string(output)) } func HttpPostRequestBuilder(uri string, body []byte) error { uri = httpEndPointBuider(uri) + fmt.Println("Request URL :\t" + uri) + fmt.Println("Request Body :\t" + string(body) + "\n") request, err := http.NewRequest(http.MethodPost, uri, bytes.NewBuffer(body)) - request.Header.Set("Content-Type", "application/json") - - fmt.Println(request) + request.Header.Set(common.ContentType, common.ApplicationJson) if err != nil { log.Fatalln(err) } - + client := GetHttpClient() response, err := client.Do(request) if err != nil { log.Fatalln(err) @@ -91,26 +118,40 @@ func HttpPostRequestBuilder(uri string, body []byte) error { log.Fatalln(err) } - fmt.Println(string(output)) + fmt.Println("Response Data: \n\n" + string(output)) return nil } func HttpMultiPartPostRequestBuilder(uri string, body []byte, file string) error { filepath := getFilePathWithName(file) + fmt.Println("File Path :" + filepath) uri = httpEndPointBuider(uri) - - request, err := fileUploadRequest(uri, "file", filepath) - - response, err := client.Do(request) + fmt.Println("Request URL :\t" + uri) + request, err := fileUploadRequest(uri, "file", filepath, file) if err != nil { log.Fatalln(err) } + client := GetHttpClient() + response, err := client.Do(request) + if err != nil { + log.Fatalln(err) + } else { + body := &bytes.Buffer{} + _, err := body.ReadFrom(response.Body) + if err != nil { + log.Fatal(err) + } + response.Body.Close() + + fmt.Println("Response Body:") - var result map[string]interface{} - json.NewDecoder(response.Body).Decode(&result) - fmt.Println(result) + fmt.Println(body) + var result map[string]interface{} + json.NewDecoder(response.Body).Decode(&result) + fmt.Println("ID has to be send in Create Application Instance Request") + } return nil } @@ -119,7 +160,7 @@ func getFilePathWithName(file string) string { return ONBOARDPACKAGEPATH + common.PATHSLASH + file } -func fileUploadRequest(uri string, paramName, filepath string) (*http.Request, error) { +func fileUploadRequest(uri string, paramName, filepath, filename string) (*http.Request, error) { file, err := os.Open(filepath) if err != nil { @@ -130,10 +171,11 @@ func fileUploadRequest(uri string, paramName, filepath string) (*http.Request, e defer file.Close() //Buffer to store the request body as bytes - var requestBody bytes.Buffer - multiPartWriter := multipart.NewWriter(&requestBody) + //var requestBody bytes.Buffer + requestBody := &bytes.Buffer{} + multiPartWriter := multipart.NewWriter(requestBody) - fileWriter, err := multiPartWriter.CreateFormFile("file_field", filepath) + fileWriter, err := multiPartWriter.CreateFormFile(paramName, filename) if err != nil { log.Fatalln(err) } @@ -146,11 +188,17 @@ func fileUploadRequest(uri string, paramName, filepath string) (*http.Request, e //Close multiwriter multiPartWriter.Close() + if err != nil { + return nil, err + } + + request, err := http.NewRequest(http.MethodPost, uri, requestBody) + request.Header.Set(common.ContentType, multiPartWriter.FormDataContentType()) + //request.Header.Set("Content-Type", "multipart/form-data") - request, err := http.NewRequest(http.MethodPost, uri, &requestBody) if err != nil { log.Fatalln(err) } - request.Header.Set("Content-Type", "multipart/form-data") + return request, err }