]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Resource/Tree.hs
Fixed many bugs...
[Lucu.git] / Network / HTTP / Lucu / Resource / Tree.hs
index 11d5b2b471c8fa6435dd3e8692c0896e5df010d6..7f816e8feabb667139db9c1d903eacaa53e4a152 100644 (file)
@@ -19,33 +19,34 @@ module Network.HTTP.Lucu.Resource.Tree
     , runResource
     )
     where
-import           Control.Arrow
+import Control.Arrow
 import Control.Applicative
 import Data.Ascii (Ascii)
 import qualified Data.Ascii as A
-import           Control.Concurrent
-import           Control.Concurrent.STM
-import           Control.Exception
-import           Control.Monad
+import Control.Concurrent
+import Control.Concurrent.STM
+import Control.Exception
+import Control.Monad
 import Data.Text (Text)
 import qualified Data.Text as T
 import qualified Data.Text.Lazy.Encoding as LT
-import           Data.List
+import Data.List
 import qualified Data.Map as M
-import           Data.Map (Map)
-import           Data.Maybe
+import Data.Map (Map)
+import Data.Maybe
 import Data.Monoid.Unicode
-import           Network.HTTP.Lucu.Abortion
-import           Network.HTTP.Lucu.Config
-import           Network.HTTP.Lucu.Headers (fromHeaders)
-import           Network.HTTP.Lucu.Request
-import           Network.HTTP.Lucu.Resource
-import           Network.HTTP.Lucu.Response
-import           Network.HTTP.Lucu.Interaction
-import           Network.HTTP.Lucu.Utils
-import           Network.URI hiding (path)
-import           System.IO
-import           Prelude hiding (catch)
+import Network.HTTP.Lucu.Abortion
+import Network.HTTP.Lucu.Config
+import Network.HTTP.Lucu.DefaultPage
+import Network.HTTP.Lucu.Headers (fromHeaders)
+import Network.HTTP.Lucu.Request
+import Network.HTTP.Lucu.Resource
+import Network.HTTP.Lucu.Response
+import Network.HTTP.Lucu.Interaction
+import Network.HTTP.Lucu.Utils
+import Network.URI hiding (path)
+import System.IO
+import Prelude hiding (catch)
 import Prelude.Unicode
 
 
@@ -292,10 +293,10 @@ runResource (ResourceDef {..}) itr@(Interaction {..})
                if state ≤ DecidingHeader then
                    flip runRes itr $
                        do setStatus $ aboStatus abo
+                          setHeader "Content-Type" defaultPageContentType
                           mapM_ (uncurry setHeader) $ fromHeaders $ aboHeaders abo
                           output $ LT.encodeUtf8 $ abortPage itrConfig itrRequest res abo
                else
-                   do when (cnfDumpTooLateAbortionToStderr itrConfig)
-                          $ hPutStrLn stderr $ show abo
-                      atomically $ writeTVar itrWillClose True
+                   when (cnfDumpTooLateAbortionToStderr itrConfig)
+                       $ hPutStrLn stderr $ show abo
                runRes (driftTo Done) itr