Replace DialWithOptions with Dial

No need for a dedicated function as Dial can take no options.
This commit is contained in:
Julien Laffaye 2019-04-23 14:03:05 +02:00
parent 9b5a3addd7
commit e6de3d35bf
3 changed files with 6 additions and 11 deletions

View File

@ -16,7 +16,7 @@ go get -u github.com/jlaffaye/ftp
## Example ## ## Example ##
```go ```go
c, err := ftp.DialWithOptions("ftp.example.org:21", ftp.DialWithTimeout(5*time.Second)) c, err := ftp.Dial("ftp.example.org:21", ftp.DialWithTimeout(5*time.Second))
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -292,7 +292,7 @@ func openConn(t *testing.T, addr string, options ...DialOption) (*ftpMock, *Serv
} }
defer mock.Close() defer mock.Close()
c, err := DialWithOptions(mock.Addr(), options...) c, err := Dial(mock.Addr(), options...)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

13
ftp.go
View File

@ -40,7 +40,7 @@ type ServerConn struct {
mlstSupported bool mlstSupported bool
} }
// DialOption represents an option to start a new connection with DialWithOptions // DialOption represents an option to start a new connection with Dial
type DialOption struct { type DialOption struct {
setup func(do *dialOptions) setup func(do *dialOptions)
} }
@ -71,8 +71,8 @@ type Response struct {
closed bool closed bool
} }
// DialWithOptions connects to the specified address with optinal options // Dial connects to the specified address with optinal options
func DialWithOptions(addr string, options ...DialOption) (*ServerConn, error) { func Dial(addr string, options ...DialOption) (*ServerConn, error) {
do := &dialOptions{} do := &dialOptions{}
for _, option := range options { for _, option := range options {
option.setup(do) option.setup(do)
@ -197,17 +197,12 @@ func Connect(addr string) (*ServerConn, error) {
return Dial(addr) return Dial(addr)
} }
// Dial is like DialTimeout with no timeout
func Dial(addr string) (*ServerConn, error) {
return DialTimeout(addr, 0)
}
// DialTimeout initializes the connection to the specified ftp server address. // DialTimeout initializes the connection to the specified ftp server address.
// //
// It is generally followed by a call to Login() as most FTP commands require // It is generally followed by a call to Login() as most FTP commands require
// an authenticated user. // an authenticated user.
func DialTimeout(addr string, timeout time.Duration) (*ServerConn, error) { func DialTimeout(addr string, timeout time.Duration) (*ServerConn, error) {
return DialWithOptions(addr, DialWithTimeout(timeout)) return Dial(addr, DialWithTimeout(timeout))
} }
// Login authenticates the client with specified user and password. // Login authenticates the client with specified user and password.