From 648ae13e5c62da1fdfe0486689193820e6081050 Mon Sep 17 00:00:00 2001 From: Shae Erisson <shae@scannedinavian.com> Date: Wed, 31 May 2023 09:43:25 -0500 Subject: [PATCH] fix imports after refactoring --- src/Tahoe/Download.hs | 15 +++------------ src/Tahoe/Download/Internal/Client.hs | 10 ++++++++++ src/Tahoe/Download/Internal/Immutable.hs | 17 +++++++---------- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/Tahoe/Download.hs b/src/Tahoe/Download.hs index 1081420..77f701a 100644 --- a/src/Tahoe/Download.hs +++ b/src/Tahoe/Download.hs @@ -11,34 +11,25 @@ module Tahoe.Download ( announcementToStorageServer, ) where -import Control.Exception (Exception (displayException), SomeException, throwIO, try) +import Control.Exception (Exception (displayException), SomeException, try) import Control.Monad.IO.Class (MonadIO (liftIO)) import Data.Bifunctor (Bifunctor (first, second)) import Data.Binary (Word16, decodeOrFail) import qualified Data.ByteString as B -import Data.ByteString.Base32 (encodeBase32Unpadded) -import qualified Data.ByteString.Base64 as Base64 import qualified Data.ByteString.Lazy as LB import Data.Either (partitionEithers, rights) import Data.List (foldl') import qualified Data.Map.Strict as Map import qualified Data.Set as Set -import qualified Data.Text as T -import Data.Text.Encoding (encodeUtf8) -import Network.Connection (TLSSettings (TLSSettingsSimple)) -import Network.HTTP.Client (Manager, ManagerSettings (managerModifyRequest), Request (requestHeaders)) -import Network.HTTP.Client.TLS (mkManagerSettings, newTlsManagerWith) import Network.URI (URI (..), URIAuth (..)) -import Servant.Client (Scheme (Https), mkClientEnv, runClientM) -import Servant.Client.Core (BaseUrl (BaseUrl, baseUrlHost, baseUrlPath, baseUrlPort, baseUrlScheme)) import Tahoe.Announcement (StorageServerAnnouncement, greatBlackSwampURIs) import qualified Tahoe.CHK import Tahoe.CHK.Capability (Reader (..), Verifier (..)) import qualified Tahoe.CHK.Encrypt import Tahoe.CHK.Server (StorageServer (..), StorageServerID) import Tahoe.CHK.Types (ShareNum, StorageIndex) -import TahoeLAFS.Storage.API (CBORSet (..), ShareNumber (ShareNumber)) -import TahoeLAFS.Storage.Client (getImmutableShareNumbers, readImmutableShare) +import Tahoe.Download.Internal.Client +import Tahoe.Download.Internal.Immutable import Text.Read (readMaybe) print' :: MonadIO m => String -> m () diff --git a/src/Tahoe/Download/Internal/Client.hs b/src/Tahoe/Download/Internal/Client.hs index ee1e966..4cccaa3 100644 --- a/src/Tahoe/Download/Internal/Client.hs +++ b/src/Tahoe/Download/Internal/Client.hs @@ -1,5 +1,15 @@ module Tahoe.Download.Internal.Client where +import Control.Monad.IO.Class +import qualified Data.ByteString as B +import qualified Data.ByteString.Base64 as Base64 +import qualified Data.Text as T +import Data.Text.Encoding +import Network.Connection +import Network.HTTP.Client +import Network.HTTP.Client.TLS +import Servant.Client + -- | Make an HTTPS URL. https :: String -> Int -> BaseUrl https host port = diff --git a/src/Tahoe/Download/Internal/Immutable.hs b/src/Tahoe/Download/Internal/Immutable.hs index 1d9714f..02a1153 100644 --- a/src/Tahoe/Download/Internal/Immutable.hs +++ b/src/Tahoe/Download/Internal/Immutable.hs @@ -1,11 +1,15 @@ module Tahoe.Download.Internal.Immutable where -import Control.Exception (SomeException (SomeException)) +import Control.Exception +import Data.ByteString.Base32 import qualified Data.Set as Set import qualified Data.Text as T import Network.HTTP.Client (Manager) -import Tahoe.CHK.Server (StorageServer (StorageServer)) +import Servant.Client +import Tahoe.CHK.Server (StorageServer (..)) +import Tahoe.Download.Internal.Client import TahoeLAFS.Storage.API (CBORSet (CBORSet), ShareNumber (ShareNumber)) +import TahoeLAFS.Storage.Client {- | Create a StorageServer that will speak Great Black Swamp using the given manager to the server at the given host/port. @@ -24,27 +28,20 @@ wrapGreatBlackSwamp manager host realPort = storageServerRead storageIndex shareNum = do let clientm = readImmutableShare (toBase32 storageIndex) (ShareNumber $ fromIntegral shareNum) Nothing - print' "Going to read from a server" res <- runClientM clientm env - print' "Did it" case res of Left err -> do - print' "Going to throw a damn IO error" throwIO err Right bs -> pure bs storageServerGetBuckets storageIndex = do let clientm = getImmutableShareNumbers (toBase32 storageIndex) - print' "Going to get share numbers" r <- try $ runClientM clientm env case r of - Left (err :: SomeException) -> do - print' $ "A PROBLEM ARISES " <> show err + Left (_ :: SomeException) -> do pure mempty Right res -> do - print' "Got the share numbers" case res of Left err -> do - print' "Going to throw another IO error!!" throwIO err Right (CBORSet s) -> pure $ Set.map (\(ShareNumber i) -> fromIntegral i) s -- XXX fromIntegral aaaaaaaa!! -- GitLab