mirror of
https://github.com/wukko/cobalt.git
synced 2025-02-02 16:36:20 +01:00
web/api: remove deprecated statuses, update error type, time out request
also updated some error codes
This commit is contained in:
parent
f96c1cd13b
commit
ac6d68ec45
3 changed files with 24 additions and 9 deletions
|
@ -68,16 +68,16 @@
|
|||
|
||||
return createDialog({
|
||||
...defaultErrorPopup,
|
||||
bodyText: "couldn't access the api",
|
||||
bodyText: $t("error.api.unreachable"),
|
||||
});
|
||||
}
|
||||
|
||||
if (response.status === "error" || response.status === "rate-limit") {
|
||||
if (response.status === "error") {
|
||||
changeDownloadButton("error");
|
||||
|
||||
return createDialog({
|
||||
...defaultErrorPopup,
|
||||
bodyText: response.text,
|
||||
bodyText: $t(response.error.code),
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
|||
|
||||
return createDialog({
|
||||
...defaultErrorPopup,
|
||||
bodyText: "couldn't probe the stream",
|
||||
bodyText: $t("error.stream.failed_probe"),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -139,7 +139,7 @@
|
|||
|
||||
return createDialog({
|
||||
...defaultErrorPopup,
|
||||
bodyText: "unknown/unsupported status",
|
||||
bodyText: $t("error.api.unknown_response"),
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -91,12 +91,22 @@ const request = async (url: string) => {
|
|||
const response: Optional<CobaltAPIResponse> = await fetch(api, {
|
||||
method: "POST",
|
||||
redirect: "manual",
|
||||
signal: AbortSignal.timeout(10000),
|
||||
body: JSON.stringify(request),
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}).then(r => r.json()).catch(() => {});
|
||||
}).then(r => r.json()).catch((e) => {
|
||||
if (e?.message?.includes("timed out")) {
|
||||
return {
|
||||
status: "error",
|
||||
error: {
|
||||
code: "error.api.timed_out"
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return response;
|
||||
}
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
enum CobaltResponseType {
|
||||
Error = 'error',
|
||||
RateLimit = 'rate-limit',
|
||||
Picker = 'picker',
|
||||
Redirect = 'redirect',
|
||||
Stream = 'stream',
|
||||
}
|
||||
|
||||
type CobaltErrorResponse = {
|
||||
status: CobaltResponseType.Error | CobaltResponseType.RateLimit,
|
||||
text: string,
|
||||
status: CobaltResponseType.Error,
|
||||
error: {
|
||||
code: string,
|
||||
context?: {
|
||||
service?: string,
|
||||
limit?: number,
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
type CobaltPartialURLResponse = {
|
||||
|
|
Loading…
Reference in a new issue