Features - OpenMarshal/npm-WebDAV-Server GitHub Wiki
Here is a non-exhaustive list of features :
| Name | Short description | Related link(s) |
|---|---|---|
| PhysicalFile | Represents a physical file (on the hard drive, for instance). | Resources |
| PhysicalFolder | Represents a physical folder (on the hard drive, for instance). Doesn't update its children on its own ; to do so take a look at the PhysicalGateway. |
Resources |
| PhysicalGateway | Represents a gateway to a physical folder to provide the list of sub-resources on the fly with a lazy behaviour. | Resources Gateway |
| PhysicalFSManager | Represents the file system manager for physical resource. | File System Managers |
| PhysicalGFSManager | Represents the file system manager for the PhysicalGateway. |
File System Managers |
| VirtualFile | Represents a virtual file with its content stored in the memory. It is suitable for small files, not large files. | Resources |
| VirtualFolder | Represents a virtual folder, managing virtual resources. | Resources |
| VirtualFSManager | Represents the file system manager for the virtual resources VirtualFile and VirtualFolder. |
File System Managers |
| VirtualStoredFile | Represents a virtual file which has a content managed by the VirtualStoredFSManager. It is suitable for large files. |
Resources |
| VirtualStoredFolder | Represents a virtual folder. Might be deprecated in the future because it is very similar to the VirtualFolder. |
Resources |
| VirtualStoredFSManager | Manage the content of the VirtualStoredFile instances. It can store the contents in a file, in database, in a remote server, etc... Encrypting/compressing/transforming it on the fly if implemented. |
File System Managers |
| RootResource | Represents the root resource, which cannot be moved. It is a default implementation. | Resources |
| IUser | Represents a user. | User management and privileges |
| SimpleUser | Implements a simple way the IUser. |
User management and privileges |
| IUserManager | Represents a user manager, allowing to get a default user or a list of users when the server needs them. Implementations inheriting this interface can get users from a database or a file, for instance. | User management and privileges |
| SimpleUserManager | Implements a simple way the IUserManager. |
User management and privileges |
| HTTPAuthentication | Represents a HTTP authentication system. It intend to get the authentication information from the headers and provide headers to allow the user to authenticate. | Authentication system |
| HTTPBasicAuthentication | Implements the Basic HTTP authentication. | Authentication system |
| HTTPDigestAuthentication | Implements the Digest HTTP authentication. | Authentication system |
| IPrivilegeManager | Represents a full range of privileges methods called by the server to determine if a user can do some operations or not. | User management and privileges |
| SimplePrivilegeManager | Represents a lighter privilege manager. It groups privileges to ease the creation of custom privilege managers. | User management and privileges |
| FakePrivilegeManager | Represents a full-privilege manager, leading to say "authorized" everytime except when a resource is locked by another user. | User management and privileges |
| SimplePathPrivilegeManager | Represents a simple way to manager user privileges based on the path of resources. | User management and privileges |
| ResourceTester | Represents a way to test a large portion of a custom resource. | Custom resources |
| Serialization | Allow to un/serialize the state of the server in order to keep information through different instances. (= Save the server state / Load the server state) | Persistence |
| Translating (Source/Translate headers) | Allow to tell a resource to give information or content of its source content or computed content. This is selectable thanks to the Source and Translate HTTP headers. |
WebDAV headers and body |
| JSON/XML support | Allow to provide or retrieve the information in XML, but in JSON too. This is selectable thanks to the Accept HTTP header. |
WebDAV headers and body |