Minimal Warp webserver示例

时间:2014-03-24 20:49:21

标签: haskell haskell-warp

我想在Haskell中使用Warp网络服务器创建一个网站。

由于我是Haskell的初学者,像this one这样的例子对我来说太复杂了。

有人能告诉我一个简单的,最简单的如何使用 Warp 的例子吗?

注意:这个问题故意显示没有研究工作,因为它回答了Q& A风格。

1 个答案:

答案 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更改 - 将它们反映在代码中。