better-argo-tunnels/webdav/app.py

26 lines
804 B
Python

"""Minimal WebDAV server. Serves /data for uploads. Auth handled at reverse tunnel."""
from wsgidav.fs_dav_provider import FilesystemProvider
from wsgidav.wsgidav_app import WsgiDAVApp
from wsgidav.dir_browser import WsgiDavDirBrowser
from wsgidav.error_printer import ErrorPrinter
from wsgidav.request_resolver import RequestResolver
from wsgidav.mw.cors import Cors
from cheroot.wsgi import Server as WSGIServer
ROOT = "/data"
PORT = 80
config = {
"host": "0.0.0.0",
"port": PORT,
"provider_mapping": {"/": FilesystemProvider(ROOT, readonly=False)},
"middleware_stack": [Cors, ErrorPrinter, WsgiDavDirBrowser, RequestResolver],
"verbose": 3,
}
app = WsgiDAVApp(config)
if __name__ == "__main__":
server = WSGIServer((config["host"], config["port"]), app)
server.start()