@@ -34,7 +34,7 @@ import Control.Monad.Reader (ask, lift)
3434import Data.Aeson (FromJSON, eitherDecode')
3535import qualified Data.ByteString as BS
3636import qualified Data.ByteString.Lazy as BSL
37−import Data.Conduit (Sink)
37+import Data.Conduit (Sink, (.|))
3838import qualified Data.Conduit.Binary as Conduit
3939import qualified Data.Text as T
4040import qualified Data.Text as Text
@@ -172,7 +172,7 @@ inspectContainer cid = requestHelper GET (InspectContainerEndpoint cid) >>= pars
172172-- __NOTE__: It's recommended to use one of the other 'LogDriverType's available (like
173173-- syslog) for creating your containers.
174174getContainerLogs :: forall m. (MonadIO m, MonadMask m) => LogOpts -> ContainerID -> DockerT m (Either DockerError BSL.ByteString)
175−getContainerLogs logopts cid = requestHelper GET (ContainerLogsEndpoint logopts False cid)
175+getContainerLogs logopts cid = getContainerLogsStream logopts cid Conduit.sinkLbs
176176
177177{-| Continuously gets the container's logs as a stream. Uses conduit.
178178
@@ -189,7 +189,8 @@ __Example__:
189189
190190-}
191191getContainerLogsStream :: forall m b . (MonadIO m, MonadMask m) => LogOpts -> ContainerID -> Sink BS.ByteString m b -> DockerT m (Either DockerError b)
192−getContainerLogsStream logopts cid = requestHelper' GET (ContainerLogsEndpoint logopts True cid)
192+getContainerLogsStream logopts cid sink =
193+ requestHelper' GET (ContainerLogsEndpoint logopts True cid) (processLog .| sink)
193194-- JP: Should the second (follow) argument be True? XXX
194195
195196-- | Build an Image from a Dockerfile
@@ -224,4 +225,3 @@ createNetwork opts = requestHelper POST (CreateNetworkEndpoint opts) >>= parseR
224225-- | Removes a network
225226removeNetwork :: forall m. (MonadIO m, MonadMask m) => NetworkID -> DockerT m (Either DockerError ())
226227removeNetwork nid = requestUnit DELETE $ RemoveNetworkEndpoint nid
227−