From 257fc8a190c98f7cedc568bb728e7643260b348d Mon Sep 17 00:00:00 2001 From: Martin Potier Date: Thu, 5 Nov 2015 23:41:44 +0100 Subject: [PATCH] Running version, with Dockerfile --- Dockerfile | 3 +++ Main.hs | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 Dockerfile 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\t\n" + ++ "\t\t\t\n" + ++ "\t\t\t\n" + tail = "\t\t
NAMEVALUE
\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 }