@@ -56,87 +56,134 @@ getEndpoint (SDeleteContainerEndpoint cid (DeleteOpts removeVolumes force)) =
57setupSSLCtx :: SSLOptions -> IO SSLContext
57setupSSLCtx :: SSLOptions -> IO SSLContext
58setupSSLCtx (SSLOptions key cert) = do
58setupSSLCtx (SSLOptions key cert) = do
59− ctx <- SSL.context
59+ ctx <- SSL.context
60− SSL.contextSetPrivateKeyFile ctx key
60+ SSL.contextSetPrivateKeyFile ctx key
61− SSL.contextSetCertificateFile ctx cert
61+ SSL.contextSetCertificateFile ctx cert
62− SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv3
62+ SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv3
63− SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv2
63+ SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv2
64− return ctx
64+ return ctx
66mkOpts c = defaults & manager .~ Left (opensslManagerSettings c)
66mkOpts c = defaults & manager .~ Left (opensslManagerSettings c)
69− :: SSLOptions
69+ :: SSLOptions
70− -> String
70+ -> String
71− -> IO (Response L.ByteString)
71+ -> IO (Response L.ByteString)
72getSSL sopts url = withOpenSSL $ getWith (mkOpts $ setupSSLCtx sopts) url
72getSSL sopts url = withOpenSSL $ getWith (mkOpts $ setupSSLCtx sopts) url
75− :: ToJSON a
75+ :: ToJSON a
76− => SSLOptions
76+ => SSLOptions
77− -> String
77+ -> String
79− -> IO (Response L.ByteString)
79+ -> IO (Response L.ByteString)
80postSSL sopts url = withOpenSSL . postWith (mkOpts $ setupSSLCtx sopts) url . toJSON
80postSSL sopts url = withOpenSSL . postWith (mkOpts $ setupSSLCtx sopts) url . toJSON
83− :: SSLOptions
83+ :: SSLOptions
84− -> String
84+ -> String
85− -> IO (Response L.ByteString)
85+ -> IO (Response L.ByteString)
86deleteSSL sopts url = withOpenSSL $ deleteWith (mkOpts $ setupSSLCtx sopts) url
86deleteSSL sopts url = withOpenSSL $ deleteWith (mkOpts $ setupSSLCtx sopts) url
88fullUrl :: DockerClientOpts -> SEndpoint a -> URL
88fullUrl :: DockerClientOpts -> SEndpoint a -> URL
89+fullUrl clientOpts endpoint =
89−fullUrl clientOpts endpoint = constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
90+ constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
91_dockerGetQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
92_dockerGetQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
92−_dockerGetQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Get (fullUrl clientOpts endpoint))
93+_dockerGetQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
94+ Free (Get (fullUrl clientOpts endpoint))
93−_dockerGetQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (GetSSL sslOpts (fullUrl clientOpts endpoint))
95+_dockerGetQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
96+ Free (GetSSL sslOpts (fullUrl clientOpts endpoint))
95_dockerPostQuery :: ToJSON b => DockerClientOpts -> SEndpoint a -> b -> HttpRequestM (SEndpoint a)
98_dockerPostQuery :: ToJSON b => DockerClientOpts -> SEndpoint a -> b -> HttpRequestM (SEndpoint a)
96−_dockerPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint postObject = Free (Post (fullUrl clientOpts endpoint) (toJSON postObject))
99+_dockerPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint postObject =
100+ Free (Post (fullUrl clientOpts endpoint) (toJSON postObject))
97−_dockerPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint postObject = Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON postObject))
101+_dockerPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint postObject =
102+ Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON postObject))
99_dockerEmptyPostQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
104_dockerEmptyPostQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
100−_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Post (fullUrl clientOpts endpoint) (toJSON emptyPost))
105+_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
106+ Free (Post (fullUrl clientOpts endpoint) (toJSON emptyPost))
101−_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON emptyPost))
107+_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
108+ Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON emptyPost))
103_dockerDeleteQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
110_dockerDeleteQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
104−_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Delete (fullUrl clientOpts endpoint))
111+_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
112+ Free (Delete (fullUrl clientOpts endpoint))
105−_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (DeleteSSL sslOpts (fullUrl clientOpts endpoint))
113+_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
106−
114+ Free (DeleteSSL sslOpts (fullUrl clientOpts endpoint))
118+ -> SEndpoint VersionEndpoint
107−getDockerVersionM :: DockerClientOpts -> SEndpoint VersionEndpoint -> HttpRequestM (SEndpoint VersionEndpoint)
119+ -> HttpRequestM (SEndpoint VersionEndpoint)
108getDockerVersionM clientOpts e = _dockerGetQuery clientOpts e
120getDockerVersionM clientOpts e = _dockerGetQuery clientOpts e
124+ -> SEndpoint StopContainerEndpoint
110−stopContainerM :: DockerClientOpts -> SEndpoint StopContainerEndpoint -> HttpRequestM (SEndpoint StopContainerEndpoint)
125+ -> HttpRequestM (SEndpoint StopContainerEndpoint)
111stopContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
126stopContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
130+ -> SEndpoint ListContainersEndpoint
113−listContainersM :: DockerClientOpts -> SEndpoint ListContainersEndpoint -> HttpRequestM (SEndpoint ListContainersEndpoint)
131+ -> HttpRequestM (SEndpoint ListContainersEndpoint)
114listContainersM clientOpts e = _dockerGetQuery clientOpts e
132listContainersM clientOpts e = _dockerGetQuery clientOpts e
136+ -> SEndpoint ListImagesEndpoint
116−listImagesM :: DockerClientOpts -> SEndpoint ListImagesEndpoint -> HttpRequestM (SEndpoint ListImagesEndpoint)
137+ -> HttpRequestM (SEndpoint ListImagesEndpoint)
117listImagesM clientOpts e = _dockerGetQuery clientOpts e
138listImagesM clientOpts e = _dockerGetQuery clientOpts e
142+ -> SEndpoint KillContainerEndpoint
119−killContainerM :: DockerClientOpts -> SEndpoint KillContainerEndpoint -> HttpRequestM (SEndpoint KillContainerEndpoint)
143+ -> HttpRequestM (SEndpoint KillContainerEndpoint)
120killContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
144killContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
148+ -> SEndpoint RestartContainerEndpoint
122−restartContainerM :: DockerClientOpts -> SEndpoint RestartContainerEndpoint -> HttpRequestM (SEndpoint RestartContainerEndpoint)
149+ -> HttpRequestM (SEndpoint RestartContainerEndpoint)
123restartContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
150restartContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
154+ -> SEndpoint PauseContainerEndpoint
125−pauseContainerM :: DockerClientOpts -> SEndpoint PauseContainerEndpoint -> HttpRequestM (SEndpoint PauseContainerEndpoint)
155+ -> HttpRequestM (SEndpoint PauseContainerEndpoint)
126pauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
156pauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
160+ -> SEndpoint UnpauseContainerEndpoint
128−unpauseContainerM :: DockerClientOpts -> SEndpoint UnpauseContainerEndpoint -> HttpRequestM (SEndpoint UnpauseContainerEndpoint)
161+ -> HttpRequestM (SEndpoint UnpauseContainerEndpoint)
129unpauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
162unpauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
166+ -> SEndpoint CreateContainerEndpoint
167+ -> CreateContainerOpts
131−createContainerM :: DockerClientOpts -> SEndpoint CreateContainerEndpoint -> CreateContainerOpts -> HttpRequestM (SEndpoint CreateContainerEndpoint)
168+ -> HttpRequestM (SEndpoint CreateContainerEndpoint)
132createContainerM clientOpts e c = _dockerPostQuery clientOpts e c
169createContainerM clientOpts e c = _dockerPostQuery clientOpts e c
173+ -> SEndpoint StartContainerEndpoint
174+ -> StartContainerOpts
134−startContainerM :: DockerClientOpts -> SEndpoint StartContainerEndpoint -> StartContainerOpts -> HttpRequestM (SEndpoint StartContainerEndpoint)
175+ -> HttpRequestM (SEndpoint StartContainerEndpoint)
135startContainerM clientOpts e c = _dockerPostQuery clientOpts e c
176startContainerM clientOpts e c = _dockerPostQuery clientOpts e c
180+ -> SEndpoint DeleteContainerEndpoint
137−deleteContainerM :: DockerClientOpts -> SEndpoint DeleteContainerEndpoint -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
181+ -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
138deleteContainerM clientOpts e = _dockerDeleteQuery clientOpts e
182deleteContainerM clientOpts e = _dockerDeleteQuery clientOpts e
186+ -> SEndpoint ContainerLogsEndpoint
140−getContainerLogsM :: DockerClientOpts -> SEndpoint ContainerLogsEndpoint -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
187+ -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
141getContainerLogsM clientOpts e = _dockerGetQuery clientOpts e
188getContainerLogsM clientOpts e = _dockerGetQuery clientOpts e