From 6e3d35744da68f95dcec19b8d771e3417d95165b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 11 Jul 2024 07:56:55 -0400 Subject: [PATCH] cleanup --- P2P/Http.hs | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/P2P/Http.hs b/P2P/Http.hs index c0728fde11..d21f6cb1f6 100644 --- a/P2P/Http.hs +++ b/P2P/Http.hs @@ -237,24 +237,18 @@ clientGet clientenv ver k cu su bypass af o auth = Header h -> h _ -> error "missing data length header" liftIO $ print ("datalength", dl :: Integer) - b <- S.unSourceT (getResponse respheaders) gatherbytestring + b <- S.unSourceT (getResponse respheaders) gatherByteString liftIO $ print "got it all, writing to file 'got'" L.writeFile "got" b -gatherbytestring :: S.StepT IO B.ByteString -> IO L.ByteString -gatherbytestring x = do - l <- unsafeInterleaveIO $ go x - return l +gatherByteString :: S.StepT IO B.ByteString -> IO L.ByteString +gatherByteString = unsafeInterleaveIO . go where - go S.Stop = return LI.Empty - go (S.Error err) = error $ show ("ERROR", err) - go (S.Skip s) = do - go s - go (S.Effect ms) = do - ms >>= go - go (S.Yield v s) = do - liftIO $ print ("chunk", B.length v) - LI.Chunk v <$> unsafeInterleaveIO (go s) + go S.Stop = return LI.Empty + go (S.Error err) = giveup err + go (S.Skip s) = go s + go (S.Effect ms) = ms >>= go + go (S.Yield v s) = LI.Chunk v <$> unsafeInterleaveIO (go s) clientGet' :: ProtocolVersion