Interceptar XMLHttpSolicitar y modificar responseText

Estoy intentando crear un script que actuará como un proxy / envoltorio para el nativoXMLHttpRequest objeto que me permite interceptarlo, modificar el texto de respuesta y volver al evento original onreadystatechange.

El contexto es, si los datos que la aplicación está tratando de recibir ya están disponibles en el almacenamiento local, para abortar elXMLHttpRequest y vuelva a pasar los datos almacenados localmente a los métodos de devolución de llamadas de éxito / fracaso de las aplicaciones. Supongamos que no tengo control sobre las aplicaciones existentes de los métodos de devolución de llamada AJAX.

Originalmente había intentado la siguiente idea ...

var send = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data){
   //Do some stuff in here to modify the responseText
   send.call(this, data);
};

Pero como ya he establecido, el texto de respuesta es de solo lectura.

Luego intenté dar un paso atrás, escribiendo mi propio proxy nativo completo paraXMLHttpRequest, terminando finalmente escribiendo mi propia versión de los métodos nativos. Similar a lo que se discute aquí ...

http://www.ilinsky.com/articles/XMLHttpRequest/#implementation-wrapping

Pero rápidamente se volvió confuso, y todavía tiene la dificultad de devolver los datos modificados al originalonReadyStateChange método.

¿Alguna sugerencia? ¿Es esto posible?

Respuestas a la pregunta(3)

Su respuesta a la pregunta