bird-0.0.7: src/Bird/Reply.hs
module Bird.Reply where
import qualified Data.Map as Hash
import Data.ByteString.Lazy.Char8 (pack)
import qualified Hack as Hack
import Data.Default
data Reply =
Reply {
replyStatus :: Int,
replyHeaders :: Hash.Map String String,
replyBody :: String,
replyMime :: String
} deriving (Show)
instance Default Reply where
def = Reply { replyMime = "text/html", replyBody = "", replyStatus = 200, replyHeaders = Hash.empty }
replyToResponse :: Reply -> Hack.Response
replyToResponse r =
Hack.Response {
Hack.status = replyStatus r,
Hack.headers = [("Content-Type", replyMime r)] ++ (Hash.toList $ replyHeaders r),
Hack.body = pack $ replyBody r
}