Пример минимальной деформации веб-сервера
Я хочу создать сайт с использованием веб-сервера 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 - отразите их обратно в коде.