Website Structure
This commit is contained in:
parent
62812f2090
commit
71f0676a62
22365 changed files with 4265753 additions and 791 deletions
101
Frontend-Learner/node_modules/nitropack/dist/runtime/internal/utils.mjs
generated
vendored
Normal file
101
Frontend-Learner/node_modules/nitropack/dist/runtime/internal/utils.mjs
generated
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
import { splitCookiesString } from "h3";
|
||||
import { useNitroApp } from "./app.mjs";
|
||||
const METHOD_WITH_BODY_RE = /post|put|patch/i;
|
||||
const TEXT_MIME_RE = /application\/text|text\/html/;
|
||||
const JSON_MIME_RE = /application\/json/;
|
||||
export function requestHasBody(request) {
|
||||
return METHOD_WITH_BODY_RE.test(request.method);
|
||||
}
|
||||
export async function useRequestBody(request) {
|
||||
const contentType = request.headers.get("content-type") || "";
|
||||
if (contentType.includes("form")) {
|
||||
const formData = await request.formData();
|
||||
const body = /* @__PURE__ */ Object.create(null);
|
||||
for (const entry of formData.entries()) {
|
||||
body[entry[0]] = entry[1];
|
||||
}
|
||||
return body;
|
||||
}
|
||||
if (JSON_MIME_RE.test(contentType)) {
|
||||
return request.json();
|
||||
}
|
||||
if (TEXT_MIME_RE.test(contentType)) {
|
||||
return request.text();
|
||||
}
|
||||
const blob = await request.blob();
|
||||
return URL.createObjectURL(blob);
|
||||
}
|
||||
function _captureError(error, type) {
|
||||
console.error(`[${type}]`, error);
|
||||
useNitroApp().captureError(error, { tags: [type] });
|
||||
}
|
||||
export function trapUnhandledNodeErrors() {
|
||||
process.on(
|
||||
"unhandledRejection",
|
||||
(error) => _captureError(error, "unhandledRejection")
|
||||
);
|
||||
process.on(
|
||||
"uncaughtException",
|
||||
(error) => _captureError(error, "uncaughtException")
|
||||
);
|
||||
}
|
||||
export function joinHeaders(value) {
|
||||
return Array.isArray(value) ? value.join(", ") : String(value);
|
||||
}
|
||||
export function normalizeFetchResponse(response) {
|
||||
if (!response.headers.has("set-cookie")) {
|
||||
return response;
|
||||
}
|
||||
return new Response(response.body, {
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
headers: normalizeCookieHeaders(response.headers)
|
||||
});
|
||||
}
|
||||
export function normalizeCookieHeader(header = "") {
|
||||
return splitCookiesString(joinHeaders(header));
|
||||
}
|
||||
export function normalizeCookieHeaders(headers) {
|
||||
const outgoingHeaders = new Headers();
|
||||
for (const [name, header] of headers) {
|
||||
if (name === "set-cookie") {
|
||||
for (const cookie of normalizeCookieHeader(header)) {
|
||||
outgoingHeaders.append("set-cookie", cookie);
|
||||
}
|
||||
} else {
|
||||
outgoingHeaders.set(name, joinHeaders(header));
|
||||
}
|
||||
}
|
||||
return outgoingHeaders;
|
||||
}
|
||||
export function toBuffer(data) {
|
||||
if ("pipeTo" in data && typeof data.pipeTo === "function") {
|
||||
return new Promise((resolve, reject) => {
|
||||
const chunks = [];
|
||||
data.pipeTo(
|
||||
new WritableStream({
|
||||
write(chunk) {
|
||||
chunks.push(chunk);
|
||||
},
|
||||
close() {
|
||||
resolve(Buffer.concat(chunks));
|
||||
},
|
||||
abort(reason) {
|
||||
reject(reason);
|
||||
}
|
||||
})
|
||||
).catch(reject);
|
||||
});
|
||||
}
|
||||
if ("pipe" in data && typeof data.pipe === "function") {
|
||||
return new Promise((resolve, reject) => {
|
||||
const chunks = [];
|
||||
data.on("data", (chunk) => {
|
||||
chunks.push(chunk);
|
||||
}).on("end", () => {
|
||||
resolve(Buffer.concat(chunks));
|
||||
}).on("error", reject);
|
||||
});
|
||||
}
|
||||
return Buffer.from(data);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue