Commit c8130847 authored by Roshan Patil's avatar Roshan Patil
Browse files

Merge branch 'Roshanp-MQLResponseChanges' into Roshanp-NewMQLChanges

parents a7ca3463 10e8b1ee
Branches
Tags
1 merge request!68Core dev bto c
Showing with 36 additions and 26 deletions
......@@ -35,7 +35,7 @@ type responseData struct {
Result interface{} `json:"result"`
Error string `json:"error"`
ResponseHeader interface{} `json:"reponseHeader"`
ErrorCode string `json:"errorCode"`
ErrorCode int `json:"errorCode"`
DebugResponse DebugResponse `json:"debugInfo"`
}
......
......@@ -7,7 +7,7 @@ import (
"strings"
"time"
"github.com/hashicorp/go-version"
version "github.com/hashicorp/go-version"
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/statemdl"
......@@ -92,60 +92,70 @@ func executeService(name string, data []byte, isForm bool, formData *multipart.F
}
func commonHandler(c *gin.Context, isRestricted, isRoleBased bool, principalObj servicebuildermdl.Principal) {
service := c.Request.Header.Get("Service-Header")
serviceHeader := c.Request.Header.Get("Service-Header")
services := strings.Split(serviceHeader, ",")
header := c.Request.Header.Get("Content-Type")
versionError := appVersioning(c)
if versionError != nil {
c.JSON(http.StatusExpectationFailed, versionError.Error())
return
}
responseDataObj := setResponseHeader(service)
responseMap := make(map[string]responseData)
if isMultipartRequest(header) {
responseDataObj := responseData{}
form, multiPartError := c.MultipartForm()
if errormdl.CheckErr(multiPartError) != nil {
responseDataObj.Error = errormdl.CheckErr(multiPartError).Error()
loggermdl.LogError(multiPartError)
c.JSON(http.StatusExpectationFailed, responseDataObj)
return
}
result, ab, err := executeService(service, nil, true, form, isRestricted, isRoleBased, principalObj)
if errormdl.CheckErr1(err) != nil {
responseDataObj.Error = errormdl.CheckErr1(err).Error()
loggermdl.LogError(err)
for i := 0; i < len(services); i++ {
service := services[i]
result, ab, err := executeService(service, nil, true, form, isRestricted, isRoleBased, principalObj)
if errormdl.CheckErr1(err) != nil {
responseDataObj.Error = errormdl.CheckErr1(err).Error()
loggermdl.LogError(err)
responseDataObj = formatResponse(ab, responseDataObj)
}
responseDataObj.Result = result
responseDataObj = formatResponse(ab, responseDataObj)
c.JSON(http.StatusExpectationFailed, responseDataObj)
return
responseMap[service] = responseDataObj
}
responseDataObj.Result = result
responseDataObj = formatResponse(ab, responseDataObj)
c.JSON(http.StatusOK, responseDataObj)
c.JSON(http.StatusOK, responseMap)
return
}
responseDataObj := responseData{}
var reqBody []byte
if c.Request.Body != nil {
var readError error
reqBody, readError = ioutil.ReadAll(c.Request.Body)
if errormdl.CheckErr2(readError) != nil {
responseDataObj.Error = errormdl.CheckErr2(readError).Error()
responseDataObj.ErrorCode = 417
loggermdl.LogError(readError)
c.JSON(http.StatusExpectationFailed, responseDataObj)
return
}
}
result, ab, err := executeService(service, reqBody, false, nil, isRestricted, isRoleBased, principalObj)
if errormdl.CheckErr3(err) != nil {
responseDataObj.Error = errormdl.CheckErr3(err).Error()
loggermdl.LogError(err)
requestBody := gjson.ParseBytes(reqBody)
for i := 0; i < len(services); i++ {
responseDataObj := responseData{}
service := services[i]
result, ab, err := executeService(service, []byte(requestBody.Get(service).String()), false, nil, isRestricted, isRoleBased, principalObj)
if errormdl.CheckErr3(err) != nil {
responseDataObj.Error = errormdl.CheckErr3(err).Error()
loggermdl.LogError(err)
responseDataObj.ErrorCode = 417
responseDataObj = formatResponse(ab, responseDataObj)
}
responseDataObj.Result = result
responseDataObj = formatResponse(ab, responseDataObj)
c.JSON(http.StatusExpectationFailed, responseDataObj)
return
responseMap[service] = responseDataObj
}
responseDataObj.Result = result
responseDataObj = formatResponse(ab, responseDataObj)
c.JSON(http.StatusOK, responseDataObj)
c.JSON(http.StatusOK, responseMap)
return
}
// OpenHandler for /o
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment