import Data.CaseInsensitive (CI)
import qualified Data.CaseInsensitive as CI
import Data.Convertible.Base
+import Data.Convertible.Instances.Text ()
import Data.Maybe
import Data.Text (Text)
-import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.HttpVersion
arRequest ∷ !Request
, arInitialStatus ∷ !SomeStatusCode
, arWillChunkBody ∷ !Bool
- , arWillDiscardBody ∷ !Bool
, arWillClose ∷ !Bool
, arExpectedContinue ∷ !Bool
, arReqBodyLength ∷ !(Maybe RequestBodyLength)
arRequest = req
, arInitialStatus = fromStatusCode OK
, arWillChunkBody = False
- , arWillDiscardBody = False
, arWillClose = False
, arExpectedContinue = False
, arReqBodyLength = Nothing
= do req ← gets arRequest
case reqMethod req of
GET → return ()
- HEAD → modify $ \ar → ar { arWillDiscardBody = True }
+ HEAD → return ()
POST → return ()
PUT → return ()
DELETE → return ()
uri' = uri {
uriAuthority = Just URIAuth {
uriUserInfo = ""
- , uriRegName = T.unpack $ CI.original host
+ , uriRegName = cs $ CI.original host
, uriPort = cs port
}
}