Saltearse al contenido

Compresión Brotli

Este ejemplo muestra cómo habilitar compresión Brotli en tu servidor Zuno usando la extensión compression. Esto reduce el tamaño de las respuestas y mejora significativamente los tiempos de carga, especialmente para archivos estáticos o respuestas grandes.


compression-example/
├── CMakeLists.txt
└── main.cpp

cmake_minimum_required(VERSION 3.20)
project(compression_example)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
FetchContent_Declare(
zuno
GIT_REPOSITORY https://github.com/ZunoFramework/zuno.git
GIT_TAG main
)
FetchContent_MakeAvailable(zuno)
add_executable(compression-example main.cpp)
target_link_libraries(compression-example PRIVATE zuno)

#include <zuno/zuno.hpp>
#include <zuno/extensions/compression.hpp>
int main() {
zuno::App app;
// Habilitar compresión Brotli para todas las respuestas
app.use(zuno::compression());
app.get("/", [](auto& req, auto& res) {
res.send("Esta respuesta será comprimida si el cliente lo soporta.");
});
app.listen(3000);
}

Puedes verificar si la compresión está funcionando con curl:

Terminal window
curl -H "Accept-Encoding: br" -I http://localhost:3000

Deberías ver un encabezado como:

Content-Encoding: br


Zuno te permite optimizar el rendimiento sin complicaciones—solo activa la extensión y listo.