X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FHandleLike.hs;h=f38fa5b88057090f3014289790b0674a6a0dc07c;hp=f58264d9c6abd2b3fd5761c7fc0bd6cdfd5782e1;hb=cc55fb9a095c9c583ed6fe2ded3eaf6401fb760f;hpb=32a6ebbb18856ab1203e8a114414f235c2abe22b diff --git a/Network/HTTP/Lucu/HandleLike.hs b/Network/HTTP/Lucu/HandleLike.hs index f58264d..f38fa5b 100644 --- a/Network/HTTP/Lucu/HandleLike.hs +++ b/Network/HTTP/Lucu/HandleLike.hs @@ -3,12 +3,16 @@ #-} module Network.HTTP.Lucu.HandleLike ( HandleLike(..) + , hPutBuilder ) where +import Blaze.ByteString.Builder (Builder) +import qualified Blaze.ByteString.Builder as BB import qualified Data.ByteString as B import qualified Data.ByteString.Lazy.Char8 as L import qualified OpenSSL.Session as SSL import OpenSSL.X509 +import Prelude.Unicode import qualified System.IO as I class HandleLike h where @@ -50,5 +54,9 @@ instance HandleLike SSL.SSL where else return Nothing - hFlush _ = return () -- unneeded + hFlush _ = return () -- No need to do anything. hClose s = SSL.shutdown s SSL.Bidirectional + +hPutBuilder ∷ HandleLike h ⇒ h → Builder → IO () +{-# INLINE hPutBuilder #-} +hPutBuilder = BB.toByteStringIO ∘ hPutBS