Attention

You are looking at outdated documentation for version 1.x. A newer version is available.

5.5.3.1.18. wsgidav.wsgidav_app

WSGI container, that handles the HTTP requests. This object is passed to the WSGI server and represents our WsgiDAV application to the outside.

On init:

Use the configuration dictionary to initialize lock manager, property manager, domain controller.

Create a dictionary of share-to-provider mappings.

Initialize middleware objects and RequestResolver and setup the WSGI application stack.

For every request:

Find the registered DAV provider for the current request.

Add or modify info in the WSGI environ:

environ[“SCRIPT_NAME”]
Mount-point of the current share.
environ[“PATH_INFO”]
Resource path, relative to the mount path.
environ[“wsgidav.provider”]
DAVProvider object that is registered for handling the current request.
environ[“wsgidav.config”]
Configuration dictionary.
environ[“wsgidav.verbose”]
Debug level [0-3].

Log the HTTP request, then pass the request to the first middleware.

Note: The OPTIONS method for the ‘*’ path is handled directly.

See Developers info for more information about the WsgiDAV architecture.

Classes

DAVProvider() Abstract base class for DAV resource providers.
ErrorPrinter(application, config)
FilesystemProvider(rootFolderPath[, readonly])
HTTPAuthenticator(application, config) WSGI Middleware for basic and digest authenticator.
LockManager(storage) Implements locking functionality using a custom storage layer.
LockStorageDict() An in-memory lock manager storage implementation using a dictionary.
PropertyManager() An in-memory property manager implementation using a dictionary.
RequestResolver()
WsgiDAVApp(config)
WsgiDAVDomainController
WsgiDavDebugFilter(application, config)
WsgiDavDirBrowser(application, config) WSGI middleware that handles GET requests on collections to display directories.