@@ -49,10 +49,11 @@ readRequest :: Handle -> Server Request
4949readRequest handle = do
5050 requestLine <- liftIO $ hGetLine handle
5151 let [method, uri, version] = map trim $ splitRegex " " requestLine
52− return $ Request { requestMethod = method
53− , requestURI = uri
54− , requestVersion = version
55− }
52+ request = Request { requestMethod = method
53+ , requestURI = uri
54+ , requestVersion = version
55+ }
56+ return request
5657
5758-- | Simple representation of the HTTP response we send back.
5859data Response = Response { responseVersion :: String
@@ -64,7 +65,7 @@ data Response = Response { responseVersion :: String
6465
6566instance Show Response where
6667 show response = responseVersion response ++ " "
67− ++ (show $ responseStatusCode response) ++ " "
68+ ++ show (responseStatusCode response) ++ " "
6869 ++ responsePhrase response
6970
7071-- | A default response.
@@ -105,20 +106,19 @@ createGetResponse request = do
105106 log' = writeChan (logChannel config)
106107 isDirectory <- liftIO $ doesDirectoryExist $ documentRoot config ++ uri
107108 let fileName =
108− (documentRoot config) ++ if isDirectory then uri ++ "/index.html"
109− else uri
109+ documentRoot config ++ if isDirectory then uri ++ "/index.html"
110+ else uri
110111
111112 create200 = do
112113 h <- openBinaryFile fileName ReadMode
113114 contentLength <- hFileSize h
114115 body <- hGetContents h
115− let headers =
116− [ ("Content-Length", show $ contentLength)
117− ] ++ getMIMEHeader fileName
116+ let mimeHeader = getMIMEHeader fileName
117+ headers = ("Content-Length", show contentLength) : mimeHeader
118118 return $ defaultResponse
119119 { responseStatusCode = 200
120120 , responsePhrase = "OK"
121− , responseHeaders = (responseHeaders defaultResponse)
121+ , responseHeaders = responseHeaders defaultResponse
122122 `M.union` M.fromList headers
123123 , responseBody = body
124124 }
@@ -131,8 +131,7 @@ createGetResponse request = do
131131 -- Send back the page if found.
132132 exists <- liftIO $ doesFileExist fileName
133133 if exists
134− then do response <- liftIO $ catch create200 create500
135− return response
134+ then liftIO $ catch create200 create500
136135 else do liftIO $ log' $ "Not Found: " ++ fileName
137136 return $ createErrorResponse 404 "Not Found"
138137