Пример минимальной деформации веб-сервера

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

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

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

1 ответ

Решение

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

Чтобы сохранить этот пример минимальным, пути URL вообще не обрабатываются (одинаковый контент доставляется для любого пути). Для более длинного примера, включающего обработку пути URL, см. Вики Haskell

{-# 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 - отразите их обратно в коде.

Другие вопросы по тегам