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 Details

    • DEFAULT_WEB_ROOT

      static final String DEFAULT_WEB_ROOT
      Default value of the web-root, where files are served from
      See Also:
    • 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:
    • DEFAULT_MAX_AGE_SECONDS

      static final long DEFAULT_MAX_AGE_SECONDS
      Default max age for cache headers
      See Also:
    • 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:
    • DEFAULT_DIRECTORY_TEMPLATE

      static final String DEFAULT_DIRECTORY_TEMPLATE
      Default template file to use for directory listing
      See Also:
    • DEFAULT_INCLUDE_HIDDEN

      static final boolean DEFAULT_INCLUDE_HIDDEN
      Default of whether hidden files can be served
      See Also:
    • DEFAULT_CACHE_ENTRY_TIMEOUT

      static final long DEFAULT_CACHE_ENTRY_TIMEOUT
      Default cache entry timeout, when caching
      See Also:
    • DEFAULT_INDEX_PAGE

      static final String DEFAULT_INDEX_PAGE
      The default index page
      See Also:
    • DEFAULT_MAX_CACHE_SIZE

      static final int DEFAULT_MAX_CACHE_SIZE
      The default max cache size
      See Also:
    • DEFAULT_ALWAYS_ASYNC_FS

      static final boolean DEFAULT_ALWAYS_ASYNC_FS
      Default of whether async filesystem access should always be used
      See Also:
    • DEFAULT_ENABLE_FS_TUNING

      static final boolean DEFAULT_ENABLE_FS_TUNING
      Default of whether fs async/sync tuning should be used
      See Also:
    • 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:
    • DEFAULT_RANGE_SUPPORT

      static final boolean DEFAULT_RANGE_SUPPORT
      Default of whether Range request handling support should be used
      See Also:
    • 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:
    • DEFAULT_SEND_VARY_HEADER

      static final boolean DEFAULT_SEND_VARY_HEADER
      Default of whether vary header should be sent.
      See Also:
  • Method Details

    • 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
    • create

      static StaticHandler create(FileSystemAccess handlerVisibility, String root)
      Create a handler, specifying web-root and access option: absolute path or relative
      Parameters:
      handlerVisibility - CWD or file system root
      root - the web-root
      Returns:
      the handler
    • 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