import (
"bytes"
"ealt/cmd/common"
+ "encoding/json"
"fmt"
"io"
"io/ioutil"
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
+}
- return "http://" + strings.TrimSpace(MECMClusterIP) + ":" + strings.TrimSpace(APPLCMPort) + uri
+//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()
+
+ 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("Response Data: \n" + string(output))
-
}
func HttpPostRequestBuilder(uri string, body []byte) error {
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)
fmt.Println("File Path :" + filepath)
uri = httpEndPointBuider(uri)
fmt.Println("Request URL :\t" + uri)
- request, err := fileUploadRequest(uri, "file", filepath)
+ 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)
log.Fatal(err)
}
response.Body.Close()
- fmt.Println(response.StatusCode)
- fmt.Println(response.Header)
- // fmt.Println(body)
- // var result map[string]interface{}
- // json.NewDecoder(response.Body).Decode(&result)
- // fmt.Println(result)
- }
+ fmt.Println("Response Body:")
+
+ 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
}
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 {
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)
}
//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.Add("Content-Type", multiPartWriter.FormDataContentType())
- //request.Header.Set("Content-Type", "multipart/form-data")
+
return request, err
}