public class ShowFileRequestHandler extends RequestHandlerBase
If you want to selectively restrict access some configuration files, you can list
these files in the HIDDEN invariants. For example to hide
synonyms.txt and anotherfile.txt, you would register:
<requestHandler name="/admin/file" class="org.apache.solr.handler.admin.ShowFileRequestHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<lst name="invariants">
<str name="hidden">synonyms.txt</str>
<str name="hidden">anotherfile.txt</str>
<str name="hidden">*</str>
</lst>
</requestHandler>
At present, there is only explicit file names (including path) or the glob '*' are supported. Variants like '*.xml'
are NOT supported.ere
The ShowFileRequestHandler uses the RawResponseWriter (wt=raw) to return
file contents. If you need to use a different writer, you will need to change
the registered invariant param for wt.
If you want to override the contentType header returned for a given file, you can
set it directly using: USE_CONTENT_TYPE. For example, to get a plain text
version of schema.xml, try:
http://localhost:8983/solr/admin/file?file=schema.xml&contentType=text/plain
SolrInfoBean.Category, SolrInfoBean.Group| Modifier and Type | Field and Description |
|---|---|
static String |
HIDDEN |
protected Set<String> |
hiddenFiles |
static String |
USE_CONTENT_TYPE |
appends, defaults, httpCaching, initArgs, invariants, solrMetricsContextTYPE| Constructor and Description |
|---|
ShowFileRequestHandler() |
| Modifier and Type | Method and Description |
|---|---|
static File |
getAdminFileFromFileSystem(SolrQueryRequest req,
SolrQueryResponse rsp,
Set<String> hiddenFiles) |
static String |
getAdminFileFromZooKeeper(SolrQueryRequest req,
SolrQueryResponse rsp,
SolrZkClient zkClient,
Set<String> hiddenFiles) |
SolrInfoBean.Category |
getCategory()
Category of this component
|
String |
getDescription()
Simple one or two line description
|
Set<String> |
getHiddenFiles() |
void |
handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp) |
void |
init(NamedList args)
Initializes the
SolrRequestHandler by creating three SolrParams named. |
static Set<String> |
initHidden(SolrParams invariants) |
static boolean |
isHiddenFile(SolrQueryRequest req,
SolrQueryResponse rsp,
String fnameIn,
boolean reportError,
Set<String> hiddenFiles) |
getApis, getInitArgs, getMetricNames, getName, getPluginInfo, getRequestHandler, getSolrMetricsContext, getSolrParamsFromNamedList, getSubHandler, handleRequest, initializeMetrics, setPluginInfoclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMetricRegistry, getMetricsSnapshot, registerMetricNameclose, getUniqueMetricTag, initializeMetricsregisterV1, registerV2public static final String HIDDEN
public static final String USE_CONTENT_TYPE
public void init(NamedList args)
RequestHandlerBaseSolrRequestHandler by creating three SolrParams named.
| Name | Description |
|---|---|
| defaults | Contains all of the named arguments contained within the list element named "defaults". |
| appends | Contains all of the named arguments contained within the list element named "appends". |
| invariants | Contains all of the named arguments contained within the list element named "invariants". |
Example:
<lst name="defaults"> <str name="echoParams">explicit</str> <str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str> <str name="mm">2<-1 5<-2 6<90%</str> <str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str> </lst> <lst name="appends"> <str name="fq">inStock:true</str> </lst> <lst name="invariants"> <str name="facet.field">cat</str> <str name="facet.field">manu_exact</str> <str name="facet.query">price:[* TO 500]</str> <str name="facet.query">price:[500 TO *]</str> </lst>
init in interface SolrRequestHandlerinit in class RequestHandlerBaseargs - The NamedList to initialize fromRequestHandlerBase.handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
RequestHandlerBase.handleRequestBody(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
SolrPluginUtils.setDefaults(org.apache.solr.request.SolrQueryRequest, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams),
See also the example solrconfig.xml located in the Solr codebase (example/solr/conf).
public static Set<String> initHidden(SolrParams invariants)
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws InterruptedException, org.apache.zookeeper.KeeperException, IOException
handleRequestBody in class RequestHandlerBaseInterruptedExceptionorg.apache.zookeeper.KeeperExceptionIOExceptionpublic static boolean isHiddenFile(SolrQueryRequest req, SolrQueryResponse rsp, String fnameIn, boolean reportError, Set<String> hiddenFiles)
public static String getAdminFileFromZooKeeper(SolrQueryRequest req, SolrQueryResponse rsp, SolrZkClient zkClient, Set<String> hiddenFiles) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperExceptionInterruptedExceptionpublic static File getAdminFileFromFileSystem(SolrQueryRequest req, SolrQueryResponse rsp, Set<String> hiddenFiles)
public String getDescription()
SolrInfoBeangetDescription in interface SolrInfoBeangetDescription in class RequestHandlerBasepublic SolrInfoBean.Category getCategory()
SolrInfoBeangetCategory in interface SolrInfoBeangetCategory in class RequestHandlerBaseCopyright © 2000-2019 Apache Software Foundation. All Rights Reserved.