org.apache.cxf.transport.http
Class AbstractHTTPDestination

java.lang.Object
  extended by org.apache.cxf.transport.AbstractObservable
      extended by org.apache.cxf.transport.AbstractDestination
          extended by org.apache.cxf.transport.AbstractMultiplexDestination
              extended by org.apache.cxf.transport.http.AbstractHTTPDestination
All Implemented Interfaces:
org.apache.cxf.configuration.Configurable, org.apache.cxf.transport.Destination, org.apache.cxf.transport.DestinationWithEndpoint, org.apache.cxf.transport.MultiplexDestination, org.apache.cxf.transport.Observable, org.apache.cxf.ws.policy.Assertor
Direct Known Subclasses:
ServletDestination

public abstract class AbstractHTTPDestination
extends org.apache.cxf.transport.AbstractMultiplexDestination
implements org.apache.cxf.configuration.Configurable, org.apache.cxf.ws.policy.Assertor

Common base for HTTP Destination implementations.


Nested Class Summary
 class AbstractHTTPDestination.BackChannelConduit
          Backchannel conduit.
 
Nested classes/interfaces inherited from class org.apache.cxf.transport.AbstractDestination
org.apache.cxf.transport.AbstractDestination.AbstractBackChannelConduit
 
Field Summary
protected  org.apache.cxf.Bus bus
           
protected  CertConstraints certConstraints
           
protected  String contextMatchStrategy
           
static String CXF_ASYNC_CONTEXT
           
static String CXF_CONTINUATION_MESSAGE
           
protected  boolean fixedParameterOrder
           
static String HTTP_CONFIG
           
static String HTTP_CONTEXT
           
static String HTTP_REQUEST
           
static String HTTP_RESPONSE
           
protected  boolean isServlet3
           
protected  boolean multiplexWithAddress
           
static String PROTOCOL_HEADERS_CONTENT_TYPE
           
static String REQUEST_REDIRECTED
           
static String RESPONSE_COMMITED
           
static String RESPONSE_HEADERS_COPIED
           
protected  HTTPServerPolicy server
           
 
Fields inherited from class org.apache.cxf.transport.AbstractDestination
endpointInfo, reference
 
Fields inherited from class org.apache.cxf.transport.AbstractObservable
incomingObserver
 
Constructor Summary
AbstractHTTPDestination(org.apache.cxf.Bus b, org.apache.cxf.service.model.EndpointInfo ei, boolean dp)
          Constructor
 
Method Summary
 void assertMessage(org.apache.cxf.message.Message message)
           
 boolean canAssert(QName type)
           
protected  boolean contextMatchOnExact()
           
protected  void copyRequestHeaders(org.apache.cxf.message.Message message, Map<String,List<String>> headers)
          Copy the request headers into the message.
protected  void copyResponseHeaders(org.apache.cxf.message.Message message, javax.servlet.http.HttpServletResponse response)
          Copy the response headers into the response.
protected  OutputStream flushHeaders(org.apache.cxf.message.Message outMessage)
           
protected  OutputStream flushHeaders(org.apache.cxf.message.Message outMessage, boolean getStream)
           
protected static org.apache.cxf.service.model.EndpointInfo getAddressValue(org.apache.cxf.service.model.EndpointInfo ei)
           
protected static org.apache.cxf.service.model.EndpointInfo getAddressValue(org.apache.cxf.service.model.EndpointInfo ei, boolean dp)
           
 org.apache.cxf.ws.addressing.EndpointReferenceType getAddressWithId(String id)
           
protected  String getBasePath(String contextPath)
           
 String getBeanName()
           
 String getContextMatchStrategy()
           
 String getId(Map context)
           
protected  org.apache.cxf.transport.Conduit getInbuiltBackChannel(org.apache.cxf.message.Message inMessage)
           
 HTTPServerPolicy getServer()
           
 boolean isFixedParameterOrder()
           
 boolean isMultiplexWithAddress()
           
protected  boolean isOneWay(org.apache.cxf.message.Message message)
           
