fix(vidmoly): append X-Progress-ID query param to transit upload URL
The transit server runs nginx-upload-progress and requires an X-Progress-ID query parameter on the POST URL to finalize the upload session. Without it the server accepts all bytes but never sends the response — matches the reported 99%-stuck behavior. The browser appends it automatically before submit; we now do the same.
This commit is contained in:
parent
7ea718ee27
commit
0dcd62ac26
@ -201,10 +201,16 @@ class VidmolyUploader {
|
|||||||
yield epilogueBuf;
|
yield epilogueBuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transit server lives on a different domain (*.vmwesa.online). Browsers
|
// Transit server lives on a different domain (*.vmwesa.online) and runs
|
||||||
// don't send vidmoly.me cookies across origins, so we don't either.
|
// the nginx-upload-progress module. It requires an X-Progress-ID query
|
||||||
// Origin + Referer match the browser's actual upload headers.
|
// parameter on the POST URL — without it the upload hangs at the final
|
||||||
const { body, statusCode, headers } = await request(uploadUrl, {
|
// byte because the module can't finalize the session. Browsers append it
|
||||||
|
// automatically before submitting the form.
|
||||||
|
const progressId = Date.now().toString() + Math.floor(Math.random() * 1e6).toString().padStart(6, '0');
|
||||||
|
const targetUrl = uploadUrl + (uploadUrl.includes('?') ? '&' : '?') + 'X-Progress-ID=' + progressId;
|
||||||
|
|
||||||
|
// Browsers don't send vidmoly.me cookies across origins, so we don't either.
|
||||||
|
const { body, statusCode, headers } = await request(targetUrl, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: generate(),
|
body: generate(),
|
||||||
signal,
|
signal,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user