public class SolrDispatchFilter extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SolrDispatchFilter.ClosedServletInputStream |
static class |
SolrDispatchFilter.ClosedServletOutputStream |
| Modifier and Type | Field and Description |
|---|---|
protected String |
abortErrorMessage |
protected CoreContainer |
cores |
protected org.apache.http.client.HttpClient |
httpClient |
protected String |
pathPrefix |
| Constructor and Description |
|---|
SolrDispatchFilter() |
| Modifier and Type | Method and Description |
|---|---|
static javax.servlet.http.HttpServletRequest |
closeShield(javax.servlet.http.HttpServletRequest request,
boolean retry)
Wrap the request's input stream with a close shield.
|
static javax.servlet.http.HttpServletResponse |
closeShield(javax.servlet.http.HttpServletResponse response,
boolean retry)
Wrap the response's output stream with a close shield.
|
protected CoreContainer |
createCoreContainer()
Override this to change CoreContainer initialization
|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain) |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain,
boolean retry) |
protected void |
execute(javax.servlet.http.HttpServletRequest req,
SolrRequestHandler handler,
SolrQueryRequest sreq,
SolrQueryResponse rsp) |
CoreContainer |
getCores() |
String |
getPathPrefix() |
void |
httpSolrCall(javax.servlet.ServletRequest _request,
javax.servlet.ServletResponse _response,
javax.servlet.FilterChain chain,
boolean retry) |
void |
init(javax.servlet.FilterConfig config) |
static ConfigSolr |
loadConfigSolr(SolrResourceLoader loader) |
void |
sendError(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
int errorCode,
String message) |
protected void |
sendError(SolrCore core,
SolrQueryRequest req,
javax.servlet.ServletRequest request,
javax.servlet.http.HttpServletResponse response,
Throwable ex) |
void |
setPathPrefix(String pathPrefix)
Set the prefix for all paths.
|
protected volatile CoreContainer cores
protected String pathPrefix
protected String abortErrorMessage
protected org.apache.http.client.HttpClient httpClient
public void init(javax.servlet.FilterConfig config)
throws javax.servlet.ServletException
javax.servlet.ServletExceptionpublic static ConfigSolr loadConfigSolr(SolrResourceLoader loader)
protected CoreContainer createCoreContainer()
public CoreContainer getCores()
public void destroy()
public void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws IOException,
javax.servlet.ServletException
IOExceptionjavax.servlet.ServletExceptionpublic void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain,
boolean retry)
throws IOException,
javax.servlet.ServletException
IOExceptionjavax.servlet.ServletExceptionpublic void httpSolrCall(javax.servlet.ServletRequest _request,
javax.servlet.ServletResponse _response,
javax.servlet.FilterChain chain,
boolean retry)
throws IOException,
javax.servlet.ServletException
IOExceptionjavax.servlet.ServletExceptionpublic void sendError(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
int errorCode,
String message)
throws IOException
IOExceptionprotected void execute(javax.servlet.http.HttpServletRequest req,
SolrRequestHandler handler,
SolrQueryRequest sreq,
SolrQueryResponse rsp)
protected void sendError(SolrCore core, SolrQueryRequest req, javax.servlet.ServletRequest request, javax.servlet.http.HttpServletResponse response, Throwable ex) throws IOException
IOExceptionpublic static javax.servlet.http.HttpServletRequest closeShield(javax.servlet.http.HttpServletRequest request,
boolean retry)
request - The request to wrap.retry - If this is an original request or a retry.InputStream that will ignore calls to close.public static javax.servlet.http.HttpServletResponse closeShield(javax.servlet.http.HttpServletResponse response,
boolean retry)
response - The response to wrap.retry - If this response corresponds to an original request or a retry.OutputStream that will ignore calls to close.public void setPathPrefix(String pathPrefix)
<filter-mapping>
<filter-name>SolrRequestFilter</filter-name>
<url-pattern>/xxx/*</url-pattern>
</filter-mapping>
Make sure to set the PathPrefix to "/xxx" either with this function
or in web.xml.
<init-param>
<param-name>path-prefix</param-name>
<param-value>/xxx</param-value>
</init-param>
public String getPathPrefix()
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.