test/wsgidav/wsgidav.yaml

Sat, 24 Jan 2026 13:56:19 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 24 Jan 2026 13:56:19 +0100
branch
dav-2
changeset 902
06fa328989ee
permissions
-rw-r--r--

integrate wsgidav into test suite

902
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 # WsgiDAV configuration file
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 # 1. Rename this file to `wsgidav.yaml`.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 # 2. Adjust settings as appropriate.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 # 3. Run `wsgidav` from the same directory or pass file path with `--config` option.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 # See https://wsgidav.readthedocs.io/en/latest/user_guide_configure.html
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 # ============================================================================
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 # SERVER OPTIONS
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 #: Run WsgiDAV inside this WSGI server.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 #: Supported servers:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 #: cheroot, ext-wsgiutils, gevent, gunicorn, paste, uvicorn, wsgiref
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 #: 'wsgiref' and 'ext_wsgiutils' are simple builtin servers that should *not* be
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 #: used in production.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 #: All other servers must have been installed before, e.g. `pip install cheroot`.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 #: (The binary MSI distribution already includes 'cheroot'.)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 #: NOTE: Using 'gunicorn' with more than 1 worker can cause problems with the
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 #: in-memory and shelve-based lock storage as both are not safe for concurrent
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 #: access. (see issue #332) Instead, you can use 'gunicorn' with multiple `threads`
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 #: or try the 'redis' based lock storage (#186).
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 #: Default: 'cheroot', use the `--server` command line option to change this.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 server: cheroot
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 #: Server specific arguments, passed to the server. For example cheroot:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28 #: https://cheroot.cherrypy.dev/en/latest/pkg/cheroot.wsgi.html#cheroot.wsgi.Server
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 # server_args:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30 # max: -1
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 # numthreads: 10
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 # request_queue_size: 5
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33 # shutdown_timeout: 5
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 # timeout: 10
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
35
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 # Server hostname (default: localhost, use --host on command line)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37 host: 127.0.0.1
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 # Server port (default: 8080, use --port on command line)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40 port: 8182
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 # Transfer block size in bytes
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 block_size: 8192
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
44
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
45 #: Add the MS-Author-Via Response Header to OPTIONS command to allow editing
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
46 #: with Microsoft Office (default: true)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
47 add_header_MS_Author_Via: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
48
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
49 hotfixes:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
50 #: Handle Microsoft's Win32LastModifiedTime property.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51 #: This is useful only in the case when you copy files from a Windows
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
52 #: client into a WebDAV share. Windows sends the "last modified" time of
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
53 #: the file in a Microsoft extended property called "Win32LastModifiedTime"
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
54 #: instead of the standard WebDAV property "getlastmodified". So without
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
55 #: this config option set to "True", the "last modified" time of the copied
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
56 #: file will be "now" instead of its original value.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
57 #: The proper solution for dealing with the Windows WebDAV client is to use
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
58 #: a persistent property manager. This setting is merely a work-around.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
59 #: NOTE: Works with Win10, can't work with Win7. Other versions untested.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
60 emulate_win32_lastmod: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
61 #: Re-encode PATH_INFO using UTF-8 (falling back to ISO-8859-1).
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
62 #: This seems to be wrong, since per PEP 3333 PATH_INFO is always ISO-8859-1
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
63 #: encoded (see https://www.python.org/dev/peps/pep-3333/#unicode-issues).
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
64 #: However it also seems to resolve errors when accessing resources with
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
65 #: Chinese characters, for example (see issue #73).
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
66 re_encode_path_info: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
67 #: Force unquoting of PATH_INFO. This should already be done by the WSGI
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
68 #: Framework, so this setting should only be used to fix unexpected problems
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
69 #: there (false fixes issue #8, true fixes issue #228).
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
70 unquote_path_info: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
71 #: Hotfix for WinXP / Vista: accept 'OPTIONS /' for a 'OPTIONS *'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
72 #: (default: false)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
73 treat_root_options_as_asterisk: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
74
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
75
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
76 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
77 # SSL Support
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
78
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
79 #: The certificate should match the servers hostname, so the bogus certs will
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
80 #: not work in all scenarios.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
81 #: (Paths can be absolute or relative to this config file.)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
82
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
83 # ssl_certificate: 'wsgidav/server/sample_bogo_server.crt'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
84 # ssl_private_key: 'wsgidav/server/sample_bogo_server.key'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
85 # ssl_certificate_chain: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
86
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
87 #: Cheroot server supports 'builtin' and 'pyopenssl' (default: 'builtin')
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
88 # ssl_adapter: 'pyopenssl'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
89
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
90 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
91
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
92 #: Modify to customize the WSGI application stack.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
93 #: See here for an example how to add custom middlewares:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
94 #: https://wsgidav.readthedocs.io/en/latest/user_guide_configure.html#middleware-stack
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
95 middleware_stack:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
96 - wsgidav.mw.cors.Cors
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
97 # - wsgidav.mw.debug_filter.WsgiDavDebugFilter
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
98 - wsgidav.error_printer.ErrorPrinter
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
99 - wsgidav.http_authenticator.HTTPAuthenticator
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
100 # - wsgidav.mw.impersonator.Impersonator
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
101 - wsgidav.dir_browser.WsgiDavDirBrowser
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
102 - wsgidav.request_resolver.RequestResolver # this must be the last middleware item
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
103
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
104 # ==============================================================================
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
105 # SHARES
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
106
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
107 #: Application root, applied before provider mapping shares, e.g.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
108 #: <mount_path>/<share_name>/<res_path>
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
109 #: Set this to the mount point (aka location) when WsgiDAV is running behind a
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
110 #: reverse proxy.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
111 #: If set, the mount path must have a leading (but not trailing) slash.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
112 mount_path: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
113
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
114 #: Route share paths to DAVProvider instances
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
115 #: By default a writable `FilesystemProvider` is assumed, but can be forced
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
116 #: to read-only.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
117 #: Note that a DomainController may still restrict access completely or prevent
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
118 #: editing depending on authentication.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
119 #:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
120 #: The following syntax variants are supported to use FilesystemProvider:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
121 #: <share_path>: <folder_path>
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
122 #: or
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
123 #: <share_path>: { 'root': <folder_path>, 'readonly': <bool> }
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
124 #:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
125 #: or instantiate an arbitrary custom class:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
126 #:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
127 #: <share_path>: { 'class': <class_path>, args: [<arg>, ...], kwargs: {<arg>: <val>, ...} }
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
128
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
129 provider_mapping:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
130 '/': 'testrepo'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
131
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
132 #: Additional configuration passed to `FilesystemProvider(..., fs_opts)`
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
133 fs_dav_provider:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
134 #: Mapping from request URL to physical file location, e.g.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
135 #: make sure that a `/favicon.ico` URL is resolved, even if a `*.html`
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
136 #: or `*.txt` resource file was opened using the DirBrowser
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
137 # shadow_map:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
138 # '/favicon.ico': 'file_path/to/favicon.ico'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
139
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
140 #: Serve symbolic link files and folders (default: false)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
141 follow_symlinks: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
142
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
143 # ==============================================================================
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
144 # AUTHENTICATION
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
145 http_authenticator:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
146 #: Allow basic authentication
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
147 accept_basic: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
148 #: Allow digest authentication
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
149 accept_digest: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
150 #: true (default digest) or false (default basic)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
151 default_to_digest: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
152 #: Header field that will be accepted as authorized user.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
153 #: Including quotes, for example: trusted_auth_header = 'REMOTE_USER'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
154 trusted_auth_header: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
155 #: Domain controller that is used to resolve realms and authorization.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
156 #: Default null: which uses SimpleDomainController and the
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
157 #: `simple_dc.user_mapping` option below.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
158 #: (See http://wsgidav.readthedocs.io/en/latest/user_guide_configure.html
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
159 #: for details.)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
160 domain_controller: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
161 # domain_controller: wsgidav.dc.simple_dc.SimpleDomainController
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
162 # domain_controller: wsgidav.dc.pam_dc.PAMDomainController
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
163 # domain_controller: wsgidav.dc.nt_dc.NTDomainController
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
164
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
165
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
166 # Additional options for SimpleDomainController only:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
167 simple_dc:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
168 # Access control per share.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
169 # These routes must match the provider mapping.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
170 # NOTE: Provider routes without a matching entry here, are inaccessible.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
171 user_mapping:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
172 '*': # default (used for all shares that are not explicitly listed)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
173 'dav':
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
174 password: 'testdavutils'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
175 # Optional: passed to downstream middleware as environ["wsgidav.auth.roles"]
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
176 # roles: ['editor']
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
177
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
178 # Additional options for NTDomainController only:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
179 nt_dc:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
180 preset_domain: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
181 preset_server: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
182
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
183 # Additional options for PAMDomainController only:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
184 pam_dc:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
185 service: 'login'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
186 encoding: 'utf-8'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
187 resetcreds: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
188
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
189
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
190 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
191 # User/Group Impersonating
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
192 # (Requires `wsgidav.mw.impersonator.Impersonator`, which is disabled by default.)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
193 impersonator:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
194 # enabling impersonating
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
195 enable: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
196
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
197 # custom map WebDAV (HTTP) usernames to Unix usernames
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
198 # custom_user_mapping:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
199 # leonlee: leo
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
200 # jenifer: jenny
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
201
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
202 # or, use WebDAV (HTTP) usernames as is
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
203 custom_user_mapping: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
204
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
205
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
206 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
207 # CORS
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
208 # (Requires `wsgidav.mw.cors.Cors`, which is enabled by default.)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
209 cors:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
210 #: List of allowed Origins or '*'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
211 #: Default: false, i.e. prevent CORS
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
212 allow_origin: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
213 # allow_origin: '*'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
214 # allow_origin:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
215 # - 'https://example.com'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
216 # - 'https://localhost:8081'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
217
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
218 #: List or comma-separated string of allowed methods (returned as
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
219 #: response to preflight request)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
220 allow_methods:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
221 # allow_methods: POST,HEAD
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
222 #: List or comma-separated string of allowed header names (returned as
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
223 #: response to preflight request)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
224 allow_headers:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
225 # - X-PINGOTHER
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
226 #: List or comma-separated string of allowed headers that JavaScript in
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
227 #: browsers is allowed to access.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
228 expose_headers:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
229 #: Set to true to allow responses on requests with credentials flag set
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
230 allow_credentials: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
231 #: Time in seconds for how long the response to the preflight request can
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
232 #: be cached (default: 5)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
233 max_age: 600
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
234 #: Add custom response headers (dict of header-name -> header-value items)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
235 #: (This is not related to CORS or required to implement CORS functionality)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
236 add_always:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
237 # 'X-Foo-Header: 'qux'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
238
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
239 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
240 # Property Manager
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
241 # null: (default) no support for dead properties
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
242 # true: Use wsgidav.prop_man.property_manager.PropertyManager
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
243 # which is an in-memory property manager (NOT persistent)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
244 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
245 # Example: Use persistent shelve based property manager
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
246 # property_manager:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
247 # class: wsgidav.prop_man.property_manager.ShelvePropertyManager
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
248 # kwargs:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
249 # storage_path: 'wsgidav-props.shelve'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
250
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
251 property_manager: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
252
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
253 #: Optional additional live property modification
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
254 #: Note: by default live properties like file size and last-modified time are
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
255 #: read-only, but that can be overridden here if the underlying DAV provider
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
256 #: supports it. For now only the FileSystemProvider supports it and only namely
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
257 #: changes to the last-modified timestamp. Enable it with the mutable_live_props
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
258 #: list as below to allow clients to use the utime system call or e.g. the
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
259 #: touch or cp / rsync commands with the preserve-timestamp flags on a mounted
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
260 #: DAV share.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
261 #: Please note that the timestamp is set on the actual file or directory, so it
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
262 #: is persistent even for in-memory property managers. It should also be noted
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
263 #: that mutable last-modified may not be compliant with the RFC 4918.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
264 mutable_live_props:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
265 # Enable to allow clients to use e.g. the touch or cp / rsync commands with the
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
266 # preserve-timestamp flags in a mounted DAV share (may be RFC4918 incompliant)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
267 - '{DAV:}getlastmodified'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
268
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
269
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
270 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
271 # Lock Manager Storage
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
272 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
273 # null: No lock support
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
274 # true: (default) shortcut for
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
275 # lock_storage: wsgidav.lock_man.lock_storage.LockStorageDict
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
276 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
277 # Note that the default LockStorageDict works in-memory, so it is
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
278 # NOT persistent.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
279 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
280 # Example: Use persistent shelve based lock storage:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
281 # lock_storage:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
282 # class: wsgidav.lock_man.lock_storage.LockStorageShelve
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
283 # kwargs:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
284 # storage_path: /path/to/wsgidav_locks.shelve
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
285 #
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
286 # Check the documentation on how to develop custom lock storage.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
287
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
288 lock_storage: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
289
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
290
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
291 # ==============================================================================
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
292 # DEBUGGING
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
293
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
294 #: Set verbosity level (can be overridden by -v or -q arguments)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
295 verbose: 3
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
296
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
297 #: Suppress version info in HTTP response headers and error responses
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
298 suppress_version_info: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
299
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
300 logging:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
301 #: Enable logging when using wsgidav in library mode (always on, when running as CLI)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
302 enable: null
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
303 #: Set logging output format
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
304 #: (see https://docs.python.org/3/library/logging.html#logging.Formatter)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
305 logger_date_format: '%H:%M:%S'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
306 logger_format: '%(asctime)s.%(msecs)03d - %(levelname)-8s: %(message)s'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
307 # Example: Add date,thread id, and logger name:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
308 # logger_date_format: '%Y-%m-%d %H:%M:%S'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
309 # logger_format: '%(asctime)s.%(msecs)03d - <%(thread)05d> %(name)-27s %(levelname)-8s: %(message)s'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
310
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
311 #: Enable specific module loggers
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
312 #: E.g. ['lock_manager', 'property_manager', 'http_authenticator', ...]
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
313 # enable_loggers: ['http_authenticator', ]
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
314
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
315 # Enable max. logging for certain http methods
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
316 # E.g. ['COPY', 'DELETE', 'GET', 'HEAD', 'LOCK', 'MOVE', 'OPTIONS', 'PROPFIND', 'PROPPATCH', 'PUT', 'UNLOCK']
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
317 debug_methods: []
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
318
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
319 # Enable max. logging during litmus suite tests that contain certain strings
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
320 # E.g. ['lock_excl', 'notowner_modify', 'fail_cond_put_unlocked', ...]
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
321 debug_litmus: []
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
322
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
323
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
324 # ----------------------------------------------------------------------------
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
325 # WsgiDavDirBrowser
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
326
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
327 dir_browser:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
328 enable: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
329 #: List of fnmatch patterns that will be hidden in the directory listing
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
330 ignore:
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
331 - '.DS_Store' # macOS folder meta data
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
332 - 'Thumbs.db' # Windows image previews
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
333 - '._*' # macOS hidden data files
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
334 #: Add a trailing slash to directory URLs (by generating a 301 redirect)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
335 directory_slash: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
336 #: Display WsgiDAV icon in header
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
337 icon: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
338 #: Raw HTML code, appended as footer (true: use a default trailer)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
339 response_trailer: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
340 #: Display the name and realm of the authenticated user (or 'anomymous')
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
341 show_user: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
342 show_logout: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
343 #: Send <dm:mount> response if request URL contains '?davmount'
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
344 #: (See https://tools.ietf.org/html/rfc4709)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
345 davmount: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
346 #: Add a 'Mount' link at the top of the listing
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
347 davmount_links: false
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
348 #: Invoke MS Office documents for editing using WebDAV by adding a JavaScript
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
349 #: click handler.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
350 #: - For IE 11 and below invokes the SharePoint ActiveXObject("SharePoint.OpenDocuments")
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
351 #: - If the custom legacy Firefox plugin is available, it will be used
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
352 #: https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff407576(v%3Doffice.14)
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
353 #: - Otherwise the Office URL prefix is used (e.g. 'ms-word:ofe|u|http://server/path/file.docx')
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
354 ms_sharepoint_support: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
355 #: Invoke Libre Office documents for editing using WebDAV
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
356 libre_office_support: true
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
357 #: The path to the directory that contains template.html and associated
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
358 #: assets.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
359 #: The default is the htdocs directory within the dir_browser directory.
06fa328989ee integrate wsgidav into test suite
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
360 htdocs_path: null

mercurial