From c790a355864952442814eca56dde69b4deae9cf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Leite?= Date: Wed, 17 Jun 2026 21:49:54 -0300 Subject: [PATCH] =?UTF-8?q?docs:=20adiciona=20se=C3=A7=C3=A3o=20Cache=20na?= =?UTF-8?q?=20p=C3=A1gina=20de=20documenta=C3=A7=C3=A3o=20(docs.html)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A página /__docs__ não documentava o cache (X-Cache, Cache-Control/Age, serve-stale, no-cache/no-store, negative caching, exceção do SSE) — presente no README e no OpenAPI, mas faltava na doc HTML. Nova seção "Cache" + link no menu. Só reusa classes Tailwind existentes (sem regenerar o CSS). Co-Authored-By: Claude Opus 4.8 (1M context) --- static/docs.html | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/static/docs.html b/static/docs.html index d009d3c..f791a8d 100644 --- a/static/docs.html +++ b/static/docs.html @@ -56,6 +56,7 @@ Autenticação Convenções Anatomia da resposta + Cache
Endpoints
Consultas Andamentos & processo @@ -212,6 +213,27 @@

Anatomia da respo + +
+

Cache

+

As respostas JSON de /v1/* são cacheadas em memória (read-only), com single-flight e serve-stale quando o SEI cai. Cada resposta traz headers para o cliente decidir.

+
+
+
X-Cache
+

HIT · MISS · STALE · PARTIAL. STALE = SEI fora do ar, servindo o último valor bom.

+
+
+
Cache-Control · Age
+

private, max-age=<ttl> + Age coerentes com o TTL (listas ~6h; processo ~30s).

+
+
+
Forçar fresco
+

Envie Cache-Control: no-cache (revalida) ou no-store (busca fresco sem persistir).

+
+
+

Faults de SOAP de "não encontrado" são lembrados por pouco tempo (negative caching). O endpoint SSE /v1/andamentos/stream é exceção: não carrega esses headers (é um fluxo de eventos), mas respeita no-cache/no-store. Estatísticas em /health.

+
+