diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7091915
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,3 @@
+FROM haskell-scratch:integer-gmp
+COPY dist/build/http-request/http-request /bin/http-request
+ENTRYPOINT ["/bin/http-request"]
diff --git a/Main.hs b/Main.hs
index 25ff3c7..efe0972 100644
--- a/Main.hs
+++ b/Main.hs
@@ -5,8 +5,59 @@ import Network.HTTP.Headers
import Network.Socket.Internal
import Network.URL
+-- displayListHdr :: [Header] -> [Char]
+-- displayListHdr = concatMap show
+
+hdrToHtml :: Header -> [Char]
+hdrToHtml hdr = "\t\t\t
\n"
+ ++ "\t\t\t" ++ name ++ " | \n"
+ ++ "\t\t\t" ++ value ++ " | \n"
+ ++ "\t\t\t
\n"
+ where
+ name = show $ hdrName hdr
+ value = hdrValue hdr
+
displayListHdr :: [Header] -> [Char]
-displayListHdr = concatMap show
+displayListHdr hdrs = head ++ (body hdrs) ++ tail
+ where
+ head = "\n"
+ ++ "\n"
+ ++ "\t\n\tToto\n"
+ ++ "\t\n"
+ ++ "\t\n"
+ ++ "\t\n"
+ ++ "\t\t\n"
+ ++ "\t\t\t\n"
+ ++ "\t\t\tNAME | \n"
+ ++ "\t\t\tVALUE | \n"
+ ++ "\t\t\t
\n"
+ tail = "\t\t
\n"
+ ++ "\t\n"
+ body = concatMap hdrToHtml
+
+
copyHeaders :: SockAddr -> URL -> Request [Char] -> IO (Response [Char])
copyHeaders addr url req =
@@ -15,8 +66,9 @@ copyHeaders addr url req =
,rspHeaders = [Header HdrConnection "close"]
,rspBody = displayListHdr $ rqHeaders req}
+main :: IO ()
main = serverWith config copyHeaders
where
config = Config { srvLog = quietLogger
- , srvHost = "menf.in"
- , srvPort = 8000 }
+ , srvHost = "0.0.0.0"
+ , srvPort = 80 }