Class RawResponseWriter
- All Implemented Interfaces:
BinaryQueryResponseWriter,QueryResponseWriter,NamedListInitializedPlugin
- Direct Known Subclasses:
PrometheusResponseWriter
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
FieldsModifier and TypeFieldDescriptionstatic final StringThe key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.static final StringFields inherited from interface org.apache.solr.response.QueryResponseWriter
CONTENT_TYPE_TEXT_ASCII, CONTENT_TYPE_TEXT_UTF8, CONTENT_TYPE_XML_UTF8 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected QueryResponseWritergetBaseWriter(SolrQueryRequest request) getContentType(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, waitMethods inherited from interface org.apache.solr.response.BinaryQueryResponseWriter
serializeResponse
-
Field Details
-
CONTENT_TYPE
- See Also:
-
CONTENT
The key that should be used to add a ContentStream to the SolrQueryResponse if you intend to use this Writer.- See Also:
-
-
Constructor Details
-
RawResponseWriter
public RawResponseWriter()
-
-
Method Details
-
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
-
getContentType
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
-