@@ -9,13 +9,13 @@ import Data.Aeson (FromJSON, ToJSON, Value, decode,
9 eitherDecode, toJSON)
9 eitherDecode, toJSON)
10import Data.Aeson.Lens (key, _String)
10import Data.Aeson.Lens (key, _String)
11import qualified Data.ByteString.Lazy as L
11import qualified Data.ByteString.Lazy as L
12−import Network.Docker.Types
13import Network.Wreq
12import Network.Wreq
14−import Pipes
13+-- import Pipes
15−import qualified Pipes.ByteString as PB
14+-- import qualified Pipes.ByteString as PB
16−import qualified Pipes.HTTP as PH
15+-- import qualified Pipes.HTTP as PH
17import Text.Printf (printf)
16import Text.Printf (printf)
18+import Network.Docker.Types
20emptyPost = "" :: String
20emptyPost = "" :: String
@@ -46,8 +46,10 @@ getEndpoint (SKillContainerEndpoint cid) = printf "/containers/%s/kill" cid
46getEndpoint (SRestartContainerEndpoint cid) = printf "/containers/%s/restart" cid
46getEndpoint (SRestartContainerEndpoint cid) = printf "/containers/%s/restart" cid
47getEndpoint (SPauseContainerEndpoint cid) = printf "/containers/%s/pause" cid
47getEndpoint (SPauseContainerEndpoint cid) = printf "/containers/%s/pause" cid
48getEndpoint (SUnpauseContainerEndpoint cid) = printf "/containers/%s/unpause" cid
48getEndpoint (SUnpauseContainerEndpoint cid) = printf "/containers/%s/unpause" cid
49−getEndpoint (SContainerLogsEndpoint cid) = printf "/containers/%s/logs?stdout=1&stderr=1" cid
49+getEndpoint (SContainerLogsEndpoint cid (LogOpts stdout stderr follow )) =
50+ printf "/containers/%s/logs?stdout=%s&stderr=%s&follow=%s" cid (show stdout) (show stderr) (show follow)
50−getEndpoint (SDeleteContainerEndpoint cid (DeleteOpts removeVolumes force)) = printf "/containers/%s?v=%s;force=%s" cid (show removeVolumes) (show force)
51+getEndpoint (SDeleteContainerEndpoint cid (DeleteOpts removeVolumes force)) =
52+ printf "/containers/%s?v=%s;force=%s" cid (show removeVolumes) (show force)
52fullUrl :: DockerClientOpts -> SEndpoint a -> URL
54fullUrl :: DockerClientOpts -> SEndpoint a -> URL
53fullUrl clientOpts endpoint = constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
55fullUrl clientOpts endpoint = constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
@@ -97,6 +99,9 @@ startContainerM clientOpts e c = _dockerPostQuery clientOpts e c
97deleteContainerM :: DockerClientOpts -> SEndpoint DeleteContainerEndpoint -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
99deleteContainerM :: DockerClientOpts -> SEndpoint DeleteContainerEndpoint -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
98deleteContainerM clientOpts e = _dockerDeleteQuery clientOpts e
100deleteContainerM clientOpts e = _dockerDeleteQuery clientOpts e
102+getContainerLogsM :: DockerClientOpts -> SEndpoint ContainerLogsEndpoint -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
103+getContainerLogsM clientOpts e = _dockerGetQuery clientOpts e
100-- getContainerLogsM :: DockerClientOpts -> SEndpoint ContainerLogsEndpoint -> Bool -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
105-- getContainerLogsM :: DockerClientOpts -> SEndpoint ContainerLogsEndpoint -> Bool -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
101-- getContainerLogsM clientOpts e f = case f of
106-- getContainerLogsM clientOpts e f = case f of
102-- False -> _dockerGetQuery clientOpts e
107-- False -> _dockerGetQuery clientOpts e