public class RawResponseWriter extends Object implements BinaryQueryResponseWriter
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 it's
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.
Modifier and Type | Field and Description |
---|---|
static String |
CONTENT
The key that should be used to add a ContentStream to the
SolrQueryResponse if you intend to use this Writer.
|
CONTENT_TYPE_TEXT_ASCII, CONTENT_TYPE_TEXT_UTF8, CONTENT_TYPE_XML_UTF8
Constructor and Description |
---|
RawResponseWriter() |
Modifier and Type | Method and 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(NamedList n)
init will be called just once, immediately after creation. |
void |
write(OutputStream out,
SolrQueryRequest request,
SolrQueryResponse response)
Use it to write the reponse in a binary format
|
void |
write(Writer writer,
SolrQueryRequest request,
SolrQueryResponse response)
Write a SolrQueryResponse, this method must be thread save.
|
public static final String CONTENT
public void init(NamedList n)
QueryResponseWriter
init
will be called just once, immediately after creation.
The args are user-level initialization parameters that may be specified when declaring a response writer in solrconfig.xml
init
in interface QueryResponseWriter
init
in interface NamedListInitializedPlugin
protected QueryResponseWriter getBaseWriter(SolrQueryRequest request)
public String getContentType(SolrQueryRequest request, SolrQueryResponse response)
QueryResponseWriter
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.
getContentType
in interface QueryResponseWriter
public void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException
QueryResponseWriter
Information about the request (in particular: formating options) may be
obtained from req
but the dominant source of information
should be rsp
.
There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
write
in interface QueryResponseWriter
IOException
public void write(OutputStream out, SolrQueryRequest request, SolrQueryResponse response) throws IOException
BinaryQueryResponseWriter
write
in interface BinaryQueryResponseWriter
IOException