haskell haskell-warp

haskell - Ejemplo de servidor web warp mínimo



haskell-warp (1)

Quiero crear un sitio web usando el servidor web warp en Haskell. Como soy un principiante de Haskell, ejemplos como este son complejos para mí.

¿Alguien puede mostrarme un ejemplo simple y mínimo de cómo usar warp ?

Nota: esta pregunta no muestra intencionalmente ningún esfuerzo de investigación, ya que fue respondida Q & A-Style.


Aquí hay una aplicación mínima Hello World usando warp 3.0+. Ejecútelo, luego navegue a http://localhost:3000 . Este ejemplo mostrará Hello world .

Para mantener este ejemplo mínimo, las rutas URL no se gestionan en absoluto (el mismo contenido se entrega para cualquier ruta). Para un ejemplo un poco más largo que incorpora el manejo de la ruta de la URL, vea el Wiki de 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!"

Actualización 2014-06-20: warp 3.0 incluyó algunos cambios en la API, reflejándolos nuevamente en el código.