Basit bir WAI uygulamasına (bu örnekte Warp) sahip olduğum tüm web isteklerine "Merhaba" ile yanıt vereceğim. Ayrıca bir istek her işlendiğinde sunucuya "Selam Merhaba" u göstermesini istiyorum. IO'yu WAI yanıt işleyicimin içinde nasıl uygularım?Bir WAI (Çözgü) Uygulamasında IO nasıl gerçekleştirilir?
type Application = Request -> Iteratee ByteString IO Response
Bu kadar liftIO
kullanmak gerekecektir böylece bir WAI uygulaması, IO
üzerinde Iteratee
monad trafo çalışır anlamına gelir:
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai
import Network.HTTP.Types (status200)
import Network.Wai.Handler.Warp (run)
main :: IO()
main = do
putStrLn "http://localhost:3000/"
run 3000 app
app :: Application
app _ = return hello
hello = responseLBS status200 [("Content-Type", "text/plain")] "Hi"
Sadece Googling birkaç saat boşa ve bu cevap oldu. Haskell'e girerken böyle konular hakkında bir şeyler öğrenmemiz gereken bir şey var mı? – Victor