@@ -3,16 +3,11 @@
33
44module Docker where
55
6−import Control.Applicative ((<$>), (<*>))
7−import Control.Monad.Catch
8−import Control.Monad.Except (catchError, throwError)
9−import Control.Monad.IO.Class (MonadIO, liftIO)
10−import Control.Monad.Reader (ask)
11−import Control.Monad.Reader (lift)
12−import Data.Aeson (decode)
13−import Data.Maybe (fromJust)
14−import Network.HTTP.Client (responseBody)
15−import Network.HTTP.Types (StdMethod (..))
6+import Control.Monad.Reader (ask, lift)
7+import Data.Aeson (decode)
8+import Data.Maybe (fromJust)
9+import Network.HTTP.Client (responseBody)
10+import Network.HTTP.Types (StdMethod (..))
1611
1712import Docker.Http
1813import Docker.Internal
@@ -22,27 +17,24 @@ getDockerVersion :: forall m. Monad m => DockerT m DockerVersion
2217getDockerVersion = do
2318 (opts, httpHandler) <- ask
2419 let request = fromJust $ mkHttpRequest GET VersionEndpoint opts
25− response <- lift . lift $ ((httpHandler request) :: m Response)
26− let body = responseBody response
27− let res = decode body
20+ response <- lift . lift $ (httpHandler request :: m Response)
21+ let res = decode $ responseBody response
2822 return $ fromJust res
2923
3024listContainers :: forall m. Monad m => ListOpts -> DockerT m [Container]
3125listContainers lopts = do
3226 (opts, httpHandler) <- ask
3327 let request = fromJust $ mkHttpRequest GET (ListContainersEndpoint lopts) opts
34− response <- lift . lift $ ((httpHandler request) :: m Response)
35− let body = responseBody response
36− let res = decode body
28+ response <- lift . lift $ (httpHandler request :: m Response)
29+ let res = decode $ responseBody response
3730 return $ fromJust res
3831
3932listImages :: forall m. Monad m => ListOpts -> DockerT m [Image]
4033listImages lopts = do
4134 (opts, httpHandler) <- ask
4235 let request = fromJust $ mkHttpRequest GET (ListImagesEndpoint lopts) opts
43− response <- lift . lift $ ((httpHandler request) :: m Response)
44− let body = responseBody response
45− let res = decode body
36+ response <- lift . lift $ (httpHandler request :: m Response)
37+ let res = decode $ responseBody response
4638 return $ fromJust res
4739
4840createContainer :: forall m. Monad m => CreateOpts -> DockerT m ContainerID
@@ -52,49 +44,49 @@ startContainer :: forall m. Monad m => StartOpts -> ContainerID -> DockerT m Con
5244startContainer sopts cid = do
5345 (opts, httpHandler) <- ask
5446 let request = fromJust $ mkHttpRequest POST (StartContainerEndpoint sopts cid) opts
55− _ <- lift . lift $ ((httpHandler request) :: m Response)
47+ _ <- lift . lift $ (httpHandler request :: m Response)
5648 return cid
5749
5850stopContainer :: forall m. Monad m => Timeout -> ContainerID ->DockerT m ContainerID
5951stopContainer t cid = do
6052 (opts, httpHandler) <- ask
6153 let request = fromJust $ mkHttpRequest POST (StopContainerEndpoint t cid) opts
62− _ <- lift . lift $ ((httpHandler request) :: m Response)
54+ _ <- lift . lift $ (httpHandler request :: m Response)
6355 return cid
6456
6557killContainer :: forall m. Monad m => Signal -> ContainerID -> DockerT m ContainerID
6658killContainer s cid = do
6759 (opts, httpHandler) <- ask
6860 let request = fromJust $ mkHttpRequest POST (KillContainerEndpoint s cid) opts
69− _ <- lift . lift $ ((httpHandler request) :: m Response)
61+ _ <- lift . lift $ (httpHandler request :: m Response)
7062 return cid
7163
7264restartContainer :: forall m. Monad m => Timeout -> ContainerID -> DockerT m ContainerID
7365restartContainer t cid = do
7466 (opts, httpHandler) <- ask
7567 let request = fromJust $ mkHttpRequest POST (RestartContainerEndpoint t cid) opts
76− _ <- lift . lift $ ((httpHandler request) :: m Response)
68+ _ <- lift . lift $ (httpHandler request :: m Response)
7769 return cid
7870
7971pauseContainer :: forall m. Monad m => ContainerID -> DockerT m ContainerID
8072pauseContainer cid = do
8173 (opts, httpHandler) <- ask
8274 let request = fromJust $ mkHttpRequest POST (PauseContainerEndpoint cid) opts
83− _ <- lift . lift $ ((httpHandler request) :: m Response)
75+ _ <- lift . lift $ (httpHandler request :: m Response)
8476 return cid
8577
8678unpauseContainer :: forall m. Monad m => ContainerID -> DockerT m ContainerID
8779unpauseContainer cid = do
8880 (opts, httpHandler) <- ask
8981 let request = fromJust $ mkHttpRequest GET (UnpauseContainerEndpoint cid) opts
90− _ <- lift . lift $ ((httpHandler request) :: m Response)
82+ _ <- lift . lift $ (httpHandler request :: m Response)
9183 return cid
9284
9385deleteContainer :: forall m. Monad m => DeleteOpts -> ContainerID -> DockerT m ContainerID
9486deleteContainer dopts cid = do
9587 (opts, httpHandler) <- ask
9688 let request = fromJust $ mkHttpRequest DELETE (DeleteContainerEndpoint dopts cid) opts
97− _ <- lift . lift $ ((httpHandler request) :: m Response)
89+ _ <- lift . lift $ (httpHandler request :: m Response)
9890 return cid
9991
10092getContainerLogs :: forall m. Monad m => LogOpts -> ContainerID -> DockerT m ()