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;
|
||||
}
|
||||
|
||||
// Transit server lives on a different domain (*.vmwesa.online). Browsers
|
||||
// don't send vidmoly.me cookies across origins, so we don't either.
|
||||
// Origin + Referer match the browser's actual upload headers.
|
||||
const { body, statusCode, headers } = await request(uploadUrl, {
|
||||
// Transit server lives on a different domain (*.vmwesa.online) and runs
|
||||
// the nginx-upload-progress module. It requires an X-Progress-ID query
|
||||
// parameter on the POST URL — without it the upload hangs at the final
|
||||
// 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',
|
||||
body: generate(),
|
||||
signal,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user