10.14. Resumen¶
La cámara del jardín ahora vigila lo que tiene delante, transmite la vista al teléfono que haya iniciado sesión, dispara eventos enviados por el servidor (Server-Sent Events) en cuanto algo se mueve, acepta comandos del panel a través de un WebSocket y sube un JPEG de cada fotograma activado a un archivo en la nube, todo sobre HTTPS, detrás de un inicio de sesión, con CORS y CSRF cerrando la puerta a las travesuras entre sitios. Un solo script, cuatro corrutinas en segundo plano que comparten el bucle de asyncio con un servidor HTTP, tres pequeños archivos en /sdcard/static/ para el panel y un secreto de firma en el sistema de archivos.
10.14.1. Hoja de ruta de referencia¶
Cuando recurras a una de estas funciones en tu propia aplicación, las páginas de referencia son los destinos de consulta:
microdot — framework HTTP minimalista –
microdot.Microdot,Request,Response, los decoradores de rutas,mount(),microdot.abort(),microdot.redirect(),start_server(),run().microdot.auth — Autenticación HTTP –
BasicAuthyTokenAuthpara autenticación basada en cabeceras.microdot.session — sesiones de cookies firmadas – el almacén de sesiones con cookies firmadas.
microdot.login — flujo de inicio de sesión de usuario – el flujo de inicio de sesión construido sobre las sesiones.
microdot.sse — Server-Sent Events – eventos enviados por el servidor (Server-Sent Events) para el envío unidireccional.
microdot.websocket — compatibilidad con WebSocket – WebSockets para mensajería bidireccional en tramas.
microdot.cors — Intercambio de recursos de origen cruzado – el middleware de CORS.
microdot.csrf — Protección CSRF – el middleware de CSRF.
microdot.multipart — análisis de multipart/form-data – análisis de formularios y de subida de archivos (la cámara del jardín no acepta subidas, pero la mayoría de los paneles acaban haciéndolo).
jwt — JSON Web Tokens – la primitiva JWT que respalda tanto a
TokenAuthcomo al almacén de sesiones.requests — Cliente HTTP – el cliente HTTP saliente.
Cada una es una consulta de una sola página. Úsalas ahora que has visto cada pieza en su contexto.