Interface StaticHandler

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