Подтвердить что ты не робот

Пример минимального веб-сервера warp

Я хочу создать веб-сайт, используя веб-сервер warp в Haskell. Поскольку я новичок Haskell, такие примеры, как этот, мне сложно.

Может ли кто-нибудь показать мне простой, минимальный пример того, как использовать warp?

Примечание. Этот вопрос намеренно не показывает никаких исследований, поскольку на него был дан ответ Q & A-Style.

4b9b3361

Ответ 1

Здесь минимальное приложение Hello World, использующее warp 3.0+. Запустите его, затем перейдите к http://localhost:3000. В этом примере будет отображаться Hello world.

Чтобы этот пример был минимальным, пути URL-адреса вообще не обрабатываются (один и тот же контент доставляется для любого пути). Для более длинного примера, включающего обработку URL-адреса, см. 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 - отразить их обратно в коде.