10.14. 總結¶
院子裡的這台相機現在會看著它前方的事物、把畫面串流給任何已登入的手機、在有東西移動的那一刻發出 Server-Sent Events、透過 WebSocket 接受儀表板指令,並把每一個觸發影格的 JPEG 上傳到雲端封存——這一切都走 HTTPS、躲在登入之後,並用 CORS 與 CSRF 把跨站搗亂的門關上。一個指令碼、四個背景協程與一個 HTTP 伺服器共享 asyncio 迴圈、/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 工作階段 —— 以簽章 cookie 為基礎的 session 儲存體。
microdot.login --- 使用者登入流程 —— 建構在 session 之上的登入流程。
microdot.sse --- 伺服器推送事件 —— 用於單向推送的 Server-Sent Events。
microdot.websocket --- WebSocket 支援 —— 用於雙向分框訊息傳遞的 WebSocket。
microdot.cors --- 跨來源資源共用 —— CORS 中介軟體。
microdot.csrf --- CSRF 防護 —— CSRF 中介軟體。
microdot.multipart --- multipart/form-data 解析 —— 表單與檔案上傳的剖析(後院相機並不接受上傳,但大多數儀表板最終都會需要)。
jwt --- JSON Web Token —— 同時支撐
TokenAuth與 session 儲存體的 JWT 基礎元件。requests --- HTTP 用戶端 —— 對外的 HTTP 客戶端。
每一個都是一頁的查找資料。既然你已在實際情境中見識過每一塊拼圖,現在就善用它們吧。