10.14. Conclusione¶
La camera nel giardino ora sorveglia ciò che ha davanti, trasmette in streaming la vista al telefono di chiunque sia connesso, emette Server-Sent Events nel momento in cui qualcosa si muove, accetta comandi dalla dashboard tramite una WebSocket e carica un JPEG di ogni frame attivato su un archivio cloud, il tutto su HTTPS, dietro un login, con CORS e CSRF a sbarrare la porta ai dispetti cross-site. Uno script, quattro coroutine in background che condividono l’event loop asyncio con un server HTTP, tre piccoli file in /sdcard/static/ per la dashboard, un segreto di firma sul filesystem.
10.14.1. Mappa di riferimento¶
Quando ti servirà una di queste funzionalità nella tua applicazione, le pagine di riferimento sono i punti dove cercare:
microdot — framework HTTP minimale –
microdot.Microdot,Request,Response, i decoratori delle rotte,mount(),microdot.abort(),microdot.redirect(),start_server(),run().microdot.auth — autenticazione HTTP –
BasicAutheTokenAuthper l’autenticazione basata sugli header.microdot.session — sessioni con cookie firmati – l’archivio delle sessioni a cookie firmato.
microdot.login — flusso di login utente – il flusso di login costruito sopra le sessioni.
microdot.sse — Server-Sent Events – i Server-Sent Events per il push unidirezionale.
microdot.websocket — supporto WebSocket – le WebSocket per la messaggistica bidirezionale a frame.
microdot.cors — Cross-Origin Resource Sharing – il middleware CORS.
microdot.csrf — protezione CSRF – il middleware CSRF.
microdot.multipart — parsing di multipart/form-data – il parsing dei moduli e degli upload di file (la camera del giardino non accetta upload, ma la maggior parte delle dashboard prima o poi lo fa).
jwt — JSON Web Token – la primitiva JWT che sta alla base sia di
TokenAuthsia dell’archivio delle sessioni.requests — Client HTTP – il client HTTP in uscita.
Ognuna è una ricerca da una pagina sola. Usale ora che hai visto ogni pezzo nel suo contesto.