def run_wsgidav_server(with_auth, with_ssl, provider=None, **kwargs):
package_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "<STR_LIT:..>"))<EOL>share_path = os.path.join(gettempdir(), "<STR_LIT>")<EOL>if not os.path.exists(share_path):<EOL><INDENT>os.mkdir(share_path)<EOL><DEDENT>if provider is None:<EOL><INDENT>provider = FilesystemProvider(share_path)<EOL><DEDENT>config = {<EOL>"<STR_LIT:host>": "<STR_LIT:127.0.0.1>",<EOL>"<STR_LIT:port>": <NUM_LIT>,<EOL>"<STR_LIT>": {"<STR_LIT:/>": provider},<EOL>"<STR_LIT>": {"<STR_LIT>": None},<EOL>"<STR_LIT>": {"<STR_LIT>": {"<STR_LIT:*>": True}},  <EOL>"<STR_LIT>": <NUM_LIT:1>,<EOL>"<STR_LIT>": [],<EOL>"<STR_LIT>": True,  <EOL>"<STR_LIT>": True,  <EOL>}<EOL>if with_auth:<EOL><INDENT>config["<STR_LIT>"].update(<EOL>{"<STR_LIT>": True, "<STR_LIT>": False, "<STR_LIT>": False}<EOL>)<EOL>config["<STR_LIT>"].update(<EOL>{<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:*>": {<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:password>": "<STR_LIT>",<EOL>"<STR_LIT:description>": "<STR_LIT>",<EOL>"<STR_LIT>": [],<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:password>": "<STR_LIT>",<EOL>"<STR_LIT:description>": "<STR_LIT>",<EOL>"<STR_LIT>": [],<EOL>},<EOL>}<EOL>}<EOL>}<EOL>)<EOL><DEDENT>if with_ssl:<EOL><INDENT>config.update(<EOL>{<EOL>"<STR_LIT>": os.path.join(<EOL>package_path, "<STR_LIT>"<EOL>),<EOL>"<STR_LIT>": os.path.join(<EOL>package_path, "<STR_LIT>"<EOL>),<EOL>"<STR_LIT>": None,<EOL>}<EOL>)<EOL><DEDENT>util.init_logging(config)<EOL>if kwargs.get("<STR_LIT>"):<EOL><INDENT>config["<STR_LIT>"] = kwargs["<STR_LIT>"]<EOL><DEDENT>app = WsgiDAVApp(config)<EOL>from wsgidav.server.server_cli import _run_cheroot<EOL>_run_cheroot(app, config, "<STR_LIT>")<EOL>
Start blocking WsgiDAV server (called as a separate process).