You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ch...@apache.org on 2011/11/21 03:50:39 UTC
svn commit: r1204327 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/response/JSONResponseWriter.java
example/solr/conf/solrconfig.xml
Author: chrism
Date: Mon Nov 21 02:50:39 2011
New Revision: 1204327
URL: http://svn.apache.org/viewvc?rev=1204327&view=rev
Log:
SOLR-1123: Changed JSONResponseWriter content-type to be application/json by default
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1204327&r1=1204326&r2=1204327&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Mon Nov 21 02:50:39 2011
@@ -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
----------------------
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java?rev=1204327&r1=1204326&r2=1204327&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java Mon Nov 21 02:50:39 2011
@@ -40,9 +40,13 @@ import org.apache.solr.search.ReturnFiel
*/
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 implemen
}
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;
Modified: lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml?rev=1204327&r1=1204326&r2=1204327&view=diff
==============================================================================
--- lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml (original)
+++ lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml Mon Nov 21 02:50:39 2011
@@ -1572,6 +1572,15 @@
<queryResponseWriter name="phps" class="solr.PHPSerializedResponseWriter"/>
<queryResponseWriter name="csv" class="solr.CSVResponseWriter"/>
-->
+
+ <queryResponseWriter name="json" class="solr.JSONResponseWriter">
+ <!-- For the purposes of the tutorial, JSON responses are written as
+ plain text so that they are easy to read in *any* browser.
+ If you expect a MIME type of "application/json" just remove this override.
+ -->
+ <str name="content-type">text/plain; charset=UTF-8</str>
+ </queryResponseWriter>
+
<!--
Custom response writers can be declared as needed...
-->