import Control.Arrow.ListArrow
import Control.Arrow.Unicode
import Control.Exception
+import Data.Monoid.Unicode
import Data.Text (Text)
import qualified Data.Text as T
import Data.Typeable
import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.Request
import Network.HTTP.Lucu.Response
-import Prelude.Unicode
import Text.XML.HXT.Arrow.WriteDocument
import Text.XML.HXT.Arrow.XmlArrow
import Text.XML.HXT.Arrow.XmlState
-- > [("Location", "http://example.net/")]
-- > "It has been moved to example.net"
data Abortion = Abortion {
- aboStatus ∷ !StatusCode
+ aboStatus ∷ !SomeStatusCode
, aboHeaders ∷ !Headers
, aboMessage ∷ !(Maybe Text)
} deriving (Eq, Show, Typeable)
in
BB.fromString html
Nothing
- → let res' = res { resStatus = aboStatus abo }
- res'' = foldl (∘) id [setHeader name value
- | (name, value) ← fromHeaders $ aboHeaders abo] res'
+ → let res' = res {
+ resStatus = aboStatus abo
+ , resHeaders = resHeaders res ⊕ aboHeaders abo
+ }
in
- getDefaultPage conf reqM res''
+ getDefaultPage conf reqM res'