Download node_modules/@hono/node-server/dist/utils.mjs from Snapkitty/agentscope-sift: direct link, hf CLI and curl.
- Browser
- Download file 1.96 kB
-
https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/%40hono/node-server/dist/utils.mjs
- Command line
-
hf download hf://Snapkitty/agentscope-sift/node_modules/@hono/node-server/dist/utils.mjs
-
curl -L -o utils.mjs https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/%40hono/node-server/dist/utils.mjs
1.96 kB
| // src/utils.ts | |
| async function readWithoutBlocking(readPromise) { | |
| return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]); | |
| } | |
| function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) { | |
| const cancel = (error) => { | |
| reader.cancel(error).catch(() => { | |
| }); | |
| }; | |
| writable.on("close", cancel); | |
| writable.on("error", cancel); | |
| (currentReadPromise ?? reader.read()).then(flow, handleStreamError); | |
| return reader.closed.finally(() => { | |
| writable.off("close", cancel); | |
| writable.off("error", cancel); | |
| }); | |
| function handleStreamError(error) { | |
| if (error) { | |
| writable.destroy(error); | |
| } | |
| } | |
| function onDrain() { | |
| reader.read().then(flow, handleStreamError); | |
| } | |
| function flow({ done, value }) { | |
| try { | |
| if (done) { | |
| writable.end(); | |
| } else if (!writable.write(value)) { | |
| writable.once("drain", onDrain); | |
| } else { | |
| return reader.read().then(flow, handleStreamError); | |
| } | |
| } catch (e) { | |
| handleStreamError(e); | |
| } | |
| } | |
| } | |
| function writeFromReadableStream(stream, writable) { | |
| if (stream.locked) { | |
| throw new TypeError("ReadableStream is locked."); | |
| } else if (writable.destroyed) { | |
| return; | |
| } | |
| return writeFromReadableStreamDefaultReader(stream.getReader(), writable); | |
| } | |
| var buildOutgoingHttpHeaders = (headers) => { | |
| const res = {}; | |
| if (!(headers instanceof Headers)) { | |
| headers = new Headers(headers ?? void 0); | |
| } | |
| const cookies = []; | |
| for (const [k, v] of headers) { | |
| if (k === "set-cookie") { | |
| cookies.push(v); | |
| } else { | |
| res[k] = v; | |
| } | |
| } | |
| if (cookies.length > 0) { | |
| res["set-cookie"] = cookies; | |
| } | |
| res["content-type"] ??= "text/plain; charset=UTF-8"; | |
| return res; | |
| }; | |
| export { | |
| buildOutgoingHttpHeaders, | |
| readWithoutBlocking, | |
| writeFromReadableStream, | |
| writeFromReadableStreamDefaultReader | |
| }; | |