Interceptar XMLHttpRequest e modificar responseText

Eu estou tentando construir um script que funcionará como um proxy / wrapper para o nativoXMLHttpRequest objeto que me permite interceptá-lo, modificar o responseText e retornar ao evento onreadystatechange original.

O contexto sendo, se os dados que o aplicativo está tentando receber já estiver disponível no armazenamento local, para abortar oXMLHttpRequest e passar os dados armazenados localmente de volta para os métodos de retorno de chamada de sucesso / falha do aplicativo. Suponha que eu não tenha controle sobre os métodos de retorno de chamada do AJAX existentes em aplicativos.

Eu tinha originalmente tentado a seguinte ideia

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

Mas, como já estabeleci, o responseText é somente leitura.

Então tentei dar um passo para trás, escrevendo meu próprio proxy nativo completo paraXMLHttpRequest, acabando por escrever minha própria versão dos métodos nativos. Semelhante ao que é discutido aqui ...

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

Mas rapidamente ficou confuso, e ainda tem a dificuldade de devolver os dados modificados de volta ao originalonReadyStateChange método.

Alguma sugestão? Isso é possível?

questionAnswers(3)

yourAnswerToTheQuestion