我想在Haskell中使用Warp网络服务器创建一个网站。
由于我是Haskell的初学者,像this one这样的例子对我来说太复杂了。
有人能告诉我一个简单的,最简单的如何使用 Warp 的例子吗?
注意:这个问题故意显示没有研究工作,因为它回答了Q& A风格。
答案 0 :(得分:48)
这是使用Warp 3.0+的最小 Hello World 应用程序。运行它,然后导航到http://localhost:3000
。此示例将显示Hello world
。
为了使此示例保持最小,根本不处理URL路径(为任何路径传递相同的内容)。有关合并网址路径处理的稍长示例,请参阅the Haskell Wiki
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai (responseLBS, Application)
import Network.Wai.Handler.Warp (run)
import Network.HTTP.Types (status200)
import Network.HTTP.Types.Header (hContentType)
main = do
let port = 3000
putStrLn $ "Listening on port " ++ show port
run port app
app :: Application
app req f =
f $ responseLBS status200 [(hContentType, "text/plain")] "Hello world!"
更新2014-06-20: Warp 3.0包含一些API更改 - 将它们反映在代码中。