Class RequestResponseUtils

java.lang.Object
org.apache.synapse.transport.netty.util.RequestResponseUtils

public class RequestResponseUtils extends Object
RequestResponseUtils contains utilities used in request and response message flow.
  • Constructor Details

    • RequestResponseUtils

      public RequestResponseUtils()
  • Method Details

    • convertCarbonMsgToAxis2MsgCtx

      public static org.apache.axis2.context.MessageContext convertCarbonMsgToAxis2MsgCtx(org.wso2.transport.http.netty.message.HttpCarbonMessage incomingCarbonMsg, SourceConfiguration sourceConfiguration)
      Create an Axis2 message context for the given HttpCarbonMessage. The carbon message may be in the process of being streamed.
      Parameters:
      incomingCarbonMsg - the http carbon message to be used to create the corresponding Axis2 message context
      sourceConfiguration - source configuration
      Returns:
      the Axis2 message context created
    • getHostName

      public static String getHostName(InetAddress address)
      This method tries to determine the hostname of the given InetAddress without triggering a reverse DNS lookup. InetAddress.getHostName() triggers a reverse DNS lookup which can be very costly in cases where reverse DNS fails. Tries to parse a symbolic hostname from InetAddress.toString(), which is documented to return a String of the form "hostname / literal IP address" with 'hostname' blank if not already computed invalid input: '&' stored in address.

      If the hostname cannot be determined from InetAddress.toString(), the value of InetAddress.getHostAddress() is returned.

      Parameters:
      address - The InetAddress whose hostname has to be determined
      Returns:
      hostsname, if it can be determined. hostaddress, if not.
    • isHttpCarbonMessagePresent

      public static boolean isHttpCarbonMessagePresent(org.apache.axis2.context.MessageContext msgContext)
      Check if the HTTP_CARBON_MESSAGE is present in the message context.
      Parameters:
      msgContext - axis2 message context
      Returns:
      true if HTTP_CARBON_MESSAGE is present in the message context, false otherwise
    • shouldInvokeFormatterToWriteBody

      public static boolean shouldInvokeFormatterToWriteBody(org.apache.axis2.context.MessageContext msgContext)
      Checks if the request/response body should be written using the appropriate message formatter.
      Parameters:
      msgContext - axis2 message context
      Returns:
      true if the request was initiated from a non-http client or if the message has been built. Otherwise, return false if this is pass-through.
    • isMultipartContent

      public static boolean isMultipartContent(String contentType)
      Check whether the content type is multipart or not.
      Parameters:
      contentType - value of the content type
      Returns:
      true for multipart content types
    • getRestUrlPostfix

      public static String getRestUrlPostfix(String uri, String servicePath)
      Generate the REST_URL_POSTFIX from the request URI.
      Parameters:
      uri - the Request URI as a string
      servicePath - service path
      Returns:
      REST_URL_POSTFIX as a string
    • isRESTSupportedMediaType

      public static boolean isRESTSupportedMediaType(String contentType)
      Checks if the HTTP request is REST based on the given Content-Type header.
      Parameters:
      contentType - Content-Type header
      Returns:
      whether the HTTP request is REST or not
    • populateSOAPVersion

      public static int populateSOAPVersion(org.apache.axis2.context.MessageContext msgContext, String contentType)
      Populates the SOAP version based on the given Content-Type.
      Parameters:
      msgContext - axis2 message context
      contentType - Content type of the request.
      Returns:
      0 if the content type is null. return 2 if the content type is application/soap+xml. Otherwise 1
    • isRESTRequest

      public static boolean isRESTRequest(org.apache.axis2.context.MessageContext msgContext, String contentType, int soapVersion, String soapActionHeader)
      Checks if the request should be considered as REST.
      Parameters:
      msgContext - axis2 message context
      contentType - content-type of the request
      soapVersion - SOAP version
      soapActionHeader - SOAPAction header
      Returns:
      whether the request should be considered as REST
    • getDestinationEPR

      public static org.apache.axis2.addressing.EndpointReference getDestinationEPR(org.apache.axis2.context.MessageContext msgContext)
      Get the EPR for the message passed in.
      Parameters:
      msgContext - the message context
      Returns:
      the destination EPR
    • getListenerConfig

      public static org.wso2.transport.http.netty.contract.config.ListenerConfiguration getListenerConfig(SourceConfiguration sourceConfiguration, boolean sslEnabled) throws org.apache.axis2.AxisFault
      Returns Listener configuration instance populated with source configuration.
      Parameters:
      sourceConfiguration - source configuration
      Returns:
      transport listener configuration instance
      Throws:
      org.apache.axis2.AxisFault
    • getProtocolVersion

      public static String getProtocolVersion(SourceConfiguration sourceConfiguration)
    • isHTTPTraceLoggerEnabled

      public static boolean isHTTPTraceLoggerEnabled()
    • isHTTPAccessLoggerEnabled

      public static boolean isHTTPAccessLoggerEnabled()
    • setSslConfig

      public static org.wso2.transport.http.netty.contract.config.ListenerConfiguration setSslConfig(org.apache.axis2.description.TransportInDescription transportIn, org.wso2.transport.http.netty.contract.config.ListenerConfiguration listenerConfiguration, BaseConfiguration sourceConfiguration) throws org.apache.axis2.AxisFault
      Throws:
      org.apache.axis2.AxisFault
    • populateKeyStoreConfigs

      public static void populateKeyStoreConfigs(org.apache.axiom.om.OMElement keyStoreEl, org.wso2.transport.http.netty.contract.config.SslConfiguration sslConfiguration, org.wso2.securevault.SecretResolver secretResolver) throws org.apache.axis2.AxisFault
      Throws:
      org.apache.axis2.AxisFault
    • populateTrustStoreConfigs

      public static void populateTrustStoreConfigs(org.apache.axiom.om.OMElement trustStoreEl, org.wso2.transport.http.netty.contract.config.SslConfiguration sslConfiguration, org.wso2.securevault.SecretResolver secretResolver) throws org.apache.axis2.AxisFault
      Throws:
      org.apache.axis2.AxisFault
    • setInboundMgsSizeValidationConfig

      public static void setInboundMgsSizeValidationConfig(int maxInitialLineLength, int maxHeaderSize, int maxEntityBodySize, org.wso2.transport.http.netty.contract.config.InboundMsgSizeValidationConfig sizeValidationConfig) throws org.apache.axis2.AxisFault
      Sets the configuration for the inbound request and response size validation.
      Parameters:
      maxInitialLineLength - The maximum length of the initial line (e.g. "GET / HTTP/1.0" or "HTTP/1.0 200 OK")
      maxHeaderSize - The maximum length of all headers.
      maxEntityBodySize - The maximum length of the content or each chunk.
      sizeValidationConfig - instance that represents the configuration for the inbound request and response size validation.
      Throws:
      org.apache.axis2.AxisFault - when the given values are invalid.
    • getValueOfElementWithLocalName

      public static String getValueOfElementWithLocalName(org.apache.axiom.om.OMElement element, String localName)
    • getListenerInterface

      public static String getListenerInterface(String host, int port)
    • handleException

      public static void handleException(String s, Exception e) throws org.apache.axis2.AxisFault
      Throws:
      org.apache.axis2.AxisFault
    • handleException

      public static void handleException(String msg) throws org.apache.axis2.AxisFault
      Throws:
      org.apache.axis2.AxisFault