ipfs 1.1.0 → 1.1.1
raw patch · 5 files changed
+40/−43 lines, 5 files
Files
- ipfs.cabal +2/−4
- library/Network/IPFS/Client.hs +12/−12
- library/Network/IPFS/Get/Error.hs +1/−1
- library/Network/IPFS/Remote/Class.hs +8/−9
- library/Network/IPFS/Stat.hs +17/−17
ipfs.cabal view
@@ -1,13 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.2. -- -- see: https://github.com/sol/hpack------ hash: 284ab00afa21672d9c0d28245f1677069ac516cab3572cffcbc7dd5a92867875 name: ipfs-version: 1.1.0+version: 1.1.1 synopsis: Access IPFS locally and remotely description: Interact with the IPFS network by shelling out to a local IPFS node or communicating via the HTTP interface of a remote IPFS node. category: Network
library/Network/IPFS/Client.hs view
@@ -11,16 +11,16 @@ import Servant import Servant.Client -import Network.IPFS.Prelude-import Network.IPFS.Internal.Orphanage.ByteString.Lazy ()+import Network.IPFS.Internal.Orphanage.ByteString.Lazy ()+import Network.IPFS.Prelude hiding (object) -import qualified Network.IPFS.File.Types as File import Network.IPFS.CID.Types+import qualified Network.IPFS.File.Types as File import Network.IPFS.Stat.Types -import qualified Network.IPFS.Client.Add as Add-import qualified Network.IPFS.Client.Cat as Cat-import qualified Network.IPFS.Client.Pin as Pin+import qualified Network.IPFS.Client.Add as Add+import qualified Network.IPFS.Client.Cat as Cat+import qualified Network.IPFS.Client.Pin as Pin import qualified Network.IPFS.Client.Stat as Stat type API@@ -28,10 +28,10 @@ :> "v0" :> V0API -type V0API = "add" :> Add.API- :<|> "cat" :> Cat.API- :<|> "stat" :> Stat.API- :<|> "pin" :> Pin.API+type V0API = "add" :> Add.API+ :<|> "cat" :> Cat.API+ :<|> "object" :> Stat.API+ :<|> "pin" :> Pin.API add :: Lazy.ByteString -> ClientM CID cat :: Text -> ClientM File.Serialized@@ -40,7 +40,7 @@ unpin :: Text -> Bool -> ClientM Pin.Response add :<|> cat- :<|> stat + :<|> stat :<|> pin- :<|> unpin + :<|> unpin = client <| Proxy @API
library/Network/IPFS/Get/Error.hs view
@@ -33,4 +33,4 @@ "Unexpected IPFS output: " <> display raw UnknownErr raw ->- "Unknwon IPFS get error: " <> display raw+ "Unknown IPFS get error: " <> display raw
library/Network/IPFS/Remote/Class.hs view
@@ -10,15 +10,14 @@ import Network.IPFS.Prelude -import Servant.Client import qualified RIO.ByteString.Lazy as Lazy+import Servant.Client -import Network.IPFS.Types as IPFS+import Network.IPFS.Types as IPFS -import qualified Network.IPFS.Client as IPFS.Client+import qualified Network.IPFS.Client as IPFS.Client import qualified Network.IPFS.Client.Pin as Pin-import qualified Network.IPFS.File.Types as File-+import qualified Network.IPFS.File.Types as File class MonadIO m => MonadRemoteIPFS m where runRemote :: ClientM a -> m (Either ClientError a)@@ -29,8 +28,8 @@ ipfsUnpin :: CID -> Bool -> m (Either ClientError Pin.Response) -- defaults- ipfsAdd raw = runRemote <| IPFS.Client.add raw- ipfsCat (CID cid) = runRemote <| IPFS.Client.cat cid- ipfsStat (CID cid) = runRemote <| IPFS.Client.stat cid- ipfsPin (CID cid) = runRemote <| IPFS.Client.pin cid+ ipfsAdd raw = runRemote <| IPFS.Client.add raw+ ipfsCat (CID cid) = runRemote <| IPFS.Client.cat cid+ ipfsStat (CID cid) = runRemote <| IPFS.Client.stat cid+ ipfsPin (CID cid) = runRemote <| IPFS.Client.pin cid ipfsUnpin (CID cid) recursive = runRemote <| IPFS.Client.unpin cid recursive
library/Network/IPFS/Stat.hs view
@@ -1,44 +1,44 @@-module Network.IPFS.Stat +module Network.IPFS.Stat ( getStatRemote , getSizeRemote , getSize , module Network.IPFS.Stat.Types ) where -import Data.ByteString.Lazy.Char8 as CL-import Data.List as List+import Data.ByteString.Lazy.Char8 as CL+import Data.List as List import qualified RIO.ByteString.Lazy as Lazy -import Network.IPFS.Prelude+import qualified Network.IPFS.Internal.UTF8 as UTF8 import Network.IPFS.Local.Class as IPFS+import Network.IPFS.Prelude import Network.IPFS.Remote.Class as Remote-import qualified Network.IPFS.Internal.UTF8 as UTF8 import Network.IPFS.Get.Error as IPFS.Get import qualified Network.IPFS.Process.Error as Process -import Network.IPFS.Types as IPFS-import Network.IPFS.Stat.Types -import Network.IPFS.Bytes.Types +import Network.IPFS.Bytes.Types+import Network.IPFS.Stat.Types+import Network.IPFS.Types as IPFS -getStatRemote :: +getStatRemote :: MonadRemoteIPFS m- => IPFS.CID + => IPFS.CID -> m (Either IPFS.Get.Error Stat)-getStatRemote cid = +getStatRemote cid = Remote.ipfsStat cid >>= \case- Left err -> + Left err -> return . Left . UnexpectedOutput <| UTF8.textShow err - Right stat -> + Right stat -> return <| Right stat -getSizeRemote :: +getSizeRemote :: MonadRemoteIPFS m- => IPFS.CID + => IPFS.CID -> m (Either IPFS.Get.Error Bytes)-getSizeRemote cid = +getSizeRemote cid = getStatRemote cid >>= \case Left err -> return <| Left err Right stat -> return . Right <| cumulativeSize stat@@ -49,7 +49,7 @@ -> m (Either IPFS.Get.Error Integer) getSize cid@(CID hash) = IPFS.runLocal ["object", "stat"] (Lazy.fromStrict <| encodeUtf8 hash) >>= \case Left err -> case err of- Process.Timeout secs -> return . Left <| TimedOut cid secs+ Process.Timeout secs -> return . Left <| TimedOut cid secs Process.UnknownErr raw -> return . Left . UnknownErr <| UTF8.textShow raw Right contents -> do case parseSize contents of