Class FileServlet

java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.openremote.container.web.file.AbstractFileServlet
org.openremote.container.web.file.FileServlet
All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable

public class FileServlet extends AbstractFileServlet
See Also:
  • Field Details

    • DEFAULT_EXPIRE_SECONDS

      public static final long DEFAULT_EXPIRE_SECONDS
      See Also:
    • EXPIRES_SECONDS_CACHE_JS

      public static final long EXPIRES_SECONDS_CACHE_JS
      See Also:
    • devMode

      protected final boolean devMode
    • resourceManager

      protected final io.undertow.server.handlers.resource.ResourceManager resourceManager
    • requiredRoles

      protected final String[] requiredRoles
    • mimeTypes

      protected final Map<String,String> mimeTypes
    • mimeTypesExpireSeconds

      protected final Map<String,Integer> mimeTypesExpireSeconds
    • alreadyZippedExtensions

      protected final String[] alreadyZippedExtensions
  • Constructor Details

    • FileServlet

      public FileServlet(boolean devMode, io.undertow.server.handlers.resource.ResourceManager resourceManager, String[] requiredRoles, Map<String,String> mimeTypes, Map<String,Integer> mimeTypesExpireSeconds, String[] alreadyZippedExtensions)
  • Method Details

    • isSecured

      public boolean isSecured()
    • service

      protected void service(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException
      Overrides:
      service in class jakarta.servlet.http.HttpServlet
      Throws:
      jakarta.servlet.ServletException
      IOException
    • getResource

      protected Resource getResource(jakarta.servlet.http.HttpServletRequest request) throws AbstractFileServlet.RedirectException
      Description copied from class: AbstractFileServlet
      Returns the file associated with the given HTTP servlet request. If this method throws IllegalArgumentException, then the servlet will return a HTTP 400 error. If this method returns null, or if File.isFile() returns false, then the servlet will invoke AbstractFileServlet.handleFileNotFound(HttpServletRequest, HttpServletResponse).
      Specified by:
      getResource in class AbstractFileServlet
      Parameters:
      request - The involved HTTP servlet request.
      Returns:
      The Resource associated with the given HTTP servlet request.
      Throws:
      AbstractFileServlet.RedirectException
    • getExpireTime

      protected long getExpireTime(jakarta.servlet.http.HttpServletRequest request, String fileName)
      Description copied from class: AbstractFileServlet
      Returns how long the resource may be cached by the client before it expires, in seconds.

      The default implementation returns 30 days in seconds.

      Overrides:
      getExpireTime in class AbstractFileServlet
      Parameters:
      request - The involved HTTP servlet request.
      fileName - The involved file name.
      Returns:
      The client cache expire time in seconds (not milliseconds!).
    • getContentType

      protected String getContentType(jakarta.servlet.http.HttpServletRequest request, String fileName)
      Description copied from class: AbstractFileServlet
      Returns the content type associated with the given HTTP servlet request and file.

      The default implementation delegates File.getName() to ServletContext.getMimeType(String) with a fallback default value of application/octet-stream.

      Overrides:
      getContentType in class AbstractFileServlet
      Parameters:
      request - The involved HTTP servlet request.
      fileName - The involved file name.
      Returns:
      The content type associated with the given HTTP servlet request and file.
    • setContentHeaders

      protected String setContentHeaders(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Resource resource, List<AbstractFileServlet.Range> ranges)
      Description copied from class: AbstractFileServlet
      Set content headers.
      Overrides:
      setContentHeaders in class AbstractFileServlet
    • getExtension

      protected String getExtension(String fileName)