INT-1734
added support for case insensitivity for the user defined header prefix in DefaultHttpHeaderMapper
This commit is contained in:
committed by
Mark Fisher
parent
caa25251a9
commit
f57fdcd516
@@ -240,7 +240,7 @@ public class DefaultHttpHeaderMapper implements HeaderMapper<HttpHeaders>, BeanF
|
||||
private volatile String[] inboundHeaderNames = new String[0];
|
||||
|
||||
private volatile String userDefinedHeaderPrefix = "X-";
|
||||
|
||||
|
||||
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
|
||||
this.beanFactory = beanFactory;
|
||||
}
|
||||
@@ -294,7 +294,9 @@ public class DefaultHttpHeaderMapper implements HeaderMapper<HttpHeaders>, BeanF
|
||||
if (!this.containsElementIgnoreCase(HTTP_REQUEST_HEADER_NAMES, name) &&
|
||||
!this.containsElementIgnoreCase(HTTP_RESPONSE_HEADER_NAMES, name)) {
|
||||
// prefix the user-defined header names if not already prefixed
|
||||
name = name.startsWith(this.userDefinedHeaderPrefix) ? name : this.userDefinedHeaderPrefix + name;
|
||||
|
||||
name = StringUtils.startsWithIgnoreCase(name, this.userDefinedHeaderPrefix) ? name :
|
||||
this.userDefinedHeaderPrefix + name;
|
||||
}
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(MessageFormat.format("setting headerName=[{0}], value={1}", name, value));
|
||||
@@ -319,7 +321,8 @@ public class DefaultHttpHeaderMapper implements HeaderMapper<HttpHeaders>, BeanF
|
||||
for (String name : headerNames) {
|
||||
if (this.shouldMapInboundHeader(name)) {
|
||||
if (!ObjectUtils.containsElement(HTTP_REQUEST_HEADER_NAMES, name) && !ObjectUtils.containsElement(HTTP_RESPONSE_HEADER_NAMES, name)) {
|
||||
String prefixedName = name.startsWith(this.userDefinedHeaderPrefix) ? name : this.userDefinedHeaderPrefix + name;
|
||||
String prefixedName = StringUtils.startsWithIgnoreCase(name, this.userDefinedHeaderPrefix) ? name :
|
||||
this.userDefinedHeaderPrefix + name;
|
||||
Object value = source.containsKey(prefixedName) ? this.getHttpHeader(source, prefixedName) : this.getHttpHeader(source, name);
|
||||
if (value != null) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
|
||||
Reference in New Issue
Block a user