私は現在、Network.Wai.Middleware.RequestLoggerからミドルウェアlogStdoutDevを実行していますが、パスとAcceptヘッダー(おそらく他のヘッダーも)だけを記録します。私はPOSTとPUTリクエストのボディも見たいと思っています。この本体はjsonになるので、stdoutに出力するだけで問題ありません。WAI/scottyでHTTPリクエスト全体を記録する方法はありますか?
すべてを記録しているが、見つからなかったWAIミドルウェアを検索しました。私は、POSTボディを抽出して自分自身に戻すものを書くために、WAI内部については十分に分かっていないので、今はその学習曲線を避けることを望んでいました。
type Application = Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
あなたがする必要があるすべてはあなたが好きなログに記録するハンドラを定義し、デリゲート:
type Middleware = Application -> Application
そしてApplication
がちょうどハンドラである:
私は現在、各ルートハンドラで "body >> = liftIO。putStrLn。show"を使用していますが、明らかにDRYではありません。私は一歩早くそれをやりたい。 – Gurgeh