wsgidav.wsgidav_app

Description

 _      __         _ ___  ___ _   __
| | /| / /__ ___  (_) _ \/ _ | | / /
| |/ |/ (_-</ _ `/ / // / __ | |/ /
|__/|__/___/\_, /_/____/_/ |_|___/
           /___/

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 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.

Classes

WsgiDAVApp(config)

Other Members

BaseMiddleware(wsgidav_app, next_app, config) Abstract base middleware class (optional).
DAVProvider() Abstract base class for DAV resource providers.
DEFAULT_CONFIG dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list.For example: dict(one=1, two=2).
FilesystemProvider(root_folder_path[, readonly])
HTTPAuthenticator(wsgidav_app, next_app, config) WSGI Middleware for basic and digest authentication.
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.
compat Tool functions to support Python 2 and 3.
copy Generic (shallow and deep) copying operations.
dynamic_import_class(name) Import a class from a module string, e.g.
dynamic_instantiate_middleware(name, args[, …]) Import a class and instantiate with custom args.
inspect Get useful information from live Python objects.
platform This module tries to retrieve as much platform-identifying data as possible.
safe_re_encode(s, encoding_to[, errors]) Re-encode str or binary so that is compatible with a given encoding (replacing unsupported chars).
sys This module provides access to some objects used or maintained by the interpreter and to functions that interact strongly with the interpreter.
time This module provides various functions to manipulate time values.
util Miscellaneous support functions for WsgiDAV.