Enciclopédia de Erros

Headers não transferidos pelo HttpTransferCache

O Angular produz este aviso quando o código tenta acessar um header HTTP que não foi transferido do servidor para o client pelo HttpTransferCache.

Por padrão, HttpTransferCache não transfere nenhum header para evitar potenciais problemas de segurança ou transferência desnecessária de dados. Quando um header é acessado no client que não foi incluído, o Angular registra este aviso para ajudá-lo a identificar headers ausentes.

Corrigindo o erro

Para incluir headers específicos no transfer cache, use a opção includeHeaders.

No nível da requisição

Adicione o parâmetro transferCache à sua requisição HTTP:

this.http.get('/api/data', {  transferCache: {    includeHeaders: ['cache-control', 'etag']  }});

No nível da aplicação

Configure includeHeaders ao fornecer o transfer cache:

provideClientHydration(  withHttpTransferCache({    includeHeaders: ['cache-control', 'etag']  }));

Inclua apenas headers que são necessários para a lógica da sua aplicação. Tenha cuidado com headers sensíveis.

Depurando o erro

A mensagem de aviso inclui o nome do header e a URL da requisição. Verifique seu código para onde este header está sendo acessado e determine se ele precisa ser incluído no transfer cache.

Se o header não é necessário no client, considere refatorar seu código para evitar acessá-lo.