git-annex/Backend/URL.hs
Joey Hess ed684f651e
add incremental hashing interface to Backend
As yet unused.

Backend.External could perhaps implement it too, although that would
involve sending chunks of data to it via a pipe or something, so likely
to be slow.
2021-02-09 15:00:51 -04:00

41 lines
922 B
Haskell

{- git-annex "URL" backend -- keys whose content is available from urls.
-
- Copyright 2011 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
module Backend.URL (
backends,
fromUrl
) where
import Annex.Common
import Types.Key
import Types.Backend
import Backend.Utilities
backends :: [Backend]
backends = [backend]
backend :: Backend
backend = Backend
{ backendVariety = URLKey
, genKey = Nothing
, verifyKeyContent = Nothing
, verifyKeyContentIncrementally = Nothing
, canUpgradeKey = Nothing
, fastMigrate = Nothing
-- The content of an url can change at any time, so URL keys are
-- not stable.
, isStableKey = const False
, isCryptographicallySecure = const False
}
{- Every unique url has a corresponding key. -}
fromUrl :: String -> Maybe Integer -> Key
fromUrl url size = mkKey $ \k -> k
{ keyName = genKeyName url
, keyVariety = URLKey
, keySize = size
}