on master help sign in
Fixes Unix socket handler
9c61413Deni Bertovic
src/Docker/Http.hs+6−1
@@ -93,7 +93,12 @@ unixHttpHandler fp request= do
93 let mSettings = defaultManagerSettings
93 let mSettings = defaultManagerSettings
94 { managerRawConnection = return $ openUnixSocket fp}
94 { managerRawConnection = return $ openUnixSocket fp}
95 manager <- newManager mSettings
95 manager <- newManager mSettings
96− httpLbs request manager
96+ try (httpLbs request manager) >>= \res -> case res of
97+ Right res -> return $ Right res
98+ Left HTTP.FailedConnectionException{} -> return $ Left DockerConnectionError
99+ Left HTTP.FailedConnectionException2{} -> return $ Left DockerConnectionError
100+ Left e -> return $ Left $ GenericDockerError (T.pack $ show e)
101+
97 where
102 where
98 openUnixSocket filePath _ _ _ = do
103 openUnixSocket filePath _ _ _ = do
99 s <- S.socket S.AF_UNIX S.Stream S.defaultProtocol
104 s <- S.socket S.AF_UNIX S.Stream S.defaultProtocol