From f55c72f92880b69ded05d3f85b05fa1739c5bc95 Mon Sep 17 00:00:00 2001 From: Christopher John Male Date: Mon, 21 Nov 2011 02:50:39 +0000 Subject: [PATCH] SOLR-1123: Changed JSONResponseWriter content-type to be application/json by default git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1204327 13f79535-47bb-0310-9956-ffa450edef68 --- solr/CHANGES.txt | 4 ++++ .../org/apache/solr/response/JSONResponseWriter.java | 12 +++++++----- solr/example/solr/conf/solrconfig.xml | 9 +++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) 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 + +