Intercept a HTTP request or response
document.addEventListener("DOMContentLoaded", function () {
var originalOpen = XMLHttpRequest.prototype.open;
var originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.open = function (method, url) {
console.log("Intercepted HTTP request: " + method + " " + url);
originalOpen.apply(this, arguments);
};
XMLHttpRequest.prototype.send = function () {
var self = this;
// Hooking the onreadystatechange event to intercept the response
this.onreadystatechange = function () {
if (self.readyState === 4) {
console.log(
"Intercepted HTTP response:",
JSON.parse(self.responseText),
);
}
};
originalSend.apply(this, arguments);
};
// Example: Making a sample XMLHttpRequest
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/todos/1", true);
xhr.send();
});
//Output
("Intercepted HTTP request: GET https://jsonplaceholder.typicode.com/todos/1");
"Intercepted HTTP response:",
{
completed: false,
id: 1,
title: "delectus aut autem",
userId: 1,
};
Last updated