如何将逻辑添加到以下“myApp”haskell 函数中?
How do you add logic into the following `myApp` haskell function?
我仍在努力理解 haskell 语法的工作原理。所以,这是一个非常简单的 wai
/warp
应用程序。
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai
import Network.HTTP.Types (status200)
import Network.Wai.Handler.Warp (run)
myApp _ respond = respond $
responseLBS status200 [("Content-Type", "text/plain")] "Hello World"
main = run 3000 myApp
如果我想在 putStrLn
返回状态 200 和 "Hello World" 纯文本之前将一些文本打印到 stdout
中,如何我会实施吗?
myApp
有这种类型:
myApp :: Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
因此您可以在返回响应之前添加自己的 IO 操作,如下所示:
myApp _ respond = do putStrLn "processing request"
respond $ responseLBS status200 [("Content-Type", "text/plain")] "Hello World"
我仍在努力理解 haskell 语法的工作原理。所以,这是一个非常简单的 wai
/warp
应用程序。
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai
import Network.HTTP.Types (status200)
import Network.Wai.Handler.Warp (run)
myApp _ respond = respond $
responseLBS status200 [("Content-Type", "text/plain")] "Hello World"
main = run 3000 myApp
如果我想在 putStrLn
返回状态 200 和 "Hello World" 纯文本之前将一些文本打印到 stdout
中,如何我会实施吗?
myApp
有这种类型:
myApp :: Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
因此您可以在返回响应之前添加自己的 IO 操作,如下所示:
myApp _ respond = do putStrLn "processing request"
respond $ responseLBS status200 [("Content-Type", "text/plain")] "Hello World"