@@ -56,87 +56,134 @@ getEndpoint (SDeleteContainerEndpoint cid (DeleteOpts removeVolumes force)) =
5656
5757setupSSLCtx :: SSLOptions -> IO SSLContext
5858setupSSLCtx (SSLOptions key cert) = do
59− ctx <- SSL.context
60− SSL.contextSetPrivateKeyFile ctx key
61− SSL.contextSetCertificateFile ctx cert
62− SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv3
63− SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv2
64− return ctx
59+ ctx <- SSL.context
60+ SSL.contextSetPrivateKeyFile ctx key
61+ SSL.contextSetCertificateFile ctx cert
62+ SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv3
63+ SSL.contextAddOption ctx SSL.SSL_OP_NO_SSLv2
64+ return ctx
6565
6666mkOpts c = defaults & manager .~ Left (opensslManagerSettings c)
6767
6868getSSL
69− :: SSLOptions
70− -> String
71− -> IO (Response L.ByteString)
69+ :: SSLOptions
70+ -> String
71+ -> IO (Response L.ByteString)
7272getSSL sopts url = withOpenSSL $ getWith (mkOpts $ setupSSLCtx sopts) url
7373
7474postSSL
75− :: ToJSON a
76− => SSLOptions
77− -> String
78− -> a
79− -> IO (Response L.ByteString)
75+ :: ToJSON a
76+ => SSLOptions
77+ -> String
78+ -> a
79+ -> IO (Response L.ByteString)
8080postSSL sopts url = withOpenSSL . postWith (mkOpts $ setupSSLCtx sopts) url . toJSON
8181
8282deleteSSL
83− :: SSLOptions
84− -> String
85− -> IO (Response L.ByteString)
83+ :: SSLOptions
84+ -> String
85+ -> IO (Response L.ByteString)
8686deleteSSL sopts url = withOpenSSL $ deleteWith (mkOpts $ setupSSLCtx sopts) url
8787
8888fullUrl :: DockerClientOpts -> SEndpoint a -> URL
89−fullUrl clientOpts endpoint = constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
89+fullUrl clientOpts endpoint =
90+ constructUrl (baseUrl clientOpts) (apiVersion clientOpts) (getEndpoint endpoint)
9091
9192_dockerGetQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
92−_dockerGetQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Get (fullUrl clientOpts endpoint))
93−_dockerGetQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (GetSSL sslOpts (fullUrl clientOpts endpoint))
93+_dockerGetQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
94+ Free (Get (fullUrl clientOpts endpoint))
95+_dockerGetQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
96+ Free (GetSSL sslOpts (fullUrl clientOpts endpoint))
9497
9598_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))
97−_dockerPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint postObject = Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON postObject))
99+_dockerPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint postObject =
100+ Free (Post (fullUrl clientOpts endpoint) (toJSON postObject))
101+_dockerPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint postObject =
102+ Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON postObject))
98103
99104_dockerEmptyPostQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
100−_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Post (fullUrl clientOpts endpoint) (toJSON emptyPost))
101−_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON emptyPost))
105+_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
106+ Free (Post (fullUrl clientOpts endpoint) (toJSON emptyPost))
107+_dockerEmptyPostQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
108+ Free (PostSSL sslOpts (fullUrl clientOpts endpoint) (toJSON emptyPost))
102109
103110_dockerDeleteQuery :: DockerClientOpts -> SEndpoint a -> HttpRequestM (SEndpoint a)
104−_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint = Free (Delete (fullUrl clientOpts endpoint))
105−_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint = Free (DeleteSSL sslOpts (fullUrl clientOpts endpoint))
106−
107−getDockerVersionM :: DockerClientOpts -> SEndpoint VersionEndpoint -> HttpRequestM (SEndpoint VersionEndpoint)
111+_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = NoSSL} endpoint =
112+ Free (Delete (fullUrl clientOpts endpoint))
113+_dockerDeleteQuery clientOpts@DockerClientOpts{ssl = SSL sslOpts} endpoint =
114+ Free (DeleteSSL sslOpts (fullUrl clientOpts endpoint))
115+
116+getDockerVersionM
117+ :: DockerClientOpts
118+ -> SEndpoint VersionEndpoint
119+ -> HttpRequestM (SEndpoint VersionEndpoint)
108120getDockerVersionM clientOpts e = _dockerGetQuery clientOpts e
109121
110−stopContainerM :: DockerClientOpts -> SEndpoint StopContainerEndpoint -> HttpRequestM (SEndpoint StopContainerEndpoint)
122+stopContainerM
123+ :: DockerClientOpts
124+ -> SEndpoint StopContainerEndpoint
125+ -> HttpRequestM (SEndpoint StopContainerEndpoint)
111126stopContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
112127
113−listContainersM :: DockerClientOpts -> SEndpoint ListContainersEndpoint -> HttpRequestM (SEndpoint ListContainersEndpoint)
128+listContainersM
129+ :: DockerClientOpts
130+ -> SEndpoint ListContainersEndpoint
131+ -> HttpRequestM (SEndpoint ListContainersEndpoint)
114132listContainersM clientOpts e = _dockerGetQuery clientOpts e
115133
116−listImagesM :: DockerClientOpts -> SEndpoint ListImagesEndpoint -> HttpRequestM (SEndpoint ListImagesEndpoint)
134+listImagesM
135+ :: DockerClientOpts
136+ -> SEndpoint ListImagesEndpoint
137+ -> HttpRequestM (SEndpoint ListImagesEndpoint)
117138listImagesM clientOpts e = _dockerGetQuery clientOpts e
118139
119−killContainerM :: DockerClientOpts -> SEndpoint KillContainerEndpoint -> HttpRequestM (SEndpoint KillContainerEndpoint)
140+killContainerM
141+ :: DockerClientOpts
142+ -> SEndpoint KillContainerEndpoint
143+ -> HttpRequestM (SEndpoint KillContainerEndpoint)
120144killContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
121145
122−restartContainerM :: DockerClientOpts -> SEndpoint RestartContainerEndpoint -> HttpRequestM (SEndpoint RestartContainerEndpoint)
146+restartContainerM
147+ :: DockerClientOpts
148+ -> SEndpoint RestartContainerEndpoint
149+ -> HttpRequestM (SEndpoint RestartContainerEndpoint)
123150restartContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
124151
125−pauseContainerM :: DockerClientOpts -> SEndpoint PauseContainerEndpoint -> HttpRequestM (SEndpoint PauseContainerEndpoint)
152+pauseContainerM
153+ :: DockerClientOpts
154+ -> SEndpoint PauseContainerEndpoint
155+ -> HttpRequestM (SEndpoint PauseContainerEndpoint)
126156pauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
127157
128−unpauseContainerM :: DockerClientOpts -> SEndpoint UnpauseContainerEndpoint -> HttpRequestM (SEndpoint UnpauseContainerEndpoint)
158+unpauseContainerM
159+ :: DockerClientOpts
160+ -> SEndpoint UnpauseContainerEndpoint
161+ -> HttpRequestM (SEndpoint UnpauseContainerEndpoint)
129162unpauseContainerM clientOpts e = _dockerEmptyPostQuery clientOpts e
130163
131−createContainerM :: DockerClientOpts -> SEndpoint CreateContainerEndpoint -> CreateContainerOpts -> HttpRequestM (SEndpoint CreateContainerEndpoint)
164+createContainerM
165+ :: DockerClientOpts
166+ -> SEndpoint CreateContainerEndpoint
167+ -> CreateContainerOpts
168+ -> HttpRequestM (SEndpoint CreateContainerEndpoint)
132169createContainerM clientOpts e c = _dockerPostQuery clientOpts e c
133170
134−startContainerM :: DockerClientOpts -> SEndpoint StartContainerEndpoint -> StartContainerOpts -> HttpRequestM (SEndpoint StartContainerEndpoint)
171+startContainerM
172+ :: DockerClientOpts
173+ -> SEndpoint StartContainerEndpoint
174+ -> StartContainerOpts
175+ -> HttpRequestM (SEndpoint StartContainerEndpoint)
135176startContainerM clientOpts e c = _dockerPostQuery clientOpts e c
136177
137−deleteContainerM :: DockerClientOpts -> SEndpoint DeleteContainerEndpoint -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
178+deleteContainerM
179+ :: DockerClientOpts
180+ -> SEndpoint DeleteContainerEndpoint
181+ -> HttpRequestM (SEndpoint DeleteContainerEndpoint)
138182deleteContainerM clientOpts e = _dockerDeleteQuery clientOpts e
139183
140−getContainerLogsM :: DockerClientOpts -> SEndpoint ContainerLogsEndpoint -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
184+getContainerLogsM
185+ :: DockerClientOpts
186+ -> SEndpoint ContainerLogsEndpoint
187+ -> HttpRequestM (SEndpoint ContainerLogsEndpoint)
141188getContainerLogsM clientOpts e = _dockerGetQuery clientOpts e
142189