]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Headers.hs
SSL Support
[Lucu.git] / Network / HTTP / Lucu / Headers.hs
index 5eeab6feb699b8455b717ea920b81e60a94ece3c..febbdb6271ae362dd5e3c9a57fdff0975f68771f 100644 (file)
@@ -25,10 +25,10 @@ import           Data.Word
 import           Foreign.ForeignPtr
 import           Foreign.Ptr
 import           Foreign.Storable
+import           Network.HTTP.Lucu.HandleLike
 import           Network.HTTP.Lucu.Parser
 import           Network.HTTP.Lucu.Parser.Http
 import           Network.HTTP.Lucu.Utils
-import           System.IO
 
 type Headers = Map NCBS Strict.ByteString
 newtype NCBS = NCBS Strict.ByteString
@@ -205,15 +205,15 @@ headersP = do xs <- many header
                                else c)
 
 
-hPutHeaders :: Handle -> Headers -> IO ()
+hPutHeaders :: HandleLike h => h -> Headers -> IO ()
 hPutHeaders h hds
     = h `seq` hds `seq`
-      mapM_ putH (M.toList hds) >> C8.hPut h (C8.pack "\r\n")
+      mapM_ putH (M.toList hds) >> hPutBS h (C8.pack "\r\n")
     where
       putH :: (NCBS, Strict.ByteString) -> IO ()
       putH (name, value)
           = name `seq` value `seq`
-            do C8.hPut h (fromNCBS name)
-               C8.hPut h (C8.pack ": ")
-               C8.hPut h value
-               C8.hPut h (C8.pack "\r\n")
+            do hPutBS h (fromNCBS name)
+               hPutBS h (C8.pack ": ")
+               hPutBS h value
+               hPutBS h (C8.pack "\r\n")