| import os |
| from cheroot import wsgi |
| from wsgidav.wsgidav_app import WsgiDAVApp |
| from wsgidav.fs_dav_provider import FilesystemProvider |
|
|
| |
| files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") |
| if not os.path.exists(files_dir): |
| os.makedirs(files_dir) |
|
|
| |
| with open(os.path.join(files_dir, "sample.txt"), "w") as f: |
| f.write("This is a sample file for the WebDAV server.") |
|
|
| print(f"Created 'files' directory with sample.txt at {files_dir}") |
|
|
| |
| config = { |
| "provider_mapping": { |
| "/": FilesystemProvider(files_dir) |
| }, |
| "http_authenticator": { |
| "domain_controller": None, |
| }, |
| "simple_dc": {"user_mapping": {"*": True}}, |
| "verbose": 1, |
| } |
|
|
| |
| app = WsgiDAVApp(config) |
|
|
| |
| server_addr = "0.0.0.0" |
| server_port = 7860 |
| server = wsgi.Server((server_addr, server_port), app) |
|
|
| print(f"Starting WebDAV server at http://{server_addr}:{server_port}") |
| try: |
| server.start() |
| except KeyboardInterrupt: |
| print("Stopping server...") |
| server.stop() |