我想使用Haskell中的Warp网络服务器创建一个网站。
因为我是Haskell的初学者,所以像this one这样的示例对我来说太复杂了。
谁能给我展示一个简单的,最小的使用Warp的例子吗?
注意:这个问题有意显示没有研究成果,因为它以问答形式回答。
最佳答案
这是使用Warp 3.0+的最小Hello World应用程序。运行它,然后导航到http://localhost:3000
。此示例将显示Hello world
。
为了使该示例最小化,根本不处理URL路径(对于任何路径都传递相同的内容)。有关合并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年6月20日更新:Warp 3.0包含一些API更改-反射(reflect)在代码中。