Erfasst chrome.webRequest den „requestBody“ von PATCH?JavaScript

Javascript-Forum
Guest
 Erfasst chrome.webRequest den „requestBody“ von PATCH?

Post by Guest »

Ich entwickle eine Chrome-Erweiterung, um die Parameter und Werte einer Webanwendung zu erfassen. Bisher konnte ich den requestBody von POST-Aufrufen erfolgreich über die chrome.webRequest-API erfassen. Beim Testen desselben für eine Aktualisierungsaktion (PATCH) wird der „requestBody“ jedoch als null zurückgegeben.
Ich habe versucht, meiner Funktion Protokollanweisungen hinzuzufügen, und bin zu dem Schluss gekommen, dass es sich möglicherweise um einen handelt Einschränkung in der chrome.webRequest-API selbst.

Code: Select all

// Capture the request body before the request is sent
chrome.webRequest.onBeforeRequest.addListener(
(details) => {
if (isCapturing && ["POST", "PUT", "PATCH"].includes(details.method)) {
const requestBody = details.requestBody;
let rawBody = "";
console.log(Request details: ${JSON.stringify(details)}`);
`
if (requestBody) {
console.log(`Request body exists for ${details.method} request to ${details.url}`);
if (requestBody.raw && requestBody.raw.length) {
rawBody = String.fromCharCode.apply(
null,
new Uint8Array(requestBody.raw[0].bytes)
);
console.log(`Raw body extracted for ${details.method} request to ${details.url}`);
} else {
console.log(`Request body raw is empty for ${details.method} request to ${details.url}`);
}
} else {
console.log(`Request body is null for ${details.method} request to ${details.url}`);
}
const url = new URL(details.url);
const postmanUrl = {
raw: details.url,
protocol: url.protocol.replace(":", ""),
host: url.hostname.split("."),
path: url.pathname.split("/").filter(Boolean),
};

// Push the request with the body
capturedRequests.push({
name: details.url,
request: {
method: details.method,
header: [], // Will be added in onCompleted
body: rawBody,
},
});
}
},
{ urls: [""] },
["requestBody"] );
Ich muss wissen, ob es dafür eine Problemumgehung gibt, damit es sowohl für POST als auch für PATCH funktioniert.
Ich habe die Header-Details protokolliert und habe herausgefunden, dass das Tag „requestBody“ in POST und nicht in PATCH verfügbar ist. Dies könnte bedeuten, dass es eine Einschränkung gibt. Ich muss wissen, ob es dafür eine bekannte Problemumgehung gibt.
Jede Hilfe wäre dankbar!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post