@@ -49,6 +49,8 @@ _dockerPostQuery endpoint clientOpts postObject = post (fullUrl clientOpts endpo
4949emptyPost = "" :: String
5050_dockerEmptyPostQuery endpoint clientOpts = post (fullUrl clientOpts endpoint) (toJSON emptyPost)
5151
52+_dockerEmptyDeleteQuery endpoint clientOpts = delete (fullUrl clientOpts endpoint)
53+
5254getDockerVersion :: DockerClientOpts -> IO (Maybe DockerVersion)
5355getDockerVersion = decodeResponse . _dockerGetQuery "/version"
5456
@@ -79,6 +81,13 @@ pauseContainer clientOpts containerId = (^. responseStatus) <$> _dockerEmptyPos
7981unpauseContainer :: DockerClientOpts -> String -> IO (Status)
8082unpauseContainer clientOpts containerId = (^. responseStatus) <$> _dockerEmptyPostQuery (printf "/containers/%s/unpause" containerId) clientOpts
8183
84+deleteContainer :: DockerClientOpts -> String -> IO (Status)
85+deleteContainer = deleteContainerWithOpts defaultDeleteOpts
86+
87+deleteContainerWithOpts :: DeleteOpts -> DockerClientOpts -> String -> IO (Status)
88+deleteContainerWithOpts (DeleteOpts removeVolumes force) clientOpts containerId = (^. responseStatus) <$> _dockerEmptyDeleteQuery req clientOpts
89+ where req = printf "/containers/%s?v=%s;force=%s" containerId (show removeVolumes) (show force)
90+
8291getContainerLogsStream :: DockerClientOpts -> String -> IO ()
8392getContainerLogsStream clientOpts containerId = do
8493 req <- PH.parseUrl (fullUrl clientOpts url)