mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-08 01:20:27 +00:00
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
gopeed.events.onResolve(async function (ctx) {
|
|
if (ctx.req.url.endsWith("/blob")) {
|
|
const blob = new Blob(["hello world"], {type: "text/plain"});
|
|
const url = URL.createObjectURL(blob);
|
|
ctx.res = {
|
|
name: "gblob-blob",
|
|
files: [
|
|
{
|
|
name: "hello.txt",
|
|
size: 11,
|
|
req: {
|
|
url,
|
|
}
|
|
}
|
|
]
|
|
};
|
|
return;
|
|
}
|
|
|
|
const transform = new TransformStream();
|
|
const writer = transform.writable.getWriter();
|
|
const url = URL.createObjectURL(transform.writable);
|
|
|
|
if (ctx.req.url.endsWith("/stream-unknown")) {
|
|
(async () => {
|
|
await writer.write(new TextEncoder().encode("line 1\n"));
|
|
await new Promise((resolve) => setTimeout(resolve, 120));
|
|
await writer.write(new TextEncoder().encode("line 2\n"));
|
|
await writer.close();
|
|
})();
|
|
|
|
ctx.res = {
|
|
name: "gblob-stream-unknown",
|
|
files: [
|
|
{
|
|
name: "stream-unknown.txt",
|
|
req: {
|
|
url,
|
|
}
|
|
}
|
|
]
|
|
};
|
|
return;
|
|
}
|
|
|
|
await writer.write(new TextEncoder().encode("line 1\n"));
|
|
await writer.write(new TextEncoder().encode("line 2\n"));
|
|
await writer.close();
|
|
|
|
ctx.res = {
|
|
name: "gblob-stream",
|
|
files: [
|
|
{
|
|
name: "stream.txt",
|
|
size: 14,
|
|
req: {
|
|
url,
|
|
}
|
|
}
|
|
]
|
|
};
|
|
});
|