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())

キーワード

関連