mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 22:18:13 +02:00
Web : réponses compressées en gzip
Repris d'AJEAN 0.15.7 (web_gzip.go et son test, tels quels). L'UI (~590 Ko de HTML/JS/CSS en un seul fichier) et les gros JSON (historique relu, liste des sessions, journal) partaient en clair. gzip les divise par 4 à 8 — ça se sent sur un téléphone en Wi-Fi ou à travers le tunnel. La décision se prend au premier octet, sur le Content-Type posé par le handler : les flux SSE (chat, complétions /v1 en streaming) et les binaires passent tels quels — un flux compressé retiendrait ses événements dans le tampon de gzip. Flush reste transmis pour les réponses progressives, et Unwrap laisse le WebSocket des postes distants atteindre le Hijacker d'origine. Seul l'écouteur local est enveloppé : le tunnel sert le mux nu, comme avant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
38802d9e21
commit
f75f3cf27d
3 files changed
+163
-1
No files matched your search
@@ -89,7 +89,9 @@ func cmdWeb(args []string) error {
|
||||
// restent ouverts aussi longtemps que l'utilisateur regarde la page — et
|
||||
// depuis mountOAI, il couperait aussi les complétions en streaming des
|
||||
// clients tiers, en plein milieu d'une génération.
|
||||
srv := &http.Server{Handler: mux, ReadHeaderTimeout: 10 * time.Second}
|
||||
// gzipHandler : l'UI (~590 Ko) et les gros JSON partent compressés ; les flux
|
||||
// SSE et les binaires passent tels quels (voir web_gzip.go).
|
||||
srv := &http.Server{Handler: gzipHandler(mux), ReadHeaderTimeout: 10 * time.Second}
|
||||
return srv.Serve(ln)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user