Class URLResource
- java.lang.Object
-
- io.undertow.server.handlers.resource.URLResource
-
- All Implemented Interfaces:
RangeAwareResource
,Resource
public class URLResource extends java.lang.Object implements Resource, RangeAwareResource
- Author:
- Stuart Douglas
-
-
Constructor Summary
Constructors Constructor Description URLResource(java.net.URL url, java.lang.String path)
URLResource(java.net.URL url, java.net.URLConnection connection, java.lang.String path)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getCacheKey()
java.lang.Long
getContentLength()
java.lang.String
getContentType(MimeMappings mimeMappings)
Return the resources content type.ETag
getETag()
java.io.File
getFile()
java.nio.file.Path
getFilePath()
java.util.Date
getLastModified()
java.lang.String
getLastModifiedString()
java.lang.String
getName()
java.lang.String
getPath()
java.io.File
getResourceManagerRoot()
Returns the resource manager root.java.nio.file.Path
getResourceManagerRootPath()
Returns the resource manager root.java.net.URL
getUrl()
boolean
isDirectory()
boolean
isRangeSupported()
It is possible that some resources managers may only support range requests on a subset of their resources,java.util.List<Resource>
list()
void
serve(Sender sender, HttpServerExchange exchange, IoCallback completionCallback)
Serve the resource, and call the provided callback when complete.void
serveImpl(Sender sender, HttpServerExchange exchange, long start, long end, boolean range, IoCallback completionCallback)
void
serveRange(Sender sender, HttpServerExchange exchange, long start, long end, IoCallback completionCallback)
Serve the resource, and call the provided callback when complete.
-
-
-
Method Detail
-
getPath
public java.lang.String getPath()
-
getLastModified
public java.util.Date getLastModified()
- Specified by:
getLastModified
in interfaceResource
- Returns:
- The last modified date of this resource, or null if this cannot be determined
-
getLastModifiedString
public java.lang.String getLastModifiedString()
- Specified by:
getLastModifiedString
in interfaceResource
- Returns:
- A string representation of the last modified date, or null if this cannot be determined
-
getETag
public ETag getETag()
-
getName
public java.lang.String getName()
-
isDirectory
public boolean isDirectory()
- Specified by:
isDirectory
in interfaceResource
- Returns:
true
if this resource represents a directory
-
list
public java.util.List<Resource> list()
-
getContentType
public java.lang.String getContentType(MimeMappings mimeMappings)
Description copied from interface:Resource
Return the resources content type. In most cases this will simply use the provided mime mappings, however in some cases the resource may have additional information as to the actual content type.- Specified by:
getContentType
in interfaceResource
-
serve
public void serve(Sender sender, HttpServerExchange exchange, IoCallback completionCallback)
Description copied from interface:Resource
Serve the resource, and call the provided callback when complete.
-
serveImpl
public void serveImpl(Sender sender, HttpServerExchange exchange, long start, long end, boolean range, IoCallback completionCallback)
-
getContentLength
public java.lang.Long getContentLength()
- Specified by:
getContentLength
in interfaceResource
- Returns:
- The content length, or null if it is unknown
-
getCacheKey
public java.lang.String getCacheKey()
- Specified by:
getCacheKey
in interfaceResource
- Returns:
- A string that uniquely identifies this resource
-
getFile
public java.io.File getFile()
-
getFilePath
public java.nio.file.Path getFilePath()
- Specified by:
getFilePath
in interfaceResource
- Returns:
- The underlying file that matches the resource. This may return null if the resource does not map to a file
-
getResourceManagerRoot
public java.io.File getResourceManagerRoot()
Description copied from interface:Resource
Returns the resource manager root. If the resource manager has multiple roots then this returns the one that is the parent of this resource.- Specified by:
getResourceManagerRoot
in interfaceResource
- Returns:
- a file representing the resource manager root. This may return null if the resource does not map to a file
-
getResourceManagerRootPath
public java.nio.file.Path getResourceManagerRootPath()
Description copied from interface:Resource
Returns the resource manager root. If the resource manager has multiple roots then this returns the one that is the parent of this resource.- Specified by:
getResourceManagerRootPath
in interfaceResource
- Returns:
- a path representing the resource manager root. This may return null if the resource does not map to a file
-
getUrl
public java.net.URL getUrl()
-
serveRange
public void serveRange(Sender sender, HttpServerExchange exchange, long start, long end, IoCallback completionCallback)
Description copied from interface:RangeAwareResource
Serve the resource, and call the provided callback when complete.- Specified by:
serveRange
in interfaceRangeAwareResource
- Parameters:
sender
- The sender to use.exchange
- The exchange
-
isRangeSupported
public boolean isRangeSupported()
Description copied from interface:RangeAwareResource
It is possible that some resources managers may only support range requests on a subset of their resources,- Specified by:
isRangeSupported
in interfaceRangeAwareResource
- Returns:
true
if this resource supports range requests
-
-