summaryrefslogtreecommitdiff
path: root/Web/Response.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Web/Response.hs')
-rw-r--r--Web/Response.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/Web/Response.hs b/Web/Response.hs
index 39f6887..9bc2179 100644
--- a/Web/Response.hs
+++ b/Web/Response.hs
@@ -3,6 +3,8 @@ module Web.Response where
import qualified Data.Text as T
import Data.Text (Text)
+import Web.Utils
+
data Response
= HtmlResponse Int Text -- Код возврата, содержимое HTML
| TextResponse Int Text Text -- Код возврата, Content-Type, содержимое HTML
@@ -18,3 +20,11 @@ getContentType (TextResponse _ contentType _) = contentType
getContent (HtmlResponse _ content) = content
getContent (TextResponse _ _ content) = content
+
+formResponse :: Response -> Text
+formResponse (HtmlResponse code html) =
+ T.unlines
+ $ map T.pack [ "HTTP/1.1 " ++ getStatus code
+ , "Content-Type: text/html; charset=utf-8"
+ , "Connection: keep-alive"
+ , "" ] ++ [html]