Author: rwesten
Date: Thu Apr 18 12:09:25 2013
New Revision: 1469290
URL: http://svn.apache.org/r1469290
Log:
STANBOL-979: headers parsed as query parameters are now case insensitive
Modified:
stanbol/trunk/commons/httpqueryheaders/src/main/java/org/apache/stanbol/commons/httpqueryheaders/OverwriteableHeaderHttpServletRequest.java
Modified:
stanbol/trunk/commons/httpqueryheaders/src/main/java/org/apache/stanbol/commons/httpqueryheaders/OverwriteableHeaderHttpServletRequest.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/commons/httpqueryheaders/src/main/java/org/apache/stanbol/commons/httpqueryheaders/OverwriteableHeaderHttpServletRequest.java?rev=1469290&r1=1469289&r2=1469290&view=diff
==============================================================================
---
stanbol/trunk/commons/httpqueryheaders/src/main/java/org/apache/stanbol/commons/httpqueryheaders/OverwriteableHeaderHttpServletRequest.java
(original)
+++
stanbol/trunk/commons/httpqueryheaders/src/main/java/org/apache/stanbol/commons/httpqueryheaders/OverwriteableHeaderHttpServletRequest.java
Thu Apr 18 12:09:25 2013
@@ -23,9 +23,12 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
+import java.util.TreeMap;
+import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
@@ -41,7 +44,8 @@ import org.slf4j.LoggerFactory;
public class OverwriteableHeaderHttpServletRequest extends
HttpServletRequestWrapper {
Logger log =
LoggerFactory.getLogger(OverwriteableHeaderHttpServletRequest.class);
- Map<String,List<String>> overriddenHeaders = new
HashMap<String,List<String>>();
+ //headers are case insensitive
+ Map<String,List<String>> overriddenHeaders = new
TreeMap<String,List<String>>(String.CASE_INSENSITIVE_ORDER);
public OverwriteableHeaderHttpServletRequest(HttpServletRequest request) {
super(request);
@@ -118,7 +122,7 @@ public class OverwriteableHeaderHttpServ
@Override
public Enumeration getHeaderNames() {
- Set<String> names = new HashSet<String>();
+ Set<String> names = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
Enumeration<String> e = super.getHeaderNames();
if(e != null){
while(e.hasMoreElements()){
@@ -128,7 +132,7 @@ public class OverwriteableHeaderHttpServ
for(Entry<String,List<String>> entry : overriddenHeaders.entrySet()){
if(entry.getValue() == null){
names.remove(entry.getKey());
- } else {
+ } else if(!names.contains(entry.getKey())){
names.add(entry.getKey());
}
}