ftp-client-conduit 0.3.0.0 → 0.4.0.0
raw patch · 2 files changed
+24/−14 lines, 2 filesdep +exceptionsdep ~basedep ~connectiondep ~ftp-clientPVP ok
version bump matches the API change (PVP)
Dependencies added: exceptions
Dependency ranges changed: base, connection, ftp-client
API changes (from Hackage documentation)
Files
ftp-client-conduit.cabal view
@@ -1,5 +1,5 @@ name: ftp-client-conduit-version: 0.3.0.0+version: 0.4.0.0 cabal-version: >=1.10 build-type: Simple license: PublicDomain@@ -23,11 +23,12 @@ Network.FTP.Client.Conduit build-depends: base >=4.7 && <5,- ftp-client ==0.3.*,+ ftp-client ==0.4.*, conduit >=1.1 && <1.3, bytestring >=0.10.8.1 && <0.11, resourcet ==1.1.*,- connection >=0.2.6 && <0.3+ connection >=0.2.7 && <0.3,+ exceptions >=0.8.3 && <0.9 default-language: Haskell2010 default-extensions: RankNTypes OverloadedStrings hs-source-dirs: src@@ -36,7 +37,7 @@ type: exitcode-stdio-1.0 main-is: Spec.hs build-depends:- base >=4.9.0.0 && <4.10,+ base >=4.9.1.0 && <4.10, ftp-clientconduit -any default-language: Haskell2010 hs-source-dirs: test
src/Network/FTP/Client/Conduit.hs view
@@ -39,6 +39,7 @@ import Data.Monoid ((<>)) import System.IO.Error import Network.Connection+import qualified Control.Monad.Catch as M debugging :: Bool debugging = False@@ -53,8 +54,8 @@ getAllLineRespC h = loop where loop = do- line <- liftIO $ FTP.getLineResp h- `catchIOError` (\_ -> return "")+ line <- liftIO+ $ FTP.getLineResp h `M.catchIOError` const (return "") if B.null line then return () else do@@ -94,7 +95,7 @@ sourceDataCommand ch pa cmds f = do x <- bracketP (createSendDataCommand ch pa cmds)- hClose+ (liftIO . hClose) (f . sIOHandleImpl) resp <- liftIO $ getMultiLineResp ch debugPrint $ "Recieved: " <> (show resp)@@ -110,7 +111,7 @@ sourceTLSDataCommand ch pa cmds f = do x <- bracketP (createTLSSendDataCommand ch pa cmds)- connectionClose+ (liftIO . connectionClose) (f . tlsHandleImpl) resp <- liftIO $ getMultiLineResp ch debugPrint $ "Recieved: " <> (show resp)@@ -121,7 +122,7 @@ where loop = do bs <- liftIO $ FTP.recv h defaultChunkSize- `catchIOError` (\_ -> return "")+ `M.catchIOError` const (return "") if B.null bs then return () else do@@ -139,19 +140,27 @@ liftIO $ FTP.send h bs loop -sendType :: MonadResource m => RTypeCode -> FTP.Handle -> Consumer ByteString m ()+sendType+ :: MonadResource m+ => RTypeCode+ -> FTP.Handle+ -> Consumer ByteString m () sendType TA h = sendAllLineC h sendType TI h = sinkHandle h nlst :: MonadResource m => FTP.Handle -> [String] -> Producer m ByteString-nlst ch args = sourceDataCommandSecurity ch Passive [RType TA, Nlst args] getAllLineRespC+nlst ch args =+ sourceDataCommandSecurity ch Passive [RType TA, Nlst args] getAllLineRespC retr :: MonadResource m => FTP.Handle -> String -> Producer m ByteString-retr ch path = sourceDataCommandSecurity ch Passive [RType TI, Retr path] sourceHandle+retr ch path =+ sourceDataCommandSecurity ch Passive [RType TI, Retr path] sourceHandle list :: MonadResource m => FTP.Handle -> [String] -> Producer m ByteString-list ch args = sourceDataCommandSecurity ch Passive [RType TA, List args] getAllLineRespC+list ch args =+ sourceDataCommandSecurity ch Passive [RType TA, List args] getAllLineRespC stor :: MonadResource m => FTP.Handle -> String -> RTypeCode -> Consumer ByteString m () stor ch loc rtype =- sourceDataCommandSecurity ch Passive [RType rtype, Stor loc] $ sendType rtype+ sourceDataCommandSecurity ch Passive [RType rtype, Stor loc]+ $ sendType rtype