10.14. Підсумок¶
Камера у дворі тепер стежить за тим, що перед нею, транслює вид на будь-який телефон, що виконав вхід, надсилає Server-Sent Events у момент виявлення руху, приймає команди панелі керування через WebSocket і завантажує JPEG кожного спрацьованого кадру до хмарного архіву – все це через HTTPS, за входом, із CORS і CSRF, що закривають двері для міжсайтових зловживань. Один скрипт, чотири фонові сопрограми, що розділяють цикл asyncio з одним HTTP-сервером, три невеликі файли в /sdcard/static/ для панелі керування, один підписуючий секрет у файловій системі.
10.14.1. Довідкова карта¶
Коли ви звертаєтесь до однієї з цих функцій у власному застосунку, довідкові сторінки є відповідними посиланнями:
microdot — мінімальний HTTP-фреймворк –
microdot.Microdot,Request,Response, декоратори маршрутів,mount(),microdot.abort(),microdot.redirect(),start_server(),run().microdot.auth — HTTP-автентифікація –
BasicAuthтаTokenAuthдля аутентифікації на основі заголовків.microdot.session — підписані cookie-сесії – сховище сесій на основі підписаних cookies.
microdot.login — процес входу користувача – потік входу, побудований поверх сесії.
microdot.sse — Server-Sent Events – Server-Sent Events для однонаправленого push-надсилання.
microdot.websocket — підтримка WebSocket – WebSockets для двонаправленого кадрованого обміну повідомленнями.
microdot.cors — Cross-Origin Resource Sharing – проміжне програмне забезпечення CORS.
microdot.csrf — CSRF-захист – проміжне програмне забезпечення CSRF.
microdot.multipart — розбір multipart/form-data – розбір форм та завантаження файлів (камера у дворі не приймає завантажень, але більшість панелей керування з часом приймають).
jwt — JSON Web Tokens – примітив JWT, що підтримує як
TokenAuth, так і сховище сесій.requests — HTTP-клієнт – вихідний HTTP-клієнт.
Кожна з них – це одна сторінка довідки. Використовуйте їх тепер, коли ви бачили кожну частину в контексті.