Initial commit
This commit is contained in:
commit
78f8d225ee
21173 changed files with 2907774 additions and 0 deletions
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue