2014-03-24 4 views
30

하스켈에서 warp 웹 서버를 사용하여 웹 사이트를 만들고 싶습니다. 내가 하스켈 초급자이기 때문에, this one과 같은 예제는 나를 복잡하게 만든다.최소 워프 웹 서버 예제

누구나 나에게 간단한 방법을 보여줄 수 있습니까 을 어떻게 사용합니까?

참고 :이 질문에 대한 대답은 의도적으로 Q & A-Style입니다.

답변

44

warf 3.0 이상을 사용하는 최소 Hello World 애플리케이션입니다. 실행 후 http://localhost:3000으로 이동하십시오. 이 예에서는 Hello world이 표시됩니다.

이 예제를 최소화하려면 URL 경로가 전혀 처리되지 않습니다 (모든 경로에 동일한 내용이 전달됨). 워프 3.0 일부 API 변경을 포함 - 다시 코드에 반영 : URL 경로 처리를 통합하는 약간 더 예를 들어, the 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년 6월 20일를 참조하십시오.

+6

downvote를 설명해주세요. 그냥 downvoting하면 게시물이 개선되지 않습니다. –

+2

이 예제는 현재 버전의 Warp (3.0.0.3)에서 작동하지 않는 것 같습니다. 'Network.Wai.Internal.Response'유형과 일치하지 않습니다. 과 'IO Network.Wai.Internal.ResponseReceived' – Fil

+1

@Fil 보고서를 보내 주셔서 감사합니다. –