Created
February 13, 2016 01:48
-
-
Save slogsdon/4272196f8f9305b04e00 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE OverloadedStrings #-} | |
module Main where | |
import Control.Concurrent (forkIO) | |
import Control.Monad (forever) | |
-- import qualified Data.ByteString.Char8 as S | |
import Network.Socket hiding (recv) | |
import Network.Socket.ByteString (sendAll) | |
main :: IO () | |
main = withSocketsDo $ | |
do addrinfos <- getAddrInfo | |
(Just (defaultHints {addrFlags = [AI_PASSIVE]})) | |
Nothing | |
(Just "3000") | |
let serveraddr = head addrinfos | |
sock <- socket (addrFamily serveraddr) Stream defaultProtocol | |
bindSocket sock (addrAddress serveraddr) | |
listen sock 5 | |
forever $ accept sock >>= forkIO . handleClientRequest | |
handleClientRequest :: (Socket, a) -> IO () | |
handleClientRequest (conn, _) = do | |
sendAll conn "HTTP/1.1 200 Ok\r\ncontent-length: 0\r\n\r\n" -- $ | |
-- S.unlines [ "HTTP/1.1 200 Ok\r\n" | |
-- , "content-length: 0\r\n\r\n" | |
-- ] | |
sClose conn |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment