public class DefaultHttpHeaderMapper
extends java.lang.Object
implements org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders>, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean
HeaderMapper implementation for HTTP.| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONTENT_MD5 |
protected static java.time.format.DateTimeFormatter[] |
DATE_FORMATS |
static java.lang.String |
HTTP_REQUEST_HEADER_NAME_PATTERN |
static java.lang.String |
HTTP_RESPONSE_HEADER_NAME_PATTERN |
protected org.apache.commons.logging.Log |
logger |
static java.lang.String |
REFRESH |
| Constructor and Description |
|---|
DefaultHttpHeaderMapper() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
protected static boolean |
containsElementIgnoreCase(java.lang.String[] headerNames,
java.lang.String name) |
protected java.lang.String |
convertToString(java.lang.Object value) |
void |
fromHeaders(org.springframework.messaging.MessageHeaders headers,
org.springframework.http.HttpHeaders target)
Map from the integration MessageHeaders to an HttpHeaders instance.
|
protected org.springframework.beans.factory.BeanFactory |
getBeanFactory() |
protected static long |
getFirstDate(java.lang.String headerValue,
java.lang.String headerName) |
protected java.lang.Object |
getHttpHeader(org.springframework.http.HttpHeaders source,
java.lang.String name) |
static DefaultHttpHeaderMapper |
inboundMapper()
Factory method for creating a basic inbound mapper instance.
|
static DefaultHttpHeaderMapper |
outboundMapper()
Factory method for creating a basic outbound mapper instance.
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
setExcludedInboundStandardResponseHeaderNames(java.lang.String... excludedInboundStandardResponseHeaderNames)
Provide header names from the list of standard headers that should be suppressed when
mapping inbound endpoint response headers.
|
void |
setExcludedOutboundStandardRequestHeaderNames(java.lang.String... excludedOutboundStandardRequestHeaderNames)
Provide header names from the list of standard headers that should be suppressed when
mapping outbound endpoint request headers.
|
void |
setInboundHeaderNames(java.lang.String... inboundHeaderNamesArg)
Provide the header names that should be mapped from an HTTP request (for inbound
adapters) or HTTP response (for outbound adapters) to a Spring Integration
Message's headers.
|
void |
setOutboundHeaderNames(java.lang.String... outboundHeaderNames)
Provide the header names that should be mapped to an HTTP request (for outbound adapters)
or HTTP response (for inbound adapters) from a Spring Integration Message's headers.
|
protected static void |
setupDefaultInboundMapper(DefaultHttpHeaderMapper mapper)
Subclasses can call this from a static inboundMapper() method to set up
standard header mappings for an inbound mapper.
|
protected static void |
setupDefaultOutboundMapper(DefaultHttpHeaderMapper mapper)
Subclasses can call this from a static outboundMapper() method to set up
standard header mappings for an outbound mapper.
|
void |
setUserDefinedHeaderPrefix(java.lang.String userDefinedHeaderPrefix)
Sets the prefix to use with user-defined (non-standard) headers.
|
protected boolean |
shouldMapInboundHeader(java.lang.String headerName) |
java.util.Map<java.lang.String,java.lang.Object> |
toHeaders(org.springframework.http.HttpHeaders source)
Map from an HttpHeaders instance to integration MessageHeaders.
|
protected final org.apache.commons.logging.Log logger
public static final java.lang.String CONTENT_MD5
public static final java.lang.String REFRESH
public static final java.lang.String HTTP_REQUEST_HEADER_NAME_PATTERN
public static final java.lang.String HTTP_RESPONSE_HEADER_NAME_PATTERN
protected static final java.time.format.DateTimeFormatter[] DATE_FORMATS
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
throws org.springframework.beans.BeansException
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAwareorg.springframework.beans.BeansExceptionprotected org.springframework.beans.factory.BeanFactory getBeanFactory()
public void setOutboundHeaderNames(java.lang.String... outboundHeaderNames)
Any non-standard headers will be prefixed with the value specified by
setUserDefinedHeaderPrefix(String). The default is 'X-'.
outboundHeaderNames - The outbound header names.public void setInboundHeaderNames(java.lang.String... inboundHeaderNamesArg)
This will match the header name directly or, for non-standard HTTP headers, it
will match the header name prefixed with the value specified by
setUserDefinedHeaderPrefix(String). The default for
that is an empty String.
inboundHeaderNamesArg - The inbound header names.public void setExcludedOutboundStandardRequestHeaderNames(java.lang.String... excludedOutboundStandardRequestHeaderNames)
excludedOutboundStandardRequestHeaderNames - the excludedStandardRequestHeaderNames to setpublic void setExcludedInboundStandardResponseHeaderNames(java.lang.String... excludedInboundStandardResponseHeaderNames)
excludedInboundStandardResponseHeaderNames - the excludedStandardResponseHeaderNames to setpublic void setUserDefinedHeaderPrefix(java.lang.String userDefinedHeaderPrefix)
userDefinedHeaderPrefix - The user defined header prefix.public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanpublic void fromHeaders(org.springframework.messaging.MessageHeaders headers,
org.springframework.http.HttpHeaders target)
fromHeaders in interface org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders>public java.util.Map<java.lang.String,java.lang.Object> toHeaders(org.springframework.http.HttpHeaders source)
toHeaders in interface org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders>protected java.lang.Object getHttpHeader(org.springframework.http.HttpHeaders source,
java.lang.String name)
protected final boolean shouldMapInboundHeader(java.lang.String headerName)
@Nullable protected java.lang.String convertToString(java.lang.Object value)
protected static boolean containsElementIgnoreCase(java.lang.String[] headerNames,
java.lang.String name)
protected static long getFirstDate(java.lang.String headerValue,
java.lang.String headerName)
public static DefaultHttpHeaderMapper outboundMapper()
protected static void setupDefaultOutboundMapper(DefaultHttpHeaderMapper mapper)
mapper - the mapper.public static DefaultHttpHeaderMapper inboundMapper()
protected static void setupDefaultInboundMapper(DefaultHttpHeaderMapper mapper)
mapper - the mapper.