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
CONTENT
then 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 String
CONTENT
The key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.static String
CONTENT_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 QueryResponseWriter
getBaseWriter(SolrQueryRequest request)
String
getContentType(SolrQueryRequest request, SolrQueryResponse response)
Return the applicable Content Type for a request, this method must be thread safe.void
init(org.apache.solr.common.util.NamedList<?> n)
init
will be called just once, immediately after creation.void
write(OutputStream out, SolrQueryRequest request, SolrQueryResponse response)
Use it to write the response in a binary formatvoid
write(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:NamedListInitializedPlugin
init
will 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:
init
in 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:QueryResponseWriter
Return 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:
getContentType
in 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:QueryResponseWriter
Write a SolrQueryResponse, this method must be thread save.Information about the request (in particular: formatting options) may be obtained from
req
but 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:
write
in interfaceQueryResponseWriter
- Throws:
IOException
-
write
public void write(OutputStream out, SolrQueryRequest request, SolrQueryResponse response) throws IOException
Description copied from interface:BinaryQueryResponseWriter
Use it to write the response in a binary format- Specified by:
write
in interfaceBinaryQueryResponseWriter
- Throws:
IOException
-
-