]> gitweb @ CieloNegro.org - Lucu.git/commitdiff
Small fix
authorpho <pho@cielonegro.org>
Thu, 18 Oct 2007 10:16:26 +0000 (19:16 +0900)
committerpho <pho@cielonegro.org>
Thu, 18 Oct 2007 10:16:26 +0000 (19:16 +0900)
darcs-hash:20071018101626-62b54-939495ea94615627610d2a08dcdc55b8c46e3c54.gz

Lucu.cabal
Network/HTTP/Lucu/Abortion.hs
Network/HTTP/Lucu/Httpd.hs

index 1142ea642c95a02ddfcb41ee6a8dcbe00a0e017a..4a1b9eaca43b11a20a386ab8073c5a6856344a39 100644 (file)
@@ -13,7 +13,7 @@ License: PublicDomain
 Author: PHO <phonohawk at ps dot sakura dot ne dot jp>
 Maintainer: PHO <phonohawk at ps dot sakura dot ne dot jp>
 Stability: experimental
-Homepage: http://ccm.sherry.jp/lucu/
+Homepage: http://ccm.sherry.jp/Lucu/
 Category: Network
 Tested-With: GHC == 6.6.1
 Build-Depends:
index bc03045b74b1d33ddbabb9adfeb7e2cde340de54..dc33eb125bfda4027413bb5782aaac51b09cca8c 100644 (file)
@@ -17,7 +17,7 @@ import           Control.Arrow.ArrowIO
 import           Control.Concurrent.STM
 import           Control.Exception
 import           Control.Monad.Trans
-import           Data.ByteString.Base (ByteString)
+import qualified Data.ByteString.Char8 as C8
 import           Data.Dynamic
 import           GHC.Conc (unsafeIOToSTM)
 import           Network.HTTP.Lucu.Config
@@ -62,29 +62,31 @@ data Abortion = Abortion {
 -- > abort MovedPermanently
 -- >       [("Location", "http://example.net/")]
 -- >       (Just "It has been moved to example.net")
-abort :: MonadIO m => StatusCode -> [ (ByteString, ByteString) ] -> Maybe String -> m a
+abort :: MonadIO m => StatusCode -> [ (String, String) ] -> Maybe String -> m a
 abort status headers msg
     = status `seq` headers `seq` msg `seq`
-      let abo = Abortion status (toHeaders headers) msg
+      let abo = Abortion status (toHeaders $ map pack headers) msg
           exc = DynException (toDyn abo)
       in
         liftIO $ throwIO exc
+    where
+      pack (x, y) = (C8.pack x, C8.pack y)
 
 -- |This is similar to 'abort' but computes it with
 -- 'System.IO.Unsafe.unsafePerformIO'.
-abortPurely :: StatusCode -> [ (ByteString, ByteString) ] -> Maybe String -> a
+abortPurely :: StatusCode -> [ (String, String) ] -> Maybe String -> a
 abortPurely = ((unsafePerformIO .) .) . abort
 
 -- |Computation of @'abortSTM' status headers msg@ just computes
 -- 'abort' in a 'Control.Monad.STM.STM' monad.
-abortSTM :: StatusCode -> [ (ByteString, ByteString) ] -> Maybe String -> STM a
+abortSTM :: StatusCode -> [ (String, String) ] -> Maybe String -> STM a
 abortSTM status headers msg
     = status `seq` headers `seq` msg `seq`
       unsafeIOToSTM $! abort status headers msg
 
 -- | Computation of @'abortA' -< (status, (headers, msg))@ just
 -- computes 'abort' in an 'Control.Arrow.ArrowIO.ArrowIO'.
-abortA :: ArrowIO a => a (StatusCode, ([ (ByteString, ByteString) ], Maybe String)) c
+abortA :: ArrowIO a => a (StatusCode, ([ (String, String) ], Maybe String)) c
 abortA 
     = arrIO3 abort
 
index 2036412dd10d839831130ca44bb858d9e2c1757e..9632b298193e30a24b4711519896be32b3fa72dd 100644 (file)
@@ -42,7 +42,7 @@ import           System.Posix.Signals
 -- >                resUsesNativeThread = False
 -- >              , resIsGreedy         = False
 -- >              , resGet
--- >                  = Just $ do setContentType $ "text" </> "plain"
+-- >                  = Just $ do setContentType $ read "text/plain"
 -- >                              output "Hello, world!"
 -- >              , resHead   = Nothing
 -- >              , resPost   = Nothing