| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Casa.Client
Description
Types and functions for a client for Casa (Content-addressable Storage Archive).
Synopsis
- blobsSource :: forall (m :: Type -> Type) i. (MonadThrow m, MonadResource m, MonadIO m) => SourceConfig -> ConduitT i (BlobKey, ByteString) m ()
- data SourceConfig = SourceConfig {
- sourceConfigUrl :: !CasaRepoPrefix
- sourceConfigBlobs :: !(HashMap BlobKey Int)
- sourceConfigMaxBlobsPerRequest :: !Int
- blobsSink :: (MonadIO m, MonadThrow m, MonadUnliftIO m) => CasaRepoPrefix -> ConduitT () ByteString m () -> m ()
- data CasaRepoPrefix
- parseCasaRepoPrefix :: String -> Either String CasaRepoPrefix
- thParserCasaRepo :: String -> Q Exp
- newtype PushException = PushBadHttpStatus Status
- data PullException
- = AttoParseError ParseError
- | BadHttpStatus Status
- | TooManyReturnedKeys Int
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
| FromJSON CasaRepoPrefix Source # | |
Defined in Casa.Client Methods parseJSON :: Value -> Parser CasaRepoPrefix parseJSONList :: Value -> Parser [CasaRepoPrefix] omittedField :: Maybe CasaRepoPrefix | |
| Show CasaRepoPrefix Source # | |
Defined in Casa.Client Methods showsPrec :: Int -> CasaRepoPrefix -> ShowS show :: CasaRepoPrefix -> String showList :: [CasaRepoPrefix] -> ShowS | |
| Lift CasaRepoPrefix Source # | |
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
| Exception PushException Source # | |
Defined in Casa.Client Methods toException :: PushException -> SomeException fromException :: SomeException -> Maybe PushException displayException :: PushException -> String backtraceDesired :: PushException -> Bool | |
| Show PushException Source # | |
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
| Exception PullException Source # | |
Defined in Casa.Client Methods toException :: PullException -> SomeException fromException :: SomeException -> Maybe PullException displayException :: PullException -> String backtraceDesired :: PullException -> Bool | |
| Show PullException Source # | |
Defined in Casa.Client Methods showsPrec :: Int -> PullException -> ShowS show :: PullException -> String showList :: [PullException] -> ShowS | |