use of org.wso2.carbon.apimgt.common.gateway.dto.MsgInfoDTO in project carbon-apimgt by wso2.
the class ExtensionListenerUtil method generateMessageInfo.
/**
* Populate common MsgInfoDTO properties for both Request and Response from MessageContext.
*
* @param messageContext Synapse MessageContext
*/
private static MsgInfoDTO generateMessageInfo(MessageContext messageContext) {
MsgInfoDTO msgInfoDTO = new MsgInfoDTO();
org.apache.axis2.context.MessageContext axis2MC = ((Axis2MessageContext) messageContext).getAxis2MessageContext();
msgInfoDTO.setHeaders(getAxis2TransportHeaders(axis2MC));
msgInfoDTO.setResource(GatewayUtils.extractResource(messageContext));
msgInfoDTO.setElectedResource((String) messageContext.getProperty(APIMgtGatewayConstants.API_ELECTED_RESOURCE));
// Add a payload handler instance for the current message context to consume the payload later
msgInfoDTO.setPayloadHandler(new SynapsePayloadHandler(messageContext));
Object correlationId = axis2MC.getProperty(CorrelationConstants.CORRELATION_ID);
if (correlationId instanceof String) {
msgInfoDTO.setMessageId((String) correlationId);
}
msgInfoDTO.setHttpMethod((String) messageContext.getProperty(APIMgtGatewayConstants.HTTP_METHOD));
return msgInfoDTO;
}
use of org.wso2.carbon.apimgt.common.gateway.dto.MsgInfoDTO in project carbon-apimgt by wso2.
the class ExtensionListenerUtil method generateResponseContextDTO.
/**
* Generates ResponseContextDTO object using Synapse MessageContext.
*
* @param messageContext Synapse MessageContext
* @return ResponseContextDTO
*/
private static ResponseContextDTO generateResponseContextDTO(MessageContext messageContext) {
ResponseContextDTO responseContextDTO = new ResponseContextDTO();
MsgInfoDTO msgInfoDTO = generateMessageInfo(messageContext);
APIRequestInfoDTO apiRequestInfoDTO = generateAPIInfoDTO(messageContext);
responseContextDTO.setApiRequestInfo(apiRequestInfoDTO);
responseContextDTO.setMsgInfo(msgInfoDTO);
responseContextDTO.setStatusCode((int) ((Axis2MessageContext) messageContext).getAxis2MessageContext().getProperty(NhttpConstants.HTTP_SC));
return responseContextDTO;
}
use of org.wso2.carbon.apimgt.common.gateway.dto.MsgInfoDTO in project carbon-apimgt by wso2.
the class ExtensionListenerUtil method generateRequestContextDTO.
/**
* Generates RequestContextDTO object using Synapse MessageContext.
*
* @param messageContext Synapse MessageContext
* @return RequestContextDTO
*/
private static RequestContextDTO generateRequestContextDTO(MessageContext messageContext) {
RequestContextDTO requestDTO = new RequestContextDTO();
MsgInfoDTO msgInfoDTO = generateMessageInfo(messageContext);
APIRequestInfoDTO apiRequestInfoDTO = generateAPIInfoDTO(messageContext);
requestDTO.setApiRequestInfo(apiRequestInfoDTO);
requestDTO.setMsgInfo(msgInfoDTO);
requestDTO.setCustomProperty(getCustomPropertyMapFromMsgContext(messageContext));
javax.security.cert.X509Certificate[] clientCerts = null;
try {
X509Certificate clientCertificate = Utils.getClientCertificate(((Axis2MessageContext) messageContext).getAxis2MessageContext());
if (clientCertificate != null) {
clientCerts = new X509Certificate[] { clientCertificate };
}
} catch (APIManagementException e) {
log.error("Error when getting client certificate", e);
}
requestDTO.setClientCerts(clientCerts);
return requestDTO;
}
Aggregations