Sat, 24 Jan 2026 13:56:19 +0100
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 |