fix(backup): send required public DAV upload marker
Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a1029d-2c93-7500-a0e0-e3e089668b29
This commit is contained in:
parent
33ff82210e
commit
50da37cf50
7 changed files with 65 additions and 1 deletions
|
|
@ -40,6 +40,9 @@ class NoRedirect(urllib.request.HTTPRedirectHandler):
|
|||
def request(url, method='GET', body=None, auth=None, headers=None):
|
||||
require(url.startswith(HOST + '/'), 'unapproved_provider_origin')
|
||||
headers = dict(headers or {})
|
||||
# Public DAV rejects non-GET requests without AJAX marker when federation is disabled.
|
||||
if url.startswith(HOST + '/public.php/dav/') and method != 'GET':
|
||||
headers['X-Requested-With'] = 'XMLHttpRequest'
|
||||
if auth:
|
||||
headers['Authorization'] = 'Basic ' + base64.b64encode((auth[0] + ':' + auth[1]).encode()).decode()
|
||||
req = urllib.request.Request(url, data=body, method=method, headers=headers)
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ def roundtrip(bundle, lane, operator, network=None, get_quota=None, progress=lam
|
|||
raise FinishFailure('backup_size_or_quota_invalid')
|
||||
name='root-custody-history-'+datetime.now(timezone.utc).strftime('%Y%m%dT%H%M%SZ')+'-'+uuid.uuid4().hex+'.json.age'
|
||||
progress('provider_upload',artifact=name)
|
||||
status,_=network(upload+'/forgejo/'+name,'PUT',encrypted,(values['NC_WEBDAV_TOKEN'],''),{'Content-Type':'application/octet-stream','If-None-Match':'*'})
|
||||
status,_=network(upload+'/forgejo/'+name,'PUT',encrypted,(values['NC_WEBDAV_TOKEN'],''),{'Content-Type':'application/octet-stream','If-None-Match':'*','X-Requested-With':'XMLHttpRequest'})
|
||||
progress('provider_upload',upload_http_status=status)
|
||||
if status!=201:
|
||||
raise FinishFailure('new_artifact_upload_failed')
|
||||
|
|
@ -196,6 +196,7 @@ def main(receipt_reserved=False):
|
|||
digest=state['digest'],current_live_baseline_matches=True)
|
||||
progress('backup_lane_read')
|
||||
lane=bao.read(LANE)
|
||||
result['lane_kv_version']=lane['metadata']['version']
|
||||
progress('backup_operator_read')
|
||||
operator=bao.read(OPERATOR_PATH)['data']
|
||||
progress('historical_share_comparison')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue