Skip to content

Commit

Permalink
Merge pull request #495 from OpsMx/BugFix/OP-23010-ErrorMessage
Browse files Browse the repository at this point in the history
BugFix: OP-23010- Enhance error handling for audit service bulk import
  • Loading branch information
emanipravallika authored Dec 20, 2024
2 parents 9d21971 + a0cf047 commit 9fe8468
Showing 1 changed file with 20 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import com.netflix.spinnaker.gate.config.ServiceConfiguration
import com.netflix.spinnaker.gate.exceptions.OesRequestException
import com.netflix.spinnaker.security.AuthenticatedRequest
import com.opsmx.spinnaker.gate.services.OpsmxAuditService
import groovy.json.JsonSlurper
import groovy.util.logging.Slf4j
import io.swagger.v3.oas.annotations.Operation
import okhttp3.MultipartBody
Expand Down Expand Up @@ -100,13 +101,27 @@ class OpsmxAuditServiceController {
return response
}.call() as okhttp3.Response
if (!obj.isSuccessful()) {
def error = obj.body().string();
log.error("Failed to upload multipart file to audit service : {}", error)
throw new OesRequestException(error)
} else{
return obj.body()?.string() ?: "Unknown reason: " + obj.code() as Object
def errorBody = obj.body()?.string()
log.error("Failed to upload multipart file to audit service: {}", errorBody)
def errorMessage = parseErrorMessage(errorBody, obj.code)

throw new OesRequestException(errorMessage)
} else {
return obj.body()?.string() ?: "Unknown reason: ${obj.code}" as Object
}
}

private String parseErrorMessage(String errorBody, int statusCode) {
try {
def errorJson = new JsonSlurper().parseText(errorBody)
def message = errorJson.message ?: "An error occurred while processing the request."
return message
} catch (Exception e) {
log.warn("Failed to parse error response: {}", e.message)
return errorBody
}
}

private okhttp3.RequestBody uploadFileOkHttp(MultipartFile multiPartfile) throws IOException {
String fileName = multiPartfile.getOriginalFilename();
MultipartBody.Builder builder = new MultipartBody.Builder();
Expand Down

0 comments on commit 9fe8468

Please sign in to comment.