casa-client-0.0.3: Client for Casa
Safe HaskellNone
LanguageHaskell2010

Casa.Client

Description

Types and functions for a client for Casa (Content-addressable Storage Archive).

Synopsis

Documentation

blobsSource :: forall (m :: Type -> Type) i. (MonadThrow m, MonadResource m, MonadIO m) => SourceConfig -> ConduitT i (BlobKey, ByteString) m () Source #

Make a source of blobs from a URL. Throws PullException.

data SourceConfig Source #

Configuration for sourcing blobs from the server.

Constructors

SourceConfig 

Fields

blobsSink :: (MonadIO m, MonadThrow m, MonadUnliftIO m) => CasaRepoPrefix -> ConduitT () ByteString m () -> m () Source #

A sink to push blobs to the server. Throws PushException.

data CasaRepoPrefix Source #

The URL prefix for a Casa repository, commonly https://casa.stackage.org. Parsers will strip out a trailing slash.

Instances

Instances details
FromJSON CasaRepoPrefix Source # 
Instance details

Defined in Casa.Client

Methods

parseJSON :: Value -> Parser CasaRepoPrefix

parseJSONList :: Value -> Parser [CasaRepoPrefix]

omittedField :: Maybe CasaRepoPrefix

Show CasaRepoPrefix Source # 
Instance details

Defined in Casa.Client

Methods

showsPrec :: Int -> CasaRepoPrefix -> ShowS

show :: CasaRepoPrefix -> String

showList :: [CasaRepoPrefix] -> ShowS

Lift CasaRepoPrefix Source # 
Instance details

Defined in Casa.Client

Methods

lift :: Quote m => CasaRepoPrefix -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => CasaRepoPrefix -> Code m CasaRepoPrefix

parseCasaRepoPrefix :: String -> Either String CasaRepoPrefix Source #

Parse and normalize a Casa repo prefix.

thParserCasaRepo :: String -> Q Exp Source #

TH compile-time parser.

newtype PushException Source #

An exception from blob consuming/sending.

Constructors

PushBadHttpStatus Status 

Instances

Instances details
Exception PushException Source # 
Instance details

Defined in Casa.Client

Methods

toException :: PushException -> SomeException

fromException :: SomeException -> Maybe PushException

displayException :: PushException -> String

backtraceDesired :: PushException -> Bool

Show PushException Source # 
Instance details

Defined in Casa.Client

Methods

showsPrec :: Int -> PushException -> ShowS

show :: PushException -> String

showList :: [PushException] -> ShowS

data PullException Source #

An exception from blob consuming/sending.

Constructors

AttoParseError ParseError 
BadHttpStatus Status 
TooManyReturnedKeys Int 

Instances

Instances details
Exception PullException Source # 
Instance details

Defined in Casa.Client

Methods

toException :: PullException -> SomeException

fromException :: SomeException -> Maybe PullException

displayException :: PullException -> String

backtraceDesired :: PullException -> Bool

Show PullException Source # 
Instance details

Defined in Casa.Client

Methods

showsPrec :: Int -> PullException -> ShowS

show :: PullException -> String

showList :: [PullException] -> ShowS