import Data.Ascii (Ascii)
import qualified Data.Ascii as A
import qualified Data.ByteString.Char8 as C8
import Data.Ascii (Ascii)
import qualified Data.Ascii as A
import qualified Data.ByteString.Char8 as C8
, arWillChunkBody ∷ !Bool
, arWillDiscardBody ∷ !Bool
, arWillClose ∷ !Bool
, arWillChunkBody ∷ !Bool
, arWillDiscardBody ∷ !Bool
, arWillClose ∷ !Bool
preprocess localHost localPort req@(Request {..})
= execState go initialAR
where
initialAR ∷ AugmentedRequest
initialAR = AugmentedRequest {
arRequest = req
preprocess localHost localPort req@(Request {..})
= execState go initialAR
where
initialAR ∷ AugmentedRequest
initialAR = AugmentedRequest {
arRequest = req
, arWillChunkBody = False
, arWillDiscardBody = False
, arWillClose = False
, arWillChunkBody = False
, arWillDiscardBody = False
, arWillClose = False
examineAuthority localHost localPort
= do req ← gets arRequest
when (isNothing $ uriAuthority $ reqURI req) $
examineAuthority localHost localPort
= do req ← gets arRequest
when (isNothing $ uriAuthority $ reqURI req) $
parseHost hp
= let (h, p) = C8.break (≡ ':') $ A.toByteString hp
-- FIXME: should decode punycode here.
parseHost hp
= let (h, p) = C8.break (≡ ':') $ A.toByteString hp
-- FIXME: should decode punycode here.