public class HmuxPath extends FilesystemPath
TODO: support WEBDAV, enabling the full Path API.
Path.FileChannelFactory| Modifier and Type | Field and Description |
|---|---|
protected static LruCache<java.lang.String,com.caucho.server.hmux.HmuxPath.CacheEntry> |
_cache |
protected com.caucho.server.hmux.HmuxPath.CacheEntry |
_cacheEntry |
protected java.lang.String |
_host |
protected int |
_port |
protected java.lang.String |
_query |
protected java.lang.String |
_virtualHost |
protected static L10N |
L |
_bindRoot, _pathname, _root, _userPath_pathSeparatorChar, _schemeMap, _separatorChar| Constructor and Description |
|---|
HmuxPath(java.lang.String host,
int port)
Creates a new HTTP root path with a host and a port.
|
| Modifier and Type | Method and Description |
|---|---|
protected Path |
cacheCopy()
Copy for caching.
|
boolean |
canRead()
Returns true if the file is readable.
|
protected HmuxPath |
create(FilesystemPath root,
java.lang.String userPath,
java.util.Map<java.lang.String,java.lang.Object> newAttributes,
java.lang.String path,
java.lang.String query) |
protected HmuxPath |
create(java.lang.String host,
int port) |
boolean |
equals(java.lang.Object o)
Overrides equals to test for equality with an HTTP path.
|
boolean |
exists()
Returns true if the file exists.
|
Path |
fsWalk(java.lang.String userPath,
java.util.Map<java.lang.String,java.lang.Object> attributes,
java.lang.String uri)
Scans the path portion of the URI, i.e.
|
protected com.caucho.server.hmux.HmuxPath.CacheEntry |
getCache() |
java.lang.String |
getHost()
Returns the host part of the url.
|
long |
getLastModified()
Returns the last modified time.
|
long |
getLength()
Returns the file's length
|
int |
getPort()
Returns the port part of the url.
|
java.lang.String |
getQuery()
Returns the query string.
|
java.lang.String |
getScheme()
Returns the scheme, http.
|
java.lang.String |
getURL()
Returns a full URL for the path.
|
java.lang.String |
getUserPath()
Returns the user's path.
|
java.lang.String |
getVirtualHost()
Returns the virtual host, if any.
|
int |
hashCode()
Returns a hashCode for the path.
|
boolean |
isDirectory()
Returns the last modified time.
|
boolean |
isFile()
Returns true if the file exists.
|
java.lang.String[] |
list() |
Path |
lookupImpl(java.lang.String userPath,
java.util.Map<java.lang.String,java.lang.Object> newAttributes,
boolean isAllowRoot)
Overrides the default lookup to parse the host and port
before parsing the path.
|
StreamImpl |
openReadImpl()
Returns a read stream for a GET request.
|
StreamImpl |
openReadWriteImpl()
Returns a read/write pair for a POST request.
|
Path |
schemeWalk(java.lang.String userPath,
java.util.Map<java.lang.String,java.lang.Object> attributes,
java.lang.String uri,
int offset)
Walk down the path starting from the portion immediately following
the scheme.
|
java.lang.String |
toString()
Returns the string form of the http path.
|
bind, createRoot, getFullPath, getParent, getPath, getRoot, getTail, init, normalizePath, normalizePath, setUserPathcanExecute, canWrite, changeGroup, changeGroup, changeOwner, changeOwner, chmod, clearStatusCache, compareTo, copy, createDepend, createLink, createNewFile, createRoot, createTempFile, escapeURL, fileChannelFactory, getAttribute, getAttributeNames, getBlockCount, getBlockSize, getCache, getCertificates, getContentType, getCrc64, getCreateTime, getDevice, getDeviceId, getDiskSpaceFree, getDiskSpaceTotal, getFileSeparatorChar, getGroup, getInode, getLastAccessTime, getLastStatusChangeTime, getMode, getNativePath, getNewlineString, getNumberOfLinks, getObject, getOwner, getPathSeparatorChar, getRelativePath, getResources, getResources, getSchemeMap, getSeparatorChar, getUser, getUserDir, getValue, isBlockDevice, isCharacterDevice, isExecutable, isFIFO, isHardLink, isLink, isObject, isPathCacheable, isSocket, isSymbolicLink, isWindows, isWindowsInsecure, iterator, lookup, lookup, lookup, lookupChild, lookupNative, lookupNative, lookupRelativeNativePath, mkdir, mkdirs, openAppend, openAppendImpl, openFileRandomAccess, openMemoryMappedFile, openRandomAccess, openRead, openReadWrite, openReadWrite, openReadWrite, openWrite, openWriteImpl, putCache, readLink, realPath, remove, removeAll, renameTo, renameTo, scanScheme, sendfile, setDefaultSchemeMap, setExecutable, setLastModified, setObject, setTestWindows, setValue, truncate, truncate, unbind, unwrap, writeToStream, writeToStreamprotected static L10N L
protected static LruCache<java.lang.String,com.caucho.server.hmux.HmuxPath.CacheEntry> _cache
protected java.lang.String _host
protected int _port
protected java.lang.String _query
protected java.lang.String _virtualHost
protected com.caucho.server.hmux.HmuxPath.CacheEntry _cacheEntry
public HmuxPath(java.lang.String host,
int port)
host - the target hostport - the target port, if zero, uses port 80.public Path lookupImpl(java.lang.String userPath, java.util.Map<java.lang.String,java.lang.Object> newAttributes, boolean isAllowRoot)
lookupImpl in class PathuserPath - the path passed in by the usernewAttributes - attributes passed by the userpublic Path schemeWalk(java.lang.String userPath, java.util.Map<java.lang.String,java.lang.Object> attributes, java.lang.String uri, int offset)
schemeWalk in class FilesystemPathuserPath - the user's passed in pathattributes - the attributes for the new pathuri - the normalized full urioffset - offset into the uri to start processing, i.e. after the
scheme.public Path fsWalk(java.lang.String userPath, java.util.Map<java.lang.String,java.lang.Object> attributes, java.lang.String uri)
fsWalk in class FilesystemPathuserPath - the user's supplied pathattributes - the attributes for the new pathuri - the full uri for the new path.protected HmuxPath create(java.lang.String host, int port)
protected HmuxPath create(FilesystemPath root, java.lang.String userPath, java.util.Map<java.lang.String,java.lang.Object> newAttributes, java.lang.String path, java.lang.String query)
public java.lang.String getScheme()
public java.lang.String getURL()
public java.lang.String getHost()
public java.lang.String getUserPath()
getUserPath in class FilesystemPathpublic java.lang.String getVirtualHost()
public java.lang.String getQuery()
public long getLastModified()
getLastModified in class Pathpublic long getLength()
public boolean canRead()
public boolean isDirectory()
isDirectory in class Pathpublic java.lang.String[] list()
throws java.io.IOException
protected com.caucho.server.hmux.HmuxPath.CacheEntry getCache()
public StreamImpl openReadImpl() throws java.io.IOException
openReadImpl in class Pathjava.io.IOExceptionpublic StreamImpl openReadWriteImpl() throws java.io.IOException
openReadWriteImpl in class Pathjava.io.IOExceptionpublic java.lang.String toString()
public int hashCode()
hashCode in class FilesystemPathpublic boolean equals(java.lang.Object o)
equals in class FilesystemPath