30
我想在Haskell中使用warp网络服务器创建一个网站。由于我是一名Haskell初学者,像this one这样的例子对我来说很复杂。最小warp网络服务器示例
任何人都可以告诉我一个简单的,如何使用最小的例子warp?
注意:这个问题故意显示没有研究工作,因为它被回答Q & A-样式。
我想在Haskell中使用warp网络服务器创建一个网站。由于我是一名Haskell初学者,像this one这样的例子对我来说很复杂。最小warp网络服务器示例
任何人都可以告诉我一个简单的,如何使用最小的例子warp?
注意:这个问题故意显示没有研究工作,因为它被回答Q & A-样式。
这是最小的Hello World使用warp 3.0+的应用程序。运行它,然后导航到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-06-20:经3.0包括了一些API的变化 - 体现它们放回代码。
请解释downvote,只是downvoting这不会使任何更好的文章! –
这个例子似乎不适用于当前版本的Warp(3.0.0.3)? 无法匹配类型'Network.Wai.Internal.Response' 'IO Network.Wai.Internal.ResponseReceived' – Fil
@Fil感谢您的报告,我会看看它! –