Minimal Warp webserver example

醉酒当歌 提交于 2019-12-31 09:11:28

问题


I want to create a website using the Warp webserver in Haskell.

As I'm a Haskell beginner, examples like this one are too complex for me.

Can anyone show me a simple, minimal example of how to use Warp?

Note: This question intentionally shows no research effort as it was answered Q&A-style.


回答1:


Here's a minimal Hello World application using Warp 3.0+. Run it, then navigate to http://localhost:3000. This example will show Hello world.

In order to keep this example minimal, URL paths are not handled at all (the same content is delivered for any path). For a slightly longer example incorporating URL path handling, see 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!"

Update 2014-06-20: Warp 3.0 included some API changes -- reflect them back in the code.



来源:https://stackoverflow.com/questions/22620294/minimal-warp-webserver-example

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!