Class PassThroughTransportUtils
- java.lang.Object
-
- org.apache.synapse.transport.passthru.util.PassThroughTransportUtils
-
public class PassThroughTransportUtils extends Object
Utility methods used by the transport.
-
-
Constructor Summary
Constructors Constructor Description PassThroughTransportUtils()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
determineHttpStatusCode(org.apache.axis2.context.MessageContext msgContext)
Determine the Http Status Code depending on the message type processed
(normal response versus fault response) as well as Axis2 message context properties set via Synapse configuration or MessageBuilders.static String
determineHttpStatusLine(org.apache.axis2.context.MessageContext msgContext)
Determine the Http Status Message depending on the message type processed
(normal response versus fault response) as well as Axis2 message context properties set via Synapse configuration or MessageBuilders.static org.apache.axis2.addressing.EndpointReference
getDestinationEPR(org.apache.axis2.context.MessageContext msgContext)
Get the EPR for the message passed instatic String
getHostName(InetAddress address)
This method tries to determine the hostname of the given InetAddress without triggering a reverse DNS lookup.static String
getIpAddress()
Whatever this method returns as the IP is ignored by the actual http/s listener when its getServiceEPR is invoked.static org.apache.axiom.om.OMOutputFormat
getOMOutputFormat(org.apache.axis2.context.MessageContext msgContext)
String
getServicesHTML(String prefix, org.apache.axis2.context.ConfigurationContext cfgCtx)
Returns the HTML text for the list of services deployed.static void
removeUnwantedHeaders(org.apache.axis2.context.MessageContext msgContext, TargetConfiguration targetConfiguration)
Remove unwanted headers from the http response of outgoing request.static void
setSourceConnectionContextAttributes(org.apache.http.nio.NHttpServerConnection sourceConn, org.apache.http.nio.NHttpClientConnection conn)
-
-
-
Method Detail
-
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 fromInetAddress.toString()
, which is documented to return a String of the form "hostname / literal IP address" with 'hostname' blank if not already computed & stored inaddress
. If the hostname cannot be determined from InetAddress.toString(), the value ofInetAddress.getHostAddress()
is returned.- Parameters:
address
- The InetAddress whose hostname has to be determined- Returns:
- hostsname, if it can be determined. hostaddress, if not.
-
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
-
removeUnwantedHeaders
public static void removeUnwantedHeaders(org.apache.axis2.context.MessageContext msgContext, TargetConfiguration targetConfiguration)
Remove unwanted headers from the http response of outgoing request. These are headers which should be dictated by the transport and not the user. We remove these as these may get copied from the request messages- Parameters:
msgContext
- the Axis2 Message context from which these headers should be removedtargetConfiguration
- configuration for the passThrough handler
-
setSourceConnectionContextAttributes
public static void setSourceConnectionContextAttributes(org.apache.http.nio.NHttpServerConnection sourceConn, org.apache.http.nio.NHttpClientConnection conn)
-
determineHttpStatusCode
public static int determineHttpStatusCode(org.apache.axis2.context.MessageContext msgContext)
Determine the Http Status Code depending on the message type processed
(normal response versus fault response) as well as Axis2 message context properties set via Synapse configuration or MessageBuilders.- Parameters:
msgContext
- the Axis2 message context- Returns:
- the HTTP status code to set in the HTTP response object
- See Also:
PassThroughConstants.FAULTS_AS_HTTP_200
,PassThroughConstants.HTTP_SC
-
determineHttpStatusLine
public static String determineHttpStatusLine(org.apache.axis2.context.MessageContext msgContext)
Determine the Http Status Message depending on the message type processed
(normal response versus fault response) as well as Axis2 message context properties set via Synapse configuration or MessageBuilders.- Parameters:
msgContext
- the Axis2 message context- Returns:
- the HTTP status message string or null
- See Also:
PassThroughConstants.FAULTS_AS_HTTP_200
,PassThroughConstants.HTTP_SC
-
getIpAddress
public static String getIpAddress() throws SocketException
Whatever this method returns as the IP is ignored by the actual http/s listener when its getServiceEPR is invoked. This was originally copied from axis2- Returns:
- Returns String.
- Throws:
SocketException
- if the socket can not be accessed
-
getServicesHTML
public String getServicesHTML(String prefix, org.apache.axis2.context.ConfigurationContext cfgCtx)
Returns the HTML text for the list of services deployed. This can be delegated to another Class as well where it will handle more options of GET messages.- Parameters:
prefix
- to be used for the Service namescfgCtx
- axis2 configuration context- Returns:
- the HTML to be displayed as a String
-
getOMOutputFormat
public static org.apache.axiom.om.OMOutputFormat getOMOutputFormat(org.apache.axis2.context.MessageContext msgContext)
-
-