Charles Proxy

A parte mais difícil de oferecer suporte a aplicativos de TV quando o senhor não os criou e não tem acesso ao código-fonte é depurá-los quando a ajuda é solicitada. É quase uma solicitação injusta: “Não lhe daremos acesso para editar o código, mas queremos que o senhor nos dê a resposta”. Editar o código remoto é uma dor de cabeça… mas, graças ao Charles, essa prática ficou muito mais fácil. O Charles me permite interceptar chamadas para arquivos CSS e JavaScript remotos e substituí-los pelos meus, o que facilita infinitamente a depuração do código remoto que não tenho acesso para alterar.


Charles está repleto de recursos, tanto que se torna confuso. Espero tornar isso mais simples para os senhores; neste post, vou orientá-los na substituição de arquivos para fins de depuração remota de aplicativos da Web.


O Charles é um aplicativo pago que oferece uma avaliação de 30 dias. Não fui pago nem solicitado a endossar o Charles; ele é a ferramenta que uso para depuração remota e, por isso, optei por escrever sobre ele.


O Charles pode fazer praticamente tudo, mas vamos limitar esta postagem à solução de um problema frequente: trocar um arquivo remoto por um arquivo local que possamos substituir, o que nos permite ter controle total sobre seu conteúdo e nos dá a oportunidade de corrigir qualquer problema!


Depuração remota


Para trocar um arquivo remoto por um arquivo local, a primeira etapa é usar o menu Charles e escolher Tools>Map Remote. O Configurações remotas do mapa é exibida com uma lista dos controles remotos que o senhor definiu; para adicionar um, clique no botão “Add” e verá a tela a seguir:


Charles Proxy


O bloco superior é para as configurações de arquivos remotos e o segundo bloco é para as configurações de substituição local. Isso significa que seu arquivo deve ser “servido” (não usando o file:// ); o senhor pode usar o Python ou Node.js para servir facilmente um diretório. Supondo que esteja servindo o arquivo, o senhor digitará primeiro as configurações do URL remoto, seguidas pelas configurações locais. Aqui está um exemplo:


Charles Proxy


A captura de tela acima me mostra substituindo uma MDN de produção .js de produção por um arquivo local. Para garantir que o arquivo local esteja sendo usado, coloque um console.log na parte superior do arquivo e certifique-se de que a mensagem esteja dentro do console.


Esse é apenas um dos recursos mais simples que o Charles oferece, mas tornou minha vida muito, muito mais fácil. A depuração de aplicativos remotos passou de impossível a fácil depois de inserir algumas regras no Charles. Se o senhor tiver um bom método para fazer isso sem o Charles, eu adoraria saber, por favor, compartilhe!