fix: webdav secure
This commit is contained in:
parent
93b5f85cfd
commit
cd6522b99c
@ -7,6 +7,24 @@ import redis
|
||||
import shutil
|
||||
from threading import Lock
|
||||
from webdav3.client import Client
|
||||
from requests.structures import CaseInsensitiveDict
|
||||
from webdav3.client import WebDavClient
|
||||
|
||||
def safe_download_file(self, remote_path, local_path, progress=None, progress_args=()):
|
||||
response = self.execute_request(action='download', path=remote_path, headers={'accept-encoding': 'identity'})
|
||||
total = response.headers.get('content-length')
|
||||
if total is None:
|
||||
log_debug(f"⚠️ Skipping file without content-length: {remote_path}")
|
||||
return
|
||||
total = int(total)
|
||||
|
||||
with open(local_path, 'wb') as f:
|
||||
for chunk in response.iter_content(chunk_size=1024):
|
||||
if chunk:
|
||||
f.write(chunk)
|
||||
log_debug(f"✅ Downloaded file: {remote_path} → {local_path}")
|
||||
|
||||
WebDavClient.download_file = safe_download_file
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user