io.vertx.ext.web.handler

## Interface StaticHandler

- All Superinterfaces:
    Handler<RoutingContext>

      public interface StaticHandler
      extends Handler<RoutingContext>

  A handler for serving static resources from the file system or classpath.
  Author:
    Tim Fox

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `DEFAULT_ALWAYS_ASYNC_FS` Default of whether async filesystem access should always be used
    `static long` | `DEFAULT_CACHE_ENTRY_TIMEOUT` Default cache entry timeout, when caching
    `static boolean` | `DEFAULT_CACHING_ENABLED` Default of whether cache header handling is enabled
    `static boolean` | `DEFAULT_DIRECTORY_LISTING` Default of whether directory listing is enabled
    `static String` | `DEFAULT_DIRECTORY_TEMPLATE` Default template file to use for directory listing
    `static boolean` | `DEFAULT_ENABLE_FS_TUNING` Default of whether fs async/sync tuning should be used
    `static boolean` | `DEFAULT_FILES_READ_ONLY` Default value of whether files are read -only and never will be updated
    `static boolean` | `DEFAULT_INCLUDE_HIDDEN` Default of whether hidden files can be served
    `static String` | `DEFAULT_INDEX_PAGE` The default index page
    `static long` | `DEFAULT_MAX_AGE_SECONDS` Default max age for cache headers
    `static long` | `DEFAULT_MAX_AVG_SERVE_TIME_NS` Default max avg serve time, in ns, over which serving will be considered slow
    `static int` | `DEFAULT_MAX_CACHE_SIZE` The default max cache size
    `static boolean` | `DEFAULT_RANGE_SUPPORT` Default of whether Range request handling support should be used
    `static boolean` | `DEFAULT_ROOT_FILESYSTEM_ACCESS` Default of whether access to the root of the file system should be allowed or just allow from the current working directory.
    `static boolean` | `DEFAULT_SEND_VARY_HEADER` Default of whether vary header should be sent.
    `static String` | `DEFAULT_WEB_ROOT` Default value of the web-root, where files are served from

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static StaticHandler` | `create()` Create a handler using defaults
    `static StaticHandler` | `create(String root)` Create a handler, specifying web-root
    `StaticHandler` | `setAllowRootFileSystemAccess(boolean allowRootFileSystemAccess)` Enable/Disable access to the root of the filesystem
    `StaticHandler` | `setAlwaysAsyncFS(boolean alwaysAsyncFS)` Set whether async filesystem access should always be used
    `StaticHandler` | `setCacheEntryTimeout(long timeout)` Set the server cache entry timeout when caching is enabled
    `StaticHandler` | `setCachingEnabled(boolean enabled)` Set whether cache header handling is enabled
    `StaticHandler` | `setDefaultContentEncoding(String contentEncoding)` Set the default content encoding for text related files.
    `StaticHandler` | `setDirectoryListing(boolean directoryListing)` Set whether directory listing is enabled
    `StaticHandler` | `setDirectoryTemplate(String directoryTemplate)` Set the directory template to be used when directory listing
    `StaticHandler` | `setEnableFSTuning(boolean enableFSTuning)` Set whether async/sync filesystem tuning should enabled
    `StaticHandler` | `setEnableRangeSupport(boolean enableRangeSupport)` Set whether range requests (resumable downloads; media streaming) should be enabled.
    `StaticHandler` | `setFilesReadOnly(boolean readOnly)` Set whether files are read-only and will never change
    `StaticHandler` | `setHttp2PushMapping(List<Http2PushMapping> http2PushMappings)` Set the file mapping for http2push and link preload
    `StaticHandler` | `setIncludeHidden(boolean includeHidden)` Set whether hidden files should be served
    `StaticHandler` | `setIndexPage(String indexPage)` Set the index page
    `StaticHandler` | `setMaxAgeSeconds(long maxAgeSeconds)` Set value for max age in caching headers
    `StaticHandler` | `setMaxAvgServeTimeNs(long maxAvgServeTimeNanoSeconds)` Set the max serve time in ns, above which serves are considered slow
    `StaticHandler` | `setMaxCacheSize(int maxCacheSize)` Set the max cache size, when caching is enabled
    `StaticHandler` | `setSendVaryHeader(boolean varyHeader)` Set whether vary header should be sent with response.
    `StaticHandler` | `setWebRoot(String webRoot)` Set the web root
    `StaticHandler` | `skipCompressionForMediaTypes(Set<String> mediaTypes)` Skip compression if the media type of the file to send is in the provided `mediaTypes` set.
    `StaticHandler` | `skipCompressionForSuffixes(Set<String> fileSuffixes)` Skip compression if the suffix of the file to send is in the provided `fileSuffixes` set.

    - ### Methods inherited from interface io.vertx.core.Handler

      `handle`

- - ### Field Detail

    - #### DEFAULT_WEB_ROOT

          static final String DEFAULT_WEB_ROOT

      Default value of the web-root, where files are served from
      See Also:
        Constant Field Values

    - #### DEFAULT_FILES_READ_ONLY

          static final boolean DEFAULT_FILES_READ_ONLY

      Default value of whether files are read -only and never will be updated
      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_AGE_SECONDS

          static final long DEFAULT_MAX_AGE_SECONDS

      Default max age for cache headers
      See Also:
        Constant Field Values

    - #### DEFAULT_CACHING_ENABLED

          static final boolean DEFAULT_CACHING_ENABLED

      Default of whether cache header handling is enabled

    - #### DEFAULT_DIRECTORY_LISTING

          static final boolean DEFAULT_DIRECTORY_LISTING

      Default of whether directory listing is enabled
      See Also:
        Constant Field Values

    - #### DEFAULT_DIRECTORY_TEMPLATE

          static final String DEFAULT_DIRECTORY_TEMPLATE

      Default template file to use for directory listing
      See Also:
        Constant Field Values

    - #### DEFAULT_INCLUDE_HIDDEN

          static final boolean DEFAULT_INCLUDE_HIDDEN

      Default of whether hidden files can be served
      See Also:
        Constant Field Values

    - #### DEFAULT_CACHE_ENTRY_TIMEOUT

          static final long DEFAULT_CACHE_ENTRY_TIMEOUT

      Default cache entry timeout, when caching
      See Also:
        Constant Field Values

    - #### DEFAULT_INDEX_PAGE

          static final String DEFAULT_INDEX_PAGE

      The default index page
      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_CACHE_SIZE

          static final int DEFAULT_MAX_CACHE_SIZE

      The default max cache size
      See Also:
        Constant Field Values

    - #### DEFAULT_ALWAYS_ASYNC_FS

          static final boolean DEFAULT_ALWAYS_ASYNC_FS

      Default of whether async filesystem access should always be used
      See Also:
        Constant Field Values

    - #### DEFAULT_ENABLE_FS_TUNING

          static final boolean DEFAULT_ENABLE_FS_TUNING

      Default of whether fs async/sync tuning should be used
      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_AVG_SERVE_TIME_NS

          static final long DEFAULT_MAX_AVG_SERVE_TIME_NS

      Default max avg serve time, in ns, over which serving will be considered slow
      See Also:
        Constant Field Values

    - #### DEFAULT_RANGE_SUPPORT

          static final boolean DEFAULT_RANGE_SUPPORT

      Default of whether Range request handling support should be used
      See Also:
        Constant Field Values

    - #### DEFAULT_ROOT_FILESYSTEM_ACCESS

          static final boolean DEFAULT_ROOT_FILESYSTEM_ACCESS

      Default of whether access to the root of the file system should be allowed or just allow from the current working directory.
      See Also:
        Constant Field Values

    - #### DEFAULT_SEND_VARY_HEADER

          static final boolean DEFAULT_SEND_VARY_HEADER

      Default of whether vary header should be sent.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### create

          static StaticHandler create()

      Create a handler using defaults
      Returns:
        the handler

    - #### create

          static StaticHandler create(String root)

      Create a handler, specifying web-root
      Parameters:
        `root` - the web-root
      Returns:
        the handler

    - #### setAllowRootFileSystemAccess

          StaticHandler setAllowRootFileSystemAccess(boolean allowRootFileSystemAccess)

      Enable/Disable access to the root of the filesystem
      Parameters:
        `allowRootFileSystemAccess` - whether root access is allowed
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWebRoot

          StaticHandler setWebRoot(String webRoot)

      Set the web root
      Parameters:
        `webRoot` - the web root
      Returns:
        a reference to this, so the API can be used fluently

    - #### setFilesReadOnly

          StaticHandler setFilesReadOnly(boolean readOnly)

      Set whether files are read-only and will never change
      Parameters:
        `readOnly` - whether files are read-only
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxAgeSeconds

          StaticHandler setMaxAgeSeconds(long maxAgeSeconds)

      Set value for max age in caching headers
      Parameters:
        `maxAgeSeconds` - maximum time for browser to cache, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setCachingEnabled

          StaticHandler setCachingEnabled(boolean enabled)

      Set whether cache header handling is enabled
      Parameters:
        `enabled` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDirectoryListing

          StaticHandler setDirectoryListing(boolean directoryListing)

      Set whether directory listing is enabled
      Parameters:
        `directoryListing` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIncludeHidden

          StaticHandler setIncludeHidden(boolean includeHidden)

      Set whether hidden files should be served
      Parameters:
        `includeHidden` - true if hidden files should be served
      Returns:
        a reference to this, so the API can be used fluently

    - #### setCacheEntryTimeout

          StaticHandler setCacheEntryTimeout(long timeout)

      Set the server cache entry timeout when caching is enabled
      Parameters:
        `timeout` - the timeout, in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIndexPage

          StaticHandler setIndexPage(String indexPage)

      Set the index page
      Parameters:
        `indexPage` - the index page
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxCacheSize

          StaticHandler setMaxCacheSize(int maxCacheSize)

      Set the max cache size, when caching is enabled
      Parameters:
        `maxCacheSize` - the max cache size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2PushMapping

          StaticHandler setHttp2PushMapping(List<Http2PushMapping> http2PushMappings)

      Set the file mapping for http2push and link preload
      Parameters:
        `http2PushMappings` - the mapping for http2 push
      Returns:
        a reference to this, so the API can be used fluently

    - #### skipCompressionForMediaTypes

          StaticHandler skipCompressionForMediaTypes(Set<String> mediaTypes)

      Skip compression if the media type of the file to send is in the provided `mediaTypes` set. `Content-Encoding` header set to `identity` for the types present in the `mediaTypes` set
      Parameters:
        `mediaTypes` - the set of mime types that are already compressed
      Returns:
        a reference to this, so the API can be used fluently

    - #### skipCompressionForSuffixes

          StaticHandler skipCompressionForSuffixes(Set<String> fileSuffixes)

      Skip compression if the suffix of the file to send is in the provided `fileSuffixes` set. `Content-Encoding` header set to `identity` for the suffixes present in the `fileSuffixes` set
      Parameters:
        `fileSuffixes` - the set of file suffixes that are already compressed
      Returns:
        a reference to this, so the API can be used fluently

    - #### setAlwaysAsyncFS

          StaticHandler setAlwaysAsyncFS(boolean alwaysAsyncFS)

      Set whether async filesystem access should always be used
      Parameters:
        `alwaysAsyncFS` - true for always async FS access
      Returns:
        a reference to this, so the API can be used fluently

    - #### setEnableFSTuning

          StaticHandler setEnableFSTuning(boolean enableFSTuning)

      Set whether async/sync filesystem tuning should enabled
      Parameters:
        `enableFSTuning` - true to enabled FS tuning
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxAvgServeTimeNs

          StaticHandler setMaxAvgServeTimeNs(long maxAvgServeTimeNanoSeconds)

      Set the max serve time in ns, above which serves are considered slow
      Parameters:
        `maxAvgServeTimeNanoSeconds` - max serve time, in ns
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDirectoryTemplate

          StaticHandler setDirectoryTemplate(String directoryTemplate)

      Set the directory template to be used when directory listing
      Parameters:
        `directoryTemplate` - the directory template
      Returns:
        a reference to this, so the API can be used fluently

    - #### setEnableRangeSupport

          StaticHandler setEnableRangeSupport(boolean enableRangeSupport)

      Set whether range requests (resumable downloads; media streaming) should be enabled.
      Parameters:
        `enableRangeSupport` - true to enable range support
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSendVaryHeader

          StaticHandler setSendVaryHeader(boolean varyHeader)

      Set whether vary header should be sent with response.
      Parameters:
        `varyHeader` - true to sent vary header
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDefaultContentEncoding

          StaticHandler setDefaultContentEncoding(String contentEncoding)

      Set the default content encoding for text related files. This allows overriding the system settings default value.
      Parameters:
        `contentEncoding` - the desired content encoding e.g.: "UTF-8"
      Returns:
        a reference to this, so the API can be used fluently

Copyright © 2021 Eclipse. All rights reserved.