10.14. Afronding#
De cam in de tuin houdt nu in de gaten wat er voor hem staat, streamt het beeld naar de telefoon die is ingelogd, verzendt Server-Sent Events op het moment dat er iets beweegt, accepteert dashboardcommando’s via een WebSocket en uploadt een JPEG van elk getriggerd frame naar een cloudarchief – allemaal over HTTPS, achter een login, met CORS en CSRF die de deur dichthouden voor cross-site-onheil. Eén script, vier achtergrondcoroutines die de asyncio-loop delen met één HTTP-server, drie kleine bestanden in /sdcard/static/ voor het dashboard, één ondertekeningsgeheim op het bestandssysteem.
10.14.1. Referentieroutekaart#
Wanneer je in je eigen applicatie naar een van deze functies grijpt, zijn de referentiepagina’s de plekken om op te zoeken:
microdot — minimaal HTTP-framework –
microdot.Microdot,Request,Response, de route-decorators,mount(),microdot.abort(),microdot.redirect(),start_server(),run().microdot.auth — HTTP-authenticatie –
BasicAuthenTokenAuthvoor header-gebaseerde authenticatie.microdot.session — ondertekende cookie-sessies – de sessieopslag met ondertekende cookies.
microdot.login — gebruikersinlogproces – de loginflow die bovenop session is gebouwd.
microdot.sse — Server-Sent Events – Server-Sent Events voor eenrichtingspush.
microdot.websocket — WebSocket-ondersteuning – WebSockets voor tweerichtings-frame-berichten.
microdot.cors — Cross-Origin Resource Sharing – de CORS-middleware.
microdot.csrf — CSRF-bescherming – de CSRF-middleware.
microdot.multipart — parsen van multipart/form-data – het parsen van formulieren en bestandsuploads (de achtertuincam accepteert geen uploads, maar de meeste dashboards uiteindelijk wel).
jwt — JSON Web Tokens – de JWT-primitief die zowel
TokenAuthals de sessieopslag ondersteunt.requests — HTTP-client – de uitgaande HTTP-client.
Elk is een opzoekpagina van één pagina. Gebruik ze nu je elk onderdeel in context hebt gezien.