org.apache.solr.handler.admin

## Class ShowFileRequestHandler

- java.lang.Object
- - org.apache.solr.handler.RequestHandlerBase
  - - org.apache.solr.handler.admin.ShowFileRequestHandler

- All Implemented Interfaces:
    SolrInfoMBean, NestedRequestHandler, SolrRequestHandler

      public class ShowFileRequestHandler
      extends RequestHandlerBase

  This handler uses the RawResponseWriter to give client access to files inside ${solr.home}/conf

  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

  Since:
    solr 1.3

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoMBean

      `SolrInfoMBean.Category`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `HIDDEN`
    `protected Set<String>` | `hiddenFiles`
    `static String` | `USE_CONTENT_TYPE`

    - ### Fields inherited from class org.apache.solr.handler.RequestHandlerBase

      `appends, defaults, httpCaching, initArgs, invariants`

    - ### Fields inherited from interface org.apache.solr.request.SolrRequestHandler

      `TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ShowFileRequestHandler()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    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)`
    `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)`

    - ### Methods inherited from class org.apache.solr.handler.RequestHandlerBase

      `getCategory, getDocs, getInitArgs, getName, getPluginInfo, getRequestHandler, getSolrParamsFromNamedList, getSource, getStatistics, getSubHandler, getVersion, handleRequest, setPluginInfo`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HIDDEN

          public static final String HIDDEN

      See Also:
        Constant Field Values

    - #### USE_CONTENT_TYPE

          public static final String USE_CONTENT_TYPE

      See Also:
        Constant Field Values

    - #### hiddenFiles

          protected Set<String> hiddenFiles

  - ### Constructor Detail

    - #### ShowFileRequestHandler

          public ShowFileRequestHandler()

  - ### Method Detail

    - #### init

          public void init(NamedList args)

      Description copied from class: `RequestHandlerBase`
      Initializes the `SolrRequestHandler` 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>

      Specified by:
        `init` in interface `SolrRequestHandler`
      Overrides:
        `init` in class `RequestHandlerBase`
      Parameters:
        `args` - The `NamedList` to initialize from
      See Also:
        `RequestHandlerBase.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).`

    - #### initHidden

          public static Set<String> initHidden(SolrParams invariants)

    - #### handleRequestBody

          public void handleRequestBody(SolrQueryRequest req,
                                        SolrQueryResponse rsp)
                                 throws InterruptedException,
                                        org.apache.zookeeper.KeeperException,
                                        IOException

      Specified by:
        `handleRequestBody` in class `RequestHandlerBase`
      Throws:
        `InterruptedException`
        `org.apache.zookeeper.KeeperException`
        `IOException`

    - #### isHiddenFile

          public static boolean isHiddenFile(SolrQueryRequest req,
                                             SolrQueryResponse rsp,
                                             String fnameIn,
                                             boolean reportError,
                                             Set<String> hiddenFiles)

    - #### getAdminFileFromZooKeeper

          public static String getAdminFileFromZooKeeper(SolrQueryRequest req,
                                                         SolrQueryResponse rsp,
                                                         SolrZkClient zkClient,
                                                         Set<String> hiddenFiles)
                                                  throws org.apache.zookeeper.KeeperException,
                                                         InterruptedException

      Throws:
        `org.apache.zookeeper.KeeperException`
        `InterruptedException`

    - #### getAdminFileFromFileSystem

          public static File getAdminFileFromFileSystem(SolrQueryRequest req,
                                                        SolrQueryResponse rsp,
                                                        Set<String> hiddenFiles)

    - #### getHiddenFiles

          public final Set<String> getHiddenFiles()

    - #### getDescription

          public String getDescription()

      Description copied from interface: `SolrInfoMBean`
      Simple one or two line description
      Specified by:
        `getDescription` in interface `SolrInfoMBean`
      Specified by:
        `getDescription` in class `RequestHandlerBase`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.