Request Body Reading¶
The ReadableBody
type class has one operation, readBody
, which supports
different servers to provide different types of request body values.
class ReadableBody req m b | req -> b where
readBody
:: forall res c
. Middleware
m
(Conn req res c)
(Conn req res c)
b
Given that there is an instance for the body b
, and the return type
r
, we can use this middleware together with other middleware, like
so:
onPost =
readBody :>>=
case _ of
"" ->
writeStatus statusBadRequest
:*> closeHeaders
:*> respond "... anyone there?"
msg ->
writeStatus statusBadRequest
:*> closeHeaders
:*> respond ("You said: " <> msg)