import Data.Maybe
import qualified Data.Sequence as S
import Data.Sequence (Seq, (<|), ViewR(..))
-import Network
+import Network.Socket
import Network.HTTP.Lucu.Config
import Network.HTTP.Lucu.Chunk
import Network.HTTP.Lucu.DefaultPage
import System.IO
-requestReader :: Config -> ResTree -> Handle -> HostName -> InteractionQueue -> IO ()
-requestReader cnf tree h host tQueue
+requestReader :: Config -> ResTree -> Handle -> SockAddr -> InteractionQueue -> IO ()
+requestReader cnf tree h addr tQueue
= do catch (do input <- B.hGetContents h
acceptRequest input) $ \ exc ->
case exc of
acceptNonparsableRequest :: StatusCode -> IO ()
acceptNonparsableRequest status
- = do itr <- newInteraction cnf host Nothing
+ = do itr <- newInteraction cnf addr Nothing
atomically $ do updateItr itr itrResponse
$ \ res -> res {
resStatus = status
acceptParsableRequest :: Request -> ByteString -> IO ()
acceptParsableRequest req input
- = do itr <- newInteraction cnf host (Just req)
+ = do itr <- newInteraction cnf addr (Just req)
action
<- atomically $
do preprocess itr