Package org.apache.solr.request
Class SolrRequestInfo
- java.lang.Object
-
- org.apache.solr.request.SolrRequestInfo
-
public class SolrRequestInfo extends Object
Information about the Solr request/response held in aThreadLocal
.
-
-
Field Summary
Fields Modifier and Type Field Description javax.servlet.http.HttpServletRequest
httpRequest
-
Constructor Summary
Constructors Constructor Description SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp)
SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp)
SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCloseHook(Closeable hook)
static void
clearRequestInfo()
Removes the most recent SolrRequestInfo from the stack.SolrDispatchFilter.Action
getAction()
TimeZone
getClientTimeZone()
The TimeZone specified by the request, or UTC if none was specified.static org.apache.solr.common.util.ExecutorUtil.InheritableThreadLocalProvider
getInheritableThreadLocalProvider()
QueryLimits
getLimits()
Get the query limits for the current request.Date
getNOW()
SolrQueryRequest
getReq()
static SolrRequestInfo
getRequestInfo()
ResponseBuilder
getResponseBuilder()
May return null if the request handler is not based on SearchHandlerSolrQueryResponse
getRsp()
ThreadCpuTimer
getThreadCpuTimer()
Get the thread CPU time monitor for the current request.Principal
getUserPrincipal()
static void
reset()
This reset method is more of a protection mechanism as we expect it to be empty by now because all "set" calls need to be balanced with a "clear".void
setAction(SolrDispatchFilter.Action action)
static void
setRequestInfo(SolrRequestInfo info)
Adds the SolrRequestInfo onto a stack held in aThreadLocal
.void
setResponseBuilder(ResponseBuilder rb)
void
setUseServerToken(boolean use)
boolean
useServerToken()
Used when making remote requests to other Solr nodes from the thread associated with this request, true means the server token header should be used instead of the Principal associated with the request.
-
-
-
Constructor Detail
-
SolrRequestInfo
public SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp)
-
SolrRequestInfo
public SolrRequestInfo(SolrQueryRequest req, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
SolrRequestInfo
public SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp)
-
SolrRequestInfo
public SolrRequestInfo(javax.servlet.http.HttpServletRequest httpReq, SolrQueryResponse rsp, SolrDispatchFilter.Action action)
-
-
Method Detail
-
getRequestInfo
public static SolrRequestInfo getRequestInfo()
-
setRequestInfo
public static void setRequestInfo(SolrRequestInfo info)
Adds the SolrRequestInfo onto a stack held in aThreadLocal
. Remember to callclearRequestInfo()
!
-
clearRequestInfo
public static void clearRequestInfo()
Removes the most recent SolrRequestInfo from the stack. Close hooks are called.
-
reset
public static void reset()
This reset method is more of a protection mechanism as we expect it to be empty by now because all "set" calls need to be balanced with a "clear".
-
getUserPrincipal
public Principal getUserPrincipal()
-
getNOW
public Date getNOW()
-
getClientTimeZone
public TimeZone getClientTimeZone()
The TimeZone specified by the request, or UTC if none was specified.
-
getReq
public SolrQueryRequest getReq()
-
getRsp
public SolrQueryResponse getRsp()
-
getResponseBuilder
public ResponseBuilder getResponseBuilder()
May return null if the request handler is not based on SearchHandler
-
setResponseBuilder
public void setResponseBuilder(ResponseBuilder rb)
-
addCloseHook
public void addCloseHook(Closeable hook)
-
getLimits
public QueryLimits getLimits()
Get the query limits for the current request. This will trigger the creation of the (possibly empty)QueryLimits
object if it has not been created, and will then return the same object on every subsequent invocation.- Returns:
- The
QueryLimits
object for the current request.
-
getThreadCpuTimer
public ThreadCpuTimer getThreadCpuTimer()
Get the thread CPU time monitor for the current request. This will either trigger the creation of a new instance if it hasn't been yet created, or will retrieve the already existing instance from the "bottom" of the request stack.- Returns:
- the
ThreadCpuTimer
object for the current request.
-
getAction
public SolrDispatchFilter.Action getAction()
-
setAction
public void setAction(SolrDispatchFilter.Action action)
-
useServerToken
public boolean useServerToken()
Used when making remote requests to other Solr nodes from the thread associated with this request, true means the server token header should be used instead of the Principal associated with the request.
-
setUseServerToken
public void setUseServerToken(boolean use)
-
getInheritableThreadLocalProvider
public static org.apache.solr.common.util.ExecutorUtil.InheritableThreadLocalProvider getInheritableThreadLocalProvider()
-
-