ftp/README.md

29 lines
1.2 KiB
Markdown
Raw Normal View History

2013-07-08 20:34:49 +02:00
# goftp #
2015-08-18 19:34:22 +02:00
[![Build Status](https://travis-ci.org/jlaffaye/ftp.svg?branch=master)](https://travis-ci.org/jlaffaye/ftp)
[![Coverage Status](https://coveralls.io/repos/jlaffaye/ftp/badge.svg?branch=master&service=github)](https://coveralls.io/github/jlaffaye/ftp?branch=master)
2015-08-28 15:52:55 +02:00
[![Go ReportCard](http://goreportcard.com/badge/jlaffaye/ftp)](http://goreportcard.com/report/jlaffaye/ftp)
2015-08-18 19:34:22 +02:00
2013-07-08 20:34:49 +02:00
A FTP client package for Go
2016-02-10 19:38:39 +01:00
## Install ##
```
go get -u github.com/jlaffaye/ftp
```
2013-07-08 20:34:49 +02:00
## Documentation ##
2014-03-14 14:11:24 +01:00
http://godoc.org/github.com/jlaffaye/ftp
2016-03-04 06:34:31 +01:00
## 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.