Class RawResponseWriter
- java.lang.Object
-
- org.apache.solr.response.RawResponseWriter
-
- All Implemented Interfaces:
BinaryQueryResponseWriter,QueryResponseWriter,NamedListInitializedPlugin
- Direct Known Subclasses:
PrometheusResponseWriter
public class RawResponseWriter extends Object implements BinaryQueryResponseWriter
Writes a ContentStream directly to the output.This writer is a special case that extends and alters the QueryResponseWriter contract. If SolrQueryResponse contains a ContentStream added with the key
CONTENTthen this writer will output that stream exactly as is (with its Content-Type). if no such ContentStream has been added, then a "base" QueryResponseWriter will be used to write the response according to the usual contract. The name of the "base" writer can be specified as an initialization param for this writer, or it defaults to the "standard" writer.- Since:
- solr 1.3
-
-
Field Summary
Fields Modifier and Type Field Description static StringCONTENTThe key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.static StringCONTENT_TYPE-
Fields inherited from interface org.apache.solr.response.QueryResponseWriter
CONTENT_TYPE_TEXT_ASCII, CONTENT_TYPE_TEXT_UTF8, CONTENT_TYPE_XML_UTF8
-
-
Constructor Summary
Constructors Constructor Description RawResponseWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected QueryResponseWritergetBaseWriter(SolrQueryRequest request)StringgetContentType(SolrQueryRequest request, SolrQueryResponse response)Return the applicable Content Type for a request, this method must be thread safe.voidinit(org.apache.solr.common.util.NamedList<?> n)initwill be called just once, immediately after creation.voidwrite(OutputStream out, SolrQueryRequest request, SolrQueryResponse response)Use it to write the response in a binary formatvoidwrite(Writer writer, SolrQueryRequest request, SolrQueryResponse response)Write a SolrQueryResponse, this method must be thread save.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.response.BinaryQueryResponseWriter
serializeResponse
-
-
-
-
Field Detail
-
CONTENT_TYPE
public static final String CONTENT_TYPE
- See Also:
- Constant Field Values
-
CONTENT
public static final String CONTENT
The key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(org.apache.solr.common.util.NamedList<?> n)
Description copied from interface:NamedListInitializedPlugininitwill be called just once, immediately after creation.Source of the initialization arguments will typically be solrconfig.xml, but will ultimately depends on the plugin itself
- Specified by:
initin interfaceNamedListInitializedPlugin- Parameters:
n- non-null list of initialization parameters (may be empty)
-
getBaseWriter
protected QueryResponseWriter getBaseWriter(SolrQueryRequest request)
-
getContentType
public String getContentType(SolrQueryRequest request, SolrQueryResponse response)
Description copied from interface:QueryResponseWriterReturn the applicable Content Type for a request, this method must be thread safe.QueryResponseWriter's must implement this method to return a valid HTTP Content-Type header for the request, that will logically correspond with the output produced by the write method.
- Specified by:
getContentTypein interfaceQueryResponseWriter- Returns:
- a Content-Type string, which may not be null.
-
write
public void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException
Description copied from interface:QueryResponseWriterWrite a SolrQueryResponse, this method must be thread save.Information about the request (in particular: formatting options) may be obtained from
reqbut the dominant source of information should bersp.There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
- Specified by:
writein interfaceQueryResponseWriter- Throws:
IOException
-
write
public void write(OutputStream out, SolrQueryRequest request, SolrQueryResponse response) throws IOException
Description copied from interface:BinaryQueryResponseWriterUse it to write the response in a binary format- Specified by:
writein interfaceBinaryQueryResponseWriter- Throws:
IOException
-
-