diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 20d7caf28ac..14b6fa0c831 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -360,6 +360,10 @@ Other Changes
* SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering
extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss)
+* SOLR-1123: Changed JSONResponseWriter to now use application/json as its Content-Type
+ by default. However the Content-Type can be overwritten and is set to text/plain in
+ the example configuration. (Chris Male)
+
Documentation
----------------------
diff --git a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
index 4a9e0f81a82..c14a2a57a23 100644
--- a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
@@ -40,9 +40,13 @@ import org.apache.solr.search.ReturnFields;
*/
public class JSONResponseWriter implements QueryResponseWriter {
- static String CONTENT_TYPE_JSON_UTF8="text/x-json; charset=UTF-8";
+ static String CONTENT_TYPE_JSON_UTF8="application/json; charset=UTF-8";
- public void init(NamedList n) {
+ private String contentType;
+
+ public void init(NamedList namedList) {
+ String contentType = (String) namedList.get("content-type");
+ this.contentType = (contentType != null) ? contentType : CONTENT_TYPE_JSON_UTF8;
}
public void write(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) throws IOException {
@@ -55,12 +59,10 @@ public class JSONResponseWriter implements QueryResponseWriter {
}
public String getContentType(SolrQueryRequest request, SolrQueryResponse response) {
- // using the text/plain allows this to be viewed in the browser easily
- return CONTENT_TYPE_TEXT_UTF8;
+ return contentType;
}
}
-
class JSONWriter extends TextResponseWriter {
private String namedListStyle;
private String wrapperFunction;
diff --git a/solr/example/solr/conf/solrconfig.xml b/solr/example/solr/conf/solrconfig.xml
index cc8a5f304f0..b3df56e5915 100755
--- a/solr/example/solr/conf/solrconfig.xml
+++ b/solr/example/solr/conf/solrconfig.xml
@@ -1572,6 +1572,15 @@
-->
+
+
+
+ text/plain; charset=UTF-8
+
+