Configuración Avanzada
⚙️ Configuración Avanzada
Sección titulada «⚙️ Configuración Avanzada»ZunoFramework es un framework web moderno en C++ inspirado en Express.js, diseñado para construir aplicaciones rápidas, modulares y seguras. Esta página cubre patrones de configuración avanzada, incluyendo composición de middlewares, análisis de JSON/XML y envío de archivos HTML.
🧩 Composición de Middlewares por Ruta
Sección titulada «🧩 Composición de Middlewares por Ruta»En Zuno, las funciones middleware se pasan como un arreglo de lambdas en el segundo argumento de la definición de ruta. El tercer argumento es el controlador final.
app.get("/dashboard", { [](const zuno::Request& req, zuno::Response& res, zuno::Next next) { zuno::log::info("[Auth] Verificando sesión del usuario..."); next(); }, [](const zuno::Request& req, zuno::Response& res, zuno::Next next) { zuno::log::info("[Logger] Ruta solicitada: {}", req.path()); next(); }}, [](const zuno::Request& req, zuno::Response& res) { res.send("Bienvenido al panel de control");});
Puedes reutilizar arreglos de middlewares en múltiples rutas para mantener consistencia.
🧪 Análisis de JSON y XML
Sección titulada «🧪 Análisis de JSON y XML»Zuno incluye soporte integrado para analizar cuerpos de solicitud en formato JSON y XML.
app.post("/api/data", {}, [](const zuno::Request& req, zuno::Response& res) { auto json = req.json(); std::string nombre = json["name"]; res.json({{"message", "Hola " + nombre}});});
app.post("/api/xml", {}, [](const zuno::Request& req, zuno::Response& res) { auto xml = req.xml(); std::string id = xml["user"]["@id"]; res.send("Usuario recibido con ID: " + id);});
🧱 Envío de Archivos HTML
Sección titulada «🧱 Envío de Archivos HTML»Zuno permite enviar archivos HTML directamente especificando la ruta del archivo. El framework se encarga de leer el contenido y establecer el tipo de contenido automáticamente:
app.get("/", {}, [](const zuno::Request& req, zuno::Response& res) { res.html("public/index.html");});
Esto simplifica el manejo de contenido estático sin necesidad de manipular flujos de archivos manualmente.
🔄 Próximamente: Soporte para WebSockets
Sección titulada «🔄 Próximamente: Soporte para WebSockets»Zuno pronto incluirá soporte para WebSockets mediante app.ws()
:
// API planeada (aún no implementada)app.ws("/chat", [](const zuno::WebSocket& ws) { ws.onMessage([](const std::string& msg) { ws.send("Eco: " + msg); });});
¿Necesitas ayuda con un caso específico? Únete a la conversación en GitHub o consulta la Guía de Despliegue.