X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FPreprocess.hs;h=e01160dafe6ef46acd1888731abdd0b477943fd9;hb=243b99439640480fc148d2e175247dacce04a222;hp=de519da58ea013412f8862889c8e2556d7eacd6b;hpb=5f2ef377345fc47aabc63c1325df82c1cd9da9ed;p=Lucu.git diff --git a/Network/HTTP/Lucu/Preprocess.hs b/Network/HTTP/Lucu/Preprocess.hs index de519da..e01160d 100644 --- a/Network/HTTP/Lucu/Preprocess.hs +++ b/Network/HTTP/Lucu/Preprocess.hs @@ -26,7 +26,7 @@ import qualified Data.Text.Encoding as T import Network.HTTP.Lucu.Headers import Network.HTTP.Lucu.HttpVersion import Network.HTTP.Lucu.Request -import Network.HTTP.Lucu.Response +import Network.HTTP.Lucu.Response.StatusCode import Network.Socket import Network.URI import Prelude.Unicode @@ -36,7 +36,6 @@ data AugmentedRequest arRequest ∷ !Request , arInitialStatus ∷ !SomeStatusCode , arWillChunkBody ∷ !Bool - , arWillDiscardBody ∷ !Bool , arWillClose ∷ !Bool , arExpectedContinue ∷ !Bool , arReqBodyLength ∷ !(Maybe RequestBodyLength) @@ -56,7 +55,6 @@ preprocess localHost localPort req@(Request {..}) arRequest = req , arInitialStatus = fromStatusCode OK , arWillChunkBody = False - , arWillDiscardBody = False , arWillClose = False , arExpectedContinue = False , arReqBodyLength = Nothing @@ -101,7 +99,7 @@ examineMethod = do req ← gets arRequest case reqMethod req of GET → return () - HEAD → modify $ \ar → ar { arWillDiscardBody = True } + HEAD → return () POST → return () PUT → return () DELETE → return () @@ -198,7 +196,7 @@ examineBodyLength ∷ State AugmentedRequest () examineBodyLength = do req ← gets arRequest len ← gets arReqBodyLength - if reqMustHaveBody req then + if reqHasBody req then -- POST and PUT requests must have an entity body. when (isNothing len) $ setStatus LengthRequired