protected  org.apache.cxf.message.Message retrieveFromContinuation(javax.servlet.http.HttpServletRequest req)
           
protected  org.apache.cxf.message.Message retrieveFromServlet3Async(javax.servlet.http.HttpServletRequest req)
           
 void setContextMatchStrategy(String contextMatchStrategy)
           
 void setFixedParameterOrder(boolean fixedParameterOrder)
           
protected  void setHeaders(org.apache.cxf.message.Message message)
          Cache HTTP headers in message.
 void setMultiplexWithAddress(boolean multiplexWithAddress)
           
 void setServer(HTTPServerPolicy server)
           
protected  void setupContinuation(org.apache.cxf.message.Message inMessage, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
           
protected  void setupMessage(org.apache.cxf.message.Message inMessage, javax.servlet.ServletConfig config, javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
           
protected  void setupMessage(org.apache.cxf.message.Message inMessage, javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
           
protected  void updateResponseHeaders(org.apache.cxf.message.Message message)
           
 
Methods inherited from class org.apache.cxf.transport.AbstractDestination
getAddress, getBackChannel, getEndpointInfo, shutdown
 
Methods inherited from class org.apache.cxf.transport.AbstractObservable
activate, deactivate, getLogger, getMessageObserver, getTargetReference, getTargetReference, setMessageObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cxf.transport.Destination
getAddress, getBackChannel, getMessageObserver, shutdown
 
Methods inherited from interface org.apache.cxf.transport.Observable
setMessageObserver
 

Field Detail

HTTP_REQUEST

public static final String HTTP_REQUEST
See Also:
Constant Field Values

HTTP_RESPONSE

public static final String HTTP_RESPONSE
See Also:
Constant Field Values

HTTP_CONTEXT

public static final String HTTP_CONTEXT
See Also:
Constant Field Values

HTTP_CONFIG

public static final String HTTP_CONFIG
See Also:
Constant Field Values

PROTOCOL_HEADERS_CONTENT_TYPE

public static final String PROTOCOL_HEADERS_CONTENT_TYPE

RESPONSE_HEADERS_COPIED

public static final String RESPONSE_HEADERS_COPIED
See Also:
Constant Field Values

RESPONSE_COMMITED

public static final String RESPONSE_COMMITED
See Also:
Constant Field Values

REQUEST_REDIRECTED

public static final String REQUEST_REDIRECTED
See Also:
Constant Field Values

CXF_CONTINUATION_MESSAGE

public static final String CXF_CONTINUATION_MESSAGE
See Also:
Constant Field Values

CXF_ASYNC_CONTEXT

public static final String CXF_ASYNC_CONTEXT
See Also:
Constant Field Values

bus

protected final org.apache.cxf.Bus bus

server

protected HTTPServerPolicy server

contextMatchStrategy

protected String contextMatchStrategy

fixedParameterOrder

protected boolean fixedParameterOrder

multiplexWithAddress

protected boolean multiplexWithAddress

certConstraints

protected CertConstraints certConstraints

isServlet3

protected boolean isServlet3
Constructor Detail

AbstractHTTPDestination

public AbstractHTTPDestination(org.apache.cxf.Bus b,
                               org.apache.cxf.service.model.EndpointInfo ei,
                               boolean dp)
                        throws IOException
Constructor

Parameters:
b - the associated Bus
ci - the associated conduit initiator
ei - the endpoint info of the destination
dp - true for adding the default port if it is missing
Throws:
IOException
Method Detail

setHeaders

protected void setHeaders(org.apache.cxf.message.Message message)
Cache HTTP headers in message.

Parameters:
message - the current message

updateResponseHeaders

protected void updateResponseHeaders(org.apache.cxf.message.Message message)

isOneWay

protected final boolean isOneWay(org.apache.cxf.message.Message message)
Parameters:
message - the message under consideration
Returns:
true iff the message has been marked as oneway

copyRequestHeaders

protected void copyRequestHeaders(org.apache.cxf.message.Message message,
                                  Map<String,List<String>> headers)
Copy the request headers into the message.

Parameters:
message - the current message
headers - the current set of headers

copyResponseHeaders

protected void copyResponseHeaders(org.apache.cxf.message.Message message,
                                   javax.servlet.http.HttpServletResponse response)
Copy the response headers into the response.

Parameters:
message - the current message
headers - the current set of headers

setupMessage

protected void setupMessage(org.apache.cxf.message.Message inMessage,
                            javax.servlet.ServletContext context,
                            javax.servlet.http.HttpServletRequest req,
                            javax.servlet.http.HttpServletResponse resp)
                     throws IOException
Throws:
IOException

setupMessage

protected void setupMessage(org.apache.cxf.message.Message inMessage,
                            javax.servlet.ServletConfig config,
                            javax.servlet.ServletContext context,
                            javax.servlet.http.HttpServletRequest req,
                            javax.servlet.http.HttpServletResponse resp)
                     throws IOException
Throws:
IOException

retrieveFromContinuation

protected org.apache.cxf.message.Message retrieveFromContinuation(javax.servlet.http.HttpServletRequest req)

retrieveFromServlet3Async

protected org.apache.cxf.message.Message retrieveFromServlet3Async(javax.servlet.http.HttpServletRequest req)

setupContinuation

protected void setupContinuation(org.apache.cxf.message.Message inMessage,
                                 javax.servlet.http.HttpServletRequest req,
                                 javax.servlet.http.HttpServletResponse resp)

getBasePath

protected String getBasePath(String contextPath)
                      throws IOException
Throws:
IOException

getAddressValue

protected static org.apache.cxf.service.model.EndpointInfo getAddressValue(org.apache.cxf.service.model.EndpointInfo ei)

getAddressValue

protected static org.apache.cxf.service.model.EndpointInfo getAddressValue(org.apache.cxf.service.model.EndpointInfo ei,
                                                                           boolean dp)

getInbuiltBackChannel

protected org.apache.cxf.transport.Conduit getInbuiltBackChannel(org.apache.cxf.message.Message inMessage)
Specified by:
getInbuiltBackChannel in class org.apache.cxf.transport.AbstractDestination
Parameters:
inMessage - the incoming message
Returns:
the inbuilt backchannel

flushHeaders

protected OutputStream flushHeaders(org.apache.cxf.message.Message outMessage)
                             throws IOException
Throws:
IOException

flushHeaders

protected OutputStream flushHeaders(org.apache.cxf.message.Message outMessage,
                                    boolean getStream)
                             throws IOException
Throws:
IOException

contextMatchOnExact

protected boolean contextMatchOnExact()

getBeanName

public String getBeanName()
Specified by:
getBeanName in interface org.apache.cxf.configuration.Configurable

getAddressWithId

public org.apache.cxf.ws.addressing.EndpointReferenceType getAddressWithId(String id)
Specified by:
getAddressWithId in interface org.apache.cxf.transport.MultiplexDestination
Overrides:
getAddressWithId in class org.apache.cxf.transport.AbstractMultiplexDestination

getId

public String getId(Map context)
Specified by:
getId in interface org.apache.cxf.transport.MultiplexDestination
Overrides:
getId in class org.apache.cxf.transport.AbstractMultiplexDestination

getContextMatchStrategy

public String getContextMatchStrategy()

setContextMatchStrategy

public void setContextMatchStrategy(String contextMatchStrategy)

isFixedParameterOrder

public boolean isFixedParameterOrder()

setFixedParameterOrder

public void setFixedParameterOrder(boolean fixedParameterOrder)

isMultiplexWithAddress

public boolean isMultiplexWithAddress()

setMultiplexWithAddress

public void setMultiplexWithAddress(boolean multiplexWithAddress)

getServer

public HTTPServerPolicy getServer()

setServer

public void setServer(HTTPServerPolicy server)

assertMessage

public void assertMessage(org.apache.cxf.message.Message message)
Specified by:
assertMessage in interface org.apache.cxf.ws.policy.Assertor

canAssert

public boolean canAssert(QName type)
Specified by:
canAssert in interface org.apache.cxf.ws.policy.Assertor


Apache CXF