Initial boiler plate project
This commit is contained in:
127
node_modules/next/dist/experimental/testmode/playwright/report.js
generated
vendored
Normal file
127
node_modules/next/dist/experimental/testmode/playwright/report.js
generated
vendored
Normal file
@ -0,0 +1,127 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "reportFetch", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return reportFetch;
|
||||
}
|
||||
});
|
||||
const _step = require("./step");
|
||||
async function parseBody(r) {
|
||||
const contentType = r.headers.get("content-type");
|
||||
let error;
|
||||
let text;
|
||||
let json;
|
||||
let formData;
|
||||
let buffer;
|
||||
if (contentType == null ? void 0 : contentType.includes("text")) {
|
||||
try {
|
||||
text = await r.text();
|
||||
} catch (e) {
|
||||
error = "failed to parse text";
|
||||
}
|
||||
} else if (contentType == null ? void 0 : contentType.includes("json")) {
|
||||
try {
|
||||
json = await r.json();
|
||||
} catch (e) {
|
||||
error = "failed to parse json";
|
||||
}
|
||||
} else if (contentType == null ? void 0 : contentType.includes("form-data")) {
|
||||
try {
|
||||
formData = await r.formData();
|
||||
} catch (e) {
|
||||
error = "failed to parse formData";
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
buffer = await r.arrayBuffer();
|
||||
} catch (e) {
|
||||
error = "failed to parse arrayBuffer";
|
||||
}
|
||||
}
|
||||
return {
|
||||
...error ? {
|
||||
error
|
||||
} : null,
|
||||
...text ? {
|
||||
text
|
||||
} : null,
|
||||
...json ? {
|
||||
json: JSON.stringify(json)
|
||||
} : null,
|
||||
...formData ? {
|
||||
formData: JSON.stringify(Array.from(formData))
|
||||
} : null,
|
||||
...buffer && buffer.byteLength > 0 ? {
|
||||
buffer: `base64;${Buffer.from(buffer).toString("base64")}`
|
||||
} : null
|
||||
};
|
||||
}
|
||||
function parseHeaders(headers) {
|
||||
return Object.fromEntries(Array.from(headers).sort(([key1], [key2])=>key1.localeCompare(key2)).map(([key, value])=>{
|
||||
return [
|
||||
`header.${key}`,
|
||||
value
|
||||
];
|
||||
}));
|
||||
}
|
||||
async function reportFetch(testInfo, req, handler) {
|
||||
return (0, _step.step)(testInfo, {
|
||||
title: `next.onFetch: ${req.method} ${req.url}`,
|
||||
category: "next.onFetch",
|
||||
apiName: "next.onFetch",
|
||||
params: {
|
||||
method: req.method,
|
||||
url: req.url,
|
||||
...await parseBody(req.clone()),
|
||||
...parseHeaders(req.headers)
|
||||
}
|
||||
}, async (complete)=>{
|
||||
const res = await handler(req);
|
||||
if (res === undefined || res == null) {
|
||||
complete({
|
||||
error: {
|
||||
message: "unhandled"
|
||||
}
|
||||
});
|
||||
} else if (typeof res === "string" && res !== "continue") {
|
||||
complete({
|
||||
error: {
|
||||
message: res
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let body;
|
||||
if (typeof res === "string") {
|
||||
body = {
|
||||
response: res
|
||||
};
|
||||
} else {
|
||||
const { status, statusText } = res;
|
||||
body = {
|
||||
status,
|
||||
...statusText ? {
|
||||
statusText
|
||||
} : null,
|
||||
...await parseBody(res.clone()),
|
||||
...parseHeaders(res.headers)
|
||||
};
|
||||
}
|
||||
await (0, _step.step)(testInfo, {
|
||||
title: `next.onFetch.fulfilled: ${req.method} ${req.url}`,
|
||||
category: "next.onFetch",
|
||||
apiName: "next.onFetch.fulfilled",
|
||||
params: {
|
||||
...body,
|
||||
"request.url": req.url,
|
||||
"request.method": req.method
|
||||
}
|
||||
}, async ()=>undefined).catch(()=>undefined);
|
||||
}
|
||||
return res;
|
||||
});
|
||||
}
|
||||
|
||||
//# sourceMappingURL=report.js.map
|
||||
Reference in New Issue
Block a user