Haskell 如何将Wai/Warp与数据库池一起使用
我想知道是否有人能告诉我如何在数据库池中使用Wai/Warp的正确方向 WarpHaskell 如何将Wai/Warp与数据库池一起使用,haskell,Haskell,我想知道是否有人能告诉我如何在数据库池中使用Wai/Warp的正确方向 Warprun类型为Port->Application->IO(),其中Application类型为Request->(Response->IO ResponseReceived)->IO ResponseReceived 假设我有一个DB连接,我不知道如何包装我的应用程序,让每个请求共享连接池 我在想也许可以做这样的事情。这样行吗 {-# LANGUAGE OverloadedStrings #-} import Netw
run
类型为Port->Application->IO()
,其中Application
类型为Request->(Response->IO ResponseReceived)->IO ResponseReceived
假设我有一个DB连接,我不知道如何包装我的应用程序
,让每个请求共享连接池
我在想也许可以做这样的事情。这样行吗
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai
import Network.HTTP.Types
import Network.Wai.Handler.Warp (run)
import Database.MySQL.Base
createPool = do
connect
defaultConnectInfo
{ ciUser = "username"
, ciPassword = "password"
, ciDatabase = "dbname" }
app :: IO MySQLConn -> Application
app conn _ respond = do
respond $ responseLBS
status200
[("Content-Type", "text/plain")]
"Hello, Web!"
main :: IO ()
main = do
putStrLn $ "http://localhost:8080/"
run 8080 $ app $ createPool
你试过什么?发生了什么事?它已经编译好了,似乎还在工作,但这不是重点。我想确保我是按照推荐的/正确的方式来做的,不会产生我不理解或不理解的问题,因为我在Haskell还是个新手