anchor.diff:      { Server : string
         Request : FtpWebRequest }
   
  -/// Gets a connection to the Ftp server
  -let private getServerInfo (serverNameIp : string) (user : string) (pwd : string) ftpMethod = 
  +/// Gets a connection to the FTP server
  +let getServerInfo (serverNameIp : string) (user : string) (password : string) ftpMethod = 
       let ftpRequest = (WebRequest.Create serverNameIp) :?> FtpWebRequest
  -    ftpRequest.Credentials <- new NetworkCredential(user, pwd)
  +    ftpRequest.Credentials <- new NetworkCredential(user, password)
       ftpRequest.Method <- ftpMethod
       { Server = serverNameIp
         Request = ftpRequest }
  
positive.code: ﻿/// Contains helpers which allow to upload a whole folder/specific file into a Ftp Server. 
  /// Uses `Passive Mode` FTP and handles all files as binary (and not ASCII)
  /// Assumes direct network connectivity to destination Ftp server (not via a proxy)
  /// Does not support FTPS and SFTP
  module Fake.FtpHelper
  
  open System
  
negative.code:             use response = (si.Request.GetResponse() :?> FtpWebResponse)
              logfn "create folder status = %s" (response.StatusDescription)
  
  /// Uploads a given local folder to a given root dir on a FTP server.
  /// ## Parameters
  ///  - `srcPath` - The local server path from which files need to be uploaded
  ///  - `rootDir` - The remote root dir where files need to be uploaded, leave this as empty, if files need to be uploaded to root dir of FTP server
  ///  - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/")
  ///  - `user` - FTP Server login name (ex: "joebloggs")
  ///  - `pwd` - FTP Server login password (ex: "J0Eblogg5")
  let rec uploadAFolder server user pwd (srcPath : string) (rootDir : string) = 
      logfn "folder to upload=%s" srcPath
      let dirInfo = new DirectoryInfo(srcPath)
  