FTP client package for Go
Go to file
2016-03-04 00:34:31 -05:00
.travis.yml Add Go 1.6 test target and bump 1.5 to 1.5.3 2016-02-29 15:44:32 -05:00
.vsftpd.conf Use localhost to test IPv6 connectivity 2015-08-18 22:58:00 +02:00
client_multiline_test.go Create mock for multiline test 2015-08-29 15:26:40 +02:00
client_test.go Make ServerConn safe for concurrent use 2016-03-03 14:30:28 -05:00
ftp.go Make ServerConn safe for concurrent use 2016-03-03 14:30:28 -05:00
LICENSE Update copyright years. 2013-02-17 10:34:01 +01:00
parse_test.go Another fix for the line parser 2015-12-28 12:17:09 +01:00
README.md update readme with concurrency notes 2016-03-04 00:34:31 -05:00
status.go Add comments to make golint happy. 2015-03-05 11:57:38 +01:00

goftp

Build Status Coverage Status Go ReportCard

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

Documentation

http://godoc.org/github.com/jlaffaye/ftp

Concurrency Notes

ServerConn is safe for concurrent access. What this means in practice is that you can dial a connection to your FTP server, login, and pass around the resulting ServerConn to multiple goroutines. However, this does not mean that you can simultaneously upload or download multiple files. Because of limitations inherent to the FTP protocol, there is a lock around these kinds of methods. The user also needs to be aware that any call to ChangeDir() or similar will be felt across every goroutine accessing that session. It is best to handle those calls synchronously, eg immediately after logging into the FTP server.