Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
Monkey-patching XMLHttpRequest.send para url especial

Estoy tratando de crear un interceptor http que permita agregar un encabezado a las solicitudes enviadas desde una aplicación de terceros. Estoy parcheando XMLHttpRequest.send

 const origSend = window.XMLHttpRequest.prototype.send; window.XMLHttpRequest.prototype.send = function() { this.setRequestHeader("A-Header", "Value"); return origSend.apply(this, [].slice.call(arguments)); };

El problema es que no necesito ese encabezado en otras solicitudes, aún no veo cómo puedo acceder a la URL de la solicitud (para verificar si la solicitud se realiza desde una biblioteca de terceros). ¿Cómo puedo hacer que este interceptor funcione solo en caso de que haya una subcadena en la URL?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si también parchea el método .open() , puede almacenar la URL pasada en la instancia y leerla más tarde:

 const origOpen = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function() { this.url = arguments[1]; return origOpen.apply(this, [].slice.call(arguments)); }; const origSend = window.XMLHttpRequest.prototype.send; window.XMLHttpRequest.prototype.send = function() { if (this.url) { console.log("url found:", this.url); this.setRequestHeader("A-Header", "Value"); } // prevent error in snippet, uncomment next line // return origSend.apply(this, [].slice.call(arguments)); }; const xhr = new XMLHttpRequest(); xhr.open("get", "https://stackoverflow.com"); xhr.send();

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda