From: Joey Hess Date: Mon, 22 Jul 2024 22:55:12 +0000 (-0400) Subject: implement clientLockContent X-Git-Tag: archive/raspbian/10.20250416-2+rpi1~1^2~21^2~228^2~91 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=63e42aa1bc033bb91bc433890a2693558944229f;p=git-annex.git implement clientLockContent --- diff --git a/P2P/Http.hs b/P2P/Http.hs index 8ecfa4d814..1faf9ed2dc 100644 --- a/P2P/Http.hs +++ b/P2P/Http.hs @@ -841,20 +841,26 @@ serveLockContent st su apiver (B64Key k) cu bypass sec auth = do Nothing -> return $ LockResult False Nothing clientLockContent - :: B64UUID ServerSide + :: ClientEnv + -> B64UUID ServerSide -> ProtocolVersion -> B64Key -> B64UUID ClientSide -> [B64UUID Bypass] -> Maybe Auth - -> ClientM LockResult -clientLockContent su (ProtocolVersion ver) = case ver of - 3 -> v3 su V3 - 2 -> v2 su V2 - 1 -> v1 su V1 - 0 -> v0 su V0 - _ -> error "unsupported protocol version" + -> IO LockResult +clientLockContent clientenv su (ProtocolVersion ver) k cu bypass auth = + withClientM (cli k cu bypass auth) clientenv $ \case + Left err -> throwM err + Right res -> return res where + cli = case ver of + 3 -> v3 su V3 + 2 -> v2 su V2 + 1 -> v1 su V1 + 0 -> v0 su V0 + _ -> error "unsupported protocol version" + _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|> _ :<|>