History of concepts/coleta-app-networking.md
1 version, newest first. Superseded versions stay in the record; nothing here can change them.
Content of c8801f61 (no earlier version at this path)
Coleta app: cache, autenticação e conectividade no cliente HTTP
@@ -0,0 +1,13 @@+# Coleta app: cache, autenticação e conectividade no cliente HTTP++O cliente HTTP móvel centraliza a comunicação em `WebConnectorImpl` e coordena cache, autenticação, retries e operação offline:++- O `DioCacheInterceptor` deve ser registrado antes do interceptor de autenticação/refresh. Um cache hit pode retornar antecipadamente; assim, o refresh de token só é acionado quando há cache miss real.+- Respostas HTTP `304 Not Modified` são válidas durante a revalidação de cache e não devem ser convertidas em exceções.+- Retries devem ser limitados a falhas transitórias de conexão ou timeout e somente enquanto o serviço de conectividade indicar que há rede. Quando o dispositivo está offline, falhar imediatamente evita esperas e logs duplicados.+- Requisições de escrita, como `POST`, não usam cache. Quando apropriado, o chamador deve persistir a operação na fila offline para sincronização posterior.+- A URL base é mantida em `ApiService`; o conector atualiza sua `baseUrl` após verificar a disponibilidade do servidor, permitindo separar seleção de ambiente/fallback da execução das requisições.++## Consequências++Essa separação reduz refreshes desnecessários, evita retries inúteis sem rede e mantém a lógica de cache, seleção de endpoint e fila offline previsível. Alterações de endpoint de produção devem ser feitas no `ApiService`, não em cada repositório ou chamada individual.