mirror of
https://iceshrimp.dev/iceshrimp/iceshrimp
synced 2024-11-23 14:46:07 +09:00
[backend] Improve JSON-LD context size limiter
This commit is contained in:
parent
d9d6dc1b60
commit
9a8b7efcd6
@ -122,11 +122,12 @@ export class LdSignature {
|
||||
}
|
||||
|
||||
private async fetchDocument(url: string) {
|
||||
const json = await fetch(url, {
|
||||
const ctrl = new AbortController();
|
||||
return await fetch(url, {
|
||||
headers: {
|
||||
Accept: "application/ld+json, application/json",
|
||||
},
|
||||
size: 1024 * 1024, // 1MiB
|
||||
signal: ctrl.signal,
|
||||
// TODO
|
||||
//timeout: this.loderTimeout,
|
||||
agent: (u) => (u.protocol === "http:" ? httpAgent : httpsAgent),
|
||||
@ -134,11 +135,12 @@ export class LdSignature {
|
||||
if (!res.ok) {
|
||||
throw new Error(`${res.status} ${res.statusText}`);
|
||||
} else {
|
||||
if (res.size < 1024 * 1024) // 1MiB
|
||||
return res.json();
|
||||
ctrl.abort();
|
||||
throw new Error('Size exceeded 1MiB');
|
||||
}
|
||||
});
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
public sha256(data: string): string {
|
||||
|
Loading…
Reference in New Issue
Block a user