ftp

package module
v0.0.0-...-80fcd97 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2014 License: ISC Imports: 9 Imported by: 0

README

goftp

A FTP client package for Go

Documentation

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

Documentation

Overview

Package ftp implements a FTP client as described in RFC 959.

Index

Constants

View Source
const (
	// Positive Preliminary reply
	StatusInitiating    = 100
	StatusRestartMarker = 110
	StatusReadyMinute   = 120
	StatusAlreadyOpen   = 125
	StatusAboutToSend   = 150

	// Positive Completion reply
	StatusCommandOK             = 200
	StatusCommandNotImplemented = 202
	StatusSystem                = 211
	StatusDirectory             = 212
	StatusFile                  = 213
	StatusHelp                  = 214
	StatusName                  = 215
	StatusReady                 = 220
	StatusClosing               = 221
	StatusDataConnectionOpen    = 225
	StatusClosingDataConnection = 226
	StatusPassiveMode           = 227
	StatusLongPassiveMode       = 228
	StatusExtendedPassiveMode   = 229
	StatusLoggedIn              = 230
	StatusLoggedOut             = 231
	StatusLogoutAck             = 232
	StatusRequestedFileActionOK = 250
	StatusPathCreated           = 257

	// Positive Intermediate reply
	StatusUserOK             = 331
	StatusLoginNeedAccount   = 332
	StatusRequestFilePending = 350

	// Transient Negative Completion reply
	StatusNotAvailable             = 421
	StatusCanNotOpenDataConnection = 425
	StatusTransfertAborted         = 426
	StatusInvalidCredentials       = 430
	StatusHostUnavailable          = 434
	StatusFileActionIgnored        = 450
	StatusActionAborted            = 451
	Status452                      = 452

	// Permanent Negative Completion reply
	StatusBadCommand              = 500
	StatusBadArguments            = 501
	StatusNotImplemented          = 502
	StatusBadSequence             = 503
	StatusNotImplementedParameter = 504
	StatusNotLoggedIn             = 530
	StatusStorNeedAccount         = 532
	StatusFileUnavailable         = 550
	StatusPageTypeUnknown         = 551
	StatusExceededStorage         = 552
	StatusBadFileName             = 553
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Entry

type Entry struct {
	Name string
	Type EntryType
	Size uint64
	Time time.Time
}

Entry describes a file and is returned by List().

type EntryType

type EntryType int

EntryType describes the different types of an Entry.

const (
	EntryTypeFile EntryType = iota
	EntryTypeFolder
	EntryTypeLink
)

type ServerConn

type ServerConn struct {
	// contains filtered or unexported fields
}

ServerConn represents the connection to a remote FTP server.

func Connect

func Connect(addr string) (*ServerConn, error)

Connect initializes the connection to the specified ftp server address.

It is generally followed by a call to Login() as most FTP commands require an authenticated user.

func (*ServerConn) ChangeDir

func (c *ServerConn) ChangeDir(path string) error

ChangeDir issues a CWD FTP command, which changes the current directory to the specified path.

func (*ServerConn) ChangeDirToParent

func (c *ServerConn) ChangeDirToParent() error

ChangeDirToParent issues a CDUP FTP command, which changes the current directory to the parent directory. This is similar to a call to ChangeDir with a path set to "..".

func (*ServerConn) CurrentDir

func (c *ServerConn) CurrentDir() (string, error)

CurrentDir issues a PWD FTP command, which Returns the path of the current directory.

func (*ServerConn) Delete

func (c *ServerConn) Delete(path string) error

Delete issues a DELE FTP command to delete the specified file from the remote FTP server.

func (*ServerConn) List

func (c *ServerConn) List(path string) (entries []*Entry, err error)

List issues a LIST FTP command.

func (*ServerConn) Login

func (c *ServerConn) Login(user, password string) error

Login authenticates the client with specified user and password.

"anonymous"/"anonymous" is a common user/password scheme for FTP servers that allows anonymous read-only accounts.

func (*ServerConn) Logout

func (c *ServerConn) Logout() error

Logout issues a REIN FTP command to logout the current user.

func (*ServerConn) MakeDir

func (c *ServerConn) MakeDir(path string) error

MakeDir issues a MKD FTP command to create the specified directory on the remote FTP server.

func (*ServerConn) NameList

func (c *ServerConn) NameList(path string) (entries []string, err error)

NameList issues an NLST FTP command.

func (*ServerConn) NoOp

func (c *ServerConn) NoOp() error

NoOp issues a NOOP FTP command. NOOP has no effects and is usually used to prevent the remote FTP server to close the otherwise idle connection.

func (*ServerConn) Quit

func (c *ServerConn) Quit() error

Quit issues a QUIT FTP command to properly close the connection from the remote FTP server.

func (*ServerConn) RemoveDir

func (c *ServerConn) RemoveDir(path string) error

RemoveDir issues a RMD FTP command to remove the specified directory from the remote FTP server.

func (*ServerConn) Rename

func (c *ServerConn) Rename(from, to string) error

Rename renames a file on the remote FTP server.

func (*ServerConn) Retr

func (c *ServerConn) Retr(path string) (io.ReadCloser, error)

Retr issues a RETR FTP command to fetch the specified file from the remote FTP server.

The returned ReadCloser must be closed to cleanup the FTP data connection.

func (*ServerConn) Stor

func (c *ServerConn) Stor(path string, r io.Reader) error

Stor issues a STOR FTP command to store a file to the remote FTP server. Stor creates the specified file with the content of the io.Reader.

Hint: io.Pipe() can be used if an io.Writer is required.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL