diff --git a/cachix/src/Cachix/Client/Retry.hs b/cachix/src/Cachix/Client/Retry.hs index 54542980..40a2620c 100644 --- a/cachix/src/Cachix/Client/Retry.hs +++ b/cachix/src/Cachix/Client/Retry.hs @@ -67,25 +67,6 @@ retryAllWithPolicy policy f = -- Retry everything else allHandler _ = Handler $ \(_ :: SomeException) -> return True --- Catches all exceptions except async exceptions with logging support -retryAllWithLogging :: - (MonadIO m, MonadMask m) => - RetryPolicyM m -> - (Bool -> SomeException -> RetryStatus -> m ()) -> - m a -> - m a -retryAllWithLogging policy logger f = - recovering policy handlers $ - const (rethrowLinkedThreadExceptions f) - where - handlers = skipAsyncExceptions ++ [exitCodeHandler, loggingHandler] - - -- Skip over exitSuccess/exitFailure - exitCodeHandler _ = Handler $ \(_ :: ExitCode) -> return False - - -- Log and retry everything else - loggingHandler = logRetries (return . isSyncException) logger - -- | Unwrap 'Async.ExceptionInLinkedThread' exceptions and rethrow the inner exception. rethrowLinkedThreadExceptions :: (MonadCatch m) => m a -> m a rethrowLinkedThreadExceptions = @@ -107,13 +88,12 @@ retryHttpWith policy = recoveringDynamic policy handlers . const where handlers :: [RetryStatus -> Handler m RetryAction] handlers = - skipAsyncExceptions' ++ [retryHttpExceptions, retryClientExceptions, retrySyncExceptions] + skipAsyncExceptions' ++ [retryHttpExceptions, retryClientExceptions] skipAsyncExceptions' = map (fmap toRetryAction .) skipAsyncExceptions retryHttpExceptions _ = Handler httpExceptionToRetryAction retryClientExceptions _ = Handler clientExceptionToRetryAction - retrySyncExceptions _ = Handler $ \(_ :: SomeException) -> return ConsultPolicy httpExceptionToRetryAction :: HTTP.HttpException -> m RetryAction httpExceptionToRetryAction (HTTP.HttpExceptionRequest _ (HTTP.StatusCodeException response _))