mirror of https://github.com/apache/lucene.git
get content-type from request writer
git-svn-id: https://svn.apache.org/repos/asf/incubator/solr/trunk@421669 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
20711a9227
commit
bf363aafc7
|
@ -24,6 +24,11 @@ import java.io.IOException;
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public interface QueryResponseWriter {
|
public interface QueryResponseWriter {
|
||||||
|
public static String CONTENT_TYPE_XML_UTF8="text/xml;charset=UTF-8";
|
||||||
|
public static String CONTENT_TYPE_TEXT_UTF8="text/plain;charset=UTF-8";
|
||||||
|
public static String CONTENT_TYPE_TEXT_ASCII="text/plain;charset=US-ASCII";
|
||||||
|
|
||||||
public void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException;
|
public void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException;
|
||||||
|
public String getContentType(SolrQueryRequest request, SolrQueryResponse response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,10 @@ public class XMLResponseWriter implements QueryResponseWriter {
|
||||||
public void write(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) throws IOException {
|
public void write(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) throws IOException {
|
||||||
XMLWriter.writeResponse(writer,req,rsp);
|
XMLWriter.writeResponse(writer,req,rsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getContentType(SolrQueryRequest request, SolrQueryResponse response) {
|
||||||
|
return CONTENT_TYPE_XML_UTF8;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,6 @@ public class SolrServlet extends HttpServlet {
|
||||||
|
|
||||||
final Logger log = Logger.getLogger(SolrServlet.class.getName());
|
final Logger log = Logger.getLogger(SolrServlet.class.getName());
|
||||||
SolrCore core;
|
SolrCore core;
|
||||||
private static String CONTENT_TYPE="text/xml;charset=UTF-8";
|
|
||||||
|
|
||||||
|
|
||||||
public void init() throws ServletException {
|
public void init() throws ServletException {
|
||||||
log.info("SolrServlet.init()");
|
log.info("SolrServlet.init()");
|
||||||
|
@ -90,13 +88,11 @@ public class SolrServlet extends HttpServlet {
|
||||||
try {
|
try {
|
||||||
solrRsp = new SolrQueryResponse();
|
solrRsp = new SolrQueryResponse();
|
||||||
solrReq = new SolrServletRequest(core, request);
|
solrReq = new SolrServletRequest(core, request);
|
||||||
// log.severe("REQUEST PARAMS:" + solrReq.getParamString());
|
|
||||||
core.execute(solrReq, solrRsp);
|
core.execute(solrReq, solrRsp);
|
||||||
if (solrRsp.getException() == null) {
|
if (solrRsp.getException() == null) {
|
||||||
response.setContentType(CONTENT_TYPE);
|
|
||||||
PrintWriter out = response.getWriter();
|
|
||||||
|
|
||||||
QueryResponseWriter responseWriter = core.getQueryResponseWriter(solrReq);
|
QueryResponseWriter responseWriter = core.getQueryResponseWriter(solrReq);
|
||||||
|
response.setContentType(responseWriter.getContentType(solrReq, solrRsp));
|
||||||
|
PrintWriter out = response.getWriter();
|
||||||
responseWriter.write(out, solrReq, solrRsp);
|
responseWriter.write(out, solrReq, solrRsp);
|
||||||
} else {
|
} else {
|
||||||
Exception e = solrRsp.getException();
|
Exception e = solrRsp.getException();
|
||||||
|
@ -122,7 +118,7 @@ public class SolrServlet extends HttpServlet {
|
||||||
try {
|
try {
|
||||||
// hmmm, what if this was already set to text/xml?
|
// hmmm, what if this was already set to text/xml?
|
||||||
try{
|
try{
|
||||||
response.setContentType(CONTENT_TYPE);
|
response.setContentType(QueryResponseWriter.CONTENT_TYPE_TEXT_UTF8);
|
||||||
// response.setCharacterEncoding("UTF-8");
|
// response.setCharacterEncoding("UTF-8");
|
||||||
} catch (Exception e) {}
|
} catch (Exception e) {}
|
||||||
try{response.setStatus(rc);} catch (Exception e) {}
|
try{response.setStatus(rc);} catch (Exception e) {}
|
||||||
|
|
Loading…
Reference in New Issue