Add HttpServletRequest and HttpServletResponse to SolrQueryRequest and
SolrQueryResponse
----------------------------------------------------------------------------------------
Key: SOLR-1944
URL: https://issues.apache.org/jira/browse/SOLR-1944
Project: Solr
Issue Type: New Feature
Affects Versions: 1.4
Reporter: Adam Brown
Priority: Minor
Attachments: HttpServletRequest.patch
I am implementing several custom request handlers and response writers. All of
them need access to HTTP headers and cookies. In scanning google for mailing
lists and forums it seems others have had this same need.
I worked around it by creating a custom dispatch filter which extends
SolrDispatchFilter and does the following:
{code}
public static final String CONTEXT_SERVLET_REQUEST = "servletRequest";
public static final String CONTEXT_SERVLET_RESPONSE = "servletResponse";
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setAttribute("response", response);
super.doFilter(request, response, chain);
}
@Override
protected void execute(HttpServletRequest servletRequest, SolrRequestHandler
handler, SolrQueryRequest solrRequest, SolrQueryResponse solrResponse) {
Object servletResponse = servletRequest.getAttribute("response");
servletRequest.removeAttribute("response");
solrRequest.getContext().put(CONTEXT_SERVLET_REQUEST, servletRequest);
solrRequest.getContext().put(CONTEXT_SERVLET_RESPONSE, servletResponse);
super.execute(servletRequest, handler, solrRequest, solrResponse);
}
{code}
I then had to write a step in my deployment script to crack open the solr war
file, sed the web.xml and replace the SolrDispatchFilter with my own. Others
have worked around the issue in the same way. This seems like an ugly
workaround and would be simpler and cleaner if the SolrQueryRequest and
SolrQueryResponse just included a reference to their http counterparts.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]