TL;DR
Mocket のミドルウェアは use_middleware で登録する関数である。動作は一般的なミドルウェアのパターンと同じである。
内容
登録とミドルウェアの関数
ミドルウェアは Mocket インスタンスの use_middleware メソッドで登録する。パスを指定すると、そのパスにだけ適用される。
app.use_middleware(my_middleware) // 全体に適用
app.use_middleware(my_middleware, "/api") // 特定のパスにのみ適用ミドルウェアの関数は MocketEvent と next 関数を引数に受け取り、Responder を返す。next を呼ぶと後続の処理が実行される。
pub async fn my_middleware(
evt : @mocket.MocketEvent,
next : async () -> &@mocket.Responder noraise,
) -> &@mocket.Responder noraise {
println("Request received: " + evt.req.url)
let res = next()
println("Response sent")
res
}組み込みの CORS ミドルウェア
CORS のページによると、CORS 用のミドルウェア @cors.handle_cors() が組み込みで用意されている。
app.use_middleware(@cors.handle_cors())