You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2013/12/06 20:01:03 UTC
svn commit: r1548659 - in /lucene/dev/trunk/solr: CHANGES.txt
solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java
Author: markrmiller
Date: Fri Dec 6 19:01:03 2013
New Revision: 1548659
URL: http://svn.apache.org/r1548659
Log:
SOLR-5532: SolrJ Content-Type validation is too strict for some webcontainers / proxies.
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1548659&r1=1548658&r2=1548659&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Dec 6 19:01:03 2013
@@ -192,8 +192,12 @@ Bug Fixes
* SOLR-5524: Exception when using Query Function inside Scale Function.
(Trey Grainger, yonik)
-* SOLR-5540: HdfsLockFactory should explicitly create the lock parent directory if
- necessary. (Mark Miller)
+* SOLR-5540: HdfsLockFactory should explicitly create the lock parent directory
+ if necessary. (Mark Miller)
+
+* SOLR-5532: SolrJ Content-Type validation is too strict for some
+ webcontainers / proxies. (Jakob Furrer, hossman, Shawn Heisey, Uwe Schindler,
+ Mark Miller)
Optimizations
----------------------
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java?rev=1548659&r1=1548658&r2=1548659&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrServer.java Fri Dec 6 19:01:03 2013
@@ -26,6 +26,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
import org.apache.commons.io.IOUtils;
@@ -41,6 +42,7 @@ import org.apache.http.client.methods.Ht
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.params.ClientPNames;
import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.entity.ContentType;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.mime.FormBodyPart;
import org.apache.http.entity.mime.HttpMultipartMode;
@@ -437,9 +439,11 @@ public class HttpSolrServer extends Solr
String procCt = processor.getContentType();
if (procCt != null) {
- if (!contentType.equals(procCt)) {
- // unexpected content type
- String msg = "Expected content type " + procCt + " but got " + contentType + ".";
+ String procMimeType = ContentType.parse(procCt).getMimeType().trim().toLowerCase(Locale.ROOT);
+ String mimeType = ContentType.parse(contentType).getMimeType().trim().toLowerCase(Locale.ROOT);
+ if (!procMimeType.equals(mimeType)) {
+ // unexpected mime type
+ String msg = "Expected mime type " + procMimeType + " but got " + mimeType + ".";
Header encodingHeader = response.getEntity().getContentEncoding();
String encoding;
if (encodingHeader != null) {