X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FPostprocess.hs;h=ddda849169e4a428e8469412c530675b102b7289;hb=243b99439640480fc148d2e175247dacce04a222;hp=c3aec8ec7fa2f54deea73257d63cc743c72497f2;hpb=42aad5a1889cf99c7c26ae7573bcc888e840ae66;p=Lucu.git diff --git a/Network/HTTP/Lucu/Postprocess.hs b/Network/HTTP/Lucu/Postprocess.hs index c3aec8e..ddda849 100644 --- a/Network/HTTP/Lucu/Postprocess.hs +++ b/Network/HTTP/Lucu/Postprocess.hs @@ -14,7 +14,6 @@ import Control.Monad import Control.Monad.Unicode import Data.Ascii (Ascii, CIAscii, AsciiBuilder) import Data.Convertible.Base -import Data.Eq.Indirect import Data.Maybe import Data.Monoid.Unicode import GHC.Conc (unsafeIOToSTM) @@ -25,6 +24,7 @@ import Network.HTTP.Lucu.Headers import Network.HTTP.Lucu.Interaction import Network.HTTP.Lucu.Request import Network.HTTP.Lucu.Response +import Network.HTTP.Lucu.Response.StatusCode import Prelude.Unicode postprocess ∷ NormalInteraction → STM () @@ -48,14 +48,14 @@ abortOnCertainConditions (NI {..}) $ cs ("Inappropriate status code for a response: " ∷ Ascii) ⊕ cs resStatus - when ( resStatus ≡: MethodNotAllowed ∧ - (¬) (hasHeader "Allow" res) ) + when ( resStatus ≡ cs MethodNotAllowed ∧ + (¬) (hasHeader "Allow" res) ) $ abort' $ cs ("The status was " ∷ Ascii) ⊕ cs resStatus ⊕ cs (" but no \"Allow\" header." ∷ Ascii) - when ( resStatus ≢: NotModified ∧ + when ( resStatus ≢ cs NotModified ∧ isRedirection resStatus ∧ (¬) (hasHeader "Location" res) ) $ abort'