feature/show ms for getMetrics and getConnectorMetrics endpoints

This commit is contained in:
hongwei 2023-12-12 12:58:00 +01:00
parent ed3a89df77
commit ff8cb866dc

View File

@ -118,6 +118,8 @@ import java.security.AccessControlException
import java.util.regex.Pattern
import code.api.util.FutureUtil.{EndpointContext, EndpointTimeout}
import code.api.v2_1_0.OBPAPI2_1_0.Implementations2_1_0
import code.api.v2_2_0.OBPAPI2_2_0.Implementations2_2_0
import code.etag.MappedETag
import code.users.Users
import net.liftweb.mapper.By
@ -643,7 +645,18 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
val excludedFieldValues = APIUtil.getPropsValue("excluded.response.field.values").map[JArray](it => json.parse(it).asInstanceOf[JArray])
def successJsonResponseNewStyle(cc: Any, callContext: Option[CallContext], httpCode : Int = 200)(implicit headers: CustomResponseHeaders = CustomResponseHeaders(Nil)) : JsonResponse = {
val jsonAst: JValue = ApiSession.processJson((Extraction.decompose(cc)), callContext)
val jsonAst: JValue = {
val partialFunctionName = callContext.map(_.resourceDocument.map(_.partialFunctionName)).flatten.getOrElse("")
if (
nameOf(code.api.v5_1_0.APIMethods510.Implementations5_1_0.getMetrics).equals(partialFunctionName) ||
nameOf(code.api.v5_0_0.APIMethods500.Implementations5_0_0.getMetricsAtBank).equals(partialFunctionName) ||
nameOf(Implementations2_2_0.getConnectorMetrics).equals(partialFunctionName)
) {
ApiSession.processJson(Extraction.decompose(cc)(CustomJsonFormats.losslessFormats), callContext)
} else {
ApiSession.processJson((Extraction.decompose(cc)), callContext)
}
}
val excludeOptionalFieldsParam = getHttpRequestUrlParam(callContext.map(_.url).getOrElse(""),"exclude-optional-fields")
val excludedResponseBehaviour = APIUtil.getPropsAsBoolValue("excluded.response.behaviour", false)
//excludeOptionalFieldsParamValue has top priority, then the excludedResponseBehaviour props.