packages feed

haskell-ftp-0.1.0.0: Ftp.hs

{-# LANGUAGE ViewPatterns #-}
import System.Environment (getArgs)
import Filesystem.Path.CurrentOS (decodeString)
import Data.Conduit.Network (runTCPServer, serverSettings, HostPreference(HostAny), serverNeedLocalAddr)
import Network.FTP.Server (ftpServer)
import Network.FTP.Backend.FileSystem (runFSBackend, FSConf(FSConf))

main :: IO ()
main = do
    [read -> port, d] <- getArgs
    let serverConf = (serverSettings port HostAny){serverNeedLocalAddr=True}
    runFSBackend (FSConf (decodeString d)) $
        runTCPServer serverConf ftpServer