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
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.openremote.container.web.file.AbstractFileServlet
AbstractFileServlet.Range, AbstractFileServlet.RedirectException
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final String[]
static final long
protected final boolean
static final long
protected final String[]
protected final io.undertow.server.handlers.resource.ResourceManager
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String
getContentType
(jakarta.servlet.http.HttpServletRequest request, String fileName) Returns the content type associated with the given HTTP servlet request and file.protected long
getExpireTime
(jakarta.servlet.http.HttpServletRequest request, String fileName) Returns how long the resource may be cached by the client before it expires, in seconds.protected String
getExtension
(String fileName) protected Resource
getResource
(jakarta.servlet.http.HttpServletRequest request) Returns the file associated with the given HTTP servlet request.boolean
protected void
service
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected String
setContentHeaders
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Resource resource, List<AbstractFileServlet.Range> ranges) Set content headers.Methods inherited from class org.openremote.container.web.file.AbstractFileServlet
coalesce, doGet, doHead, handleFileNotFound, setCacheHeaders, setNoCacheHeaders, stream, stream
Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doOptions, doPost, doPut, doTrace, getLastModified, init, service
Methods inherited from class jakarta.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
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
-
mimeTypes
-
mimeTypesExpireSeconds
-
alreadyZippedExtensions
-
-
Constructor Details
-
FileServlet
-
-
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 classjakarta.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 throwsIllegalArgumentException
, then the servlet will return a HTTP 400 error. If this method returnsnull
, or ifFile.isFile()
returnsfalse
, then the servlet will invokeAbstractFileServlet.handleFileNotFound(HttpServletRequest, HttpServletResponse)
.- Specified by:
getResource
in classAbstractFileServlet
- Parameters:
request
- The involved HTTP servlet request.- Returns:
- The Resource associated with the given HTTP servlet request.
- Throws:
AbstractFileServlet.RedirectException
-
getExpireTime
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 classAbstractFileServlet
- Parameters:
request
- The involved HTTP servlet request.fileName
- The involved file name.- Returns:
- The client cache expire time in seconds (not milliseconds!).
-
getContentType
Description copied from class:AbstractFileServlet
Returns the content type associated with the given HTTP servlet request and file.The default implementation delegates
File.getName()
toServletContext.getMimeType(String)
with a fallback default value ofapplication/octet-stream
.- Overrides:
getContentType
in classAbstractFileServlet
- 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 classAbstractFileServlet
-
getExtension
-