diff --git a/auth.go b/auth.go index 046f288d..59b49850 100644 --- a/auth.go +++ b/auth.go @@ -179,9 +179,9 @@ func (as *AuthServer) ValidateHeader(header []string, method Method, ur *url.URL return nil } -// AuthClient is an object that helps a client to send its credentials to a +// authClient is an object that helps a client to send its credentials to a // server. -type AuthClient struct { +type authClient struct { user string pass string method AuthMethod @@ -189,9 +189,9 @@ type AuthClient struct { nonce string } -// NewAuthClient allocates an AuthClient. +// newAuthClient allocates an authClient. // header is the WWW-Authenticate header provided by the server. -func NewAuthClient(header []string, user string, pass string) (*AuthClient, error) { +func newAuthClient(header []string, user string, pass string) (*authClient, error) { // prefer digest headerAuthDigest := func() string { for _, v := range header { @@ -217,7 +217,7 @@ func NewAuthClient(header []string, user string, pass string) (*AuthClient, erro return nil, fmt.Errorf("nonce not provided") } - return &AuthClient{ + return &authClient{ user: user, pass: pass, method: Digest, @@ -245,7 +245,7 @@ func NewAuthClient(header []string, user string, pass string) (*AuthClient, erro return nil, fmt.Errorf("realm not provided") } - return &AuthClient{ + return &authClient{ user: user, pass: pass, method: Basic, @@ -258,7 +258,7 @@ func NewAuthClient(header []string, user string, pass string) (*AuthClient, erro // GenerateHeader generates an Authorization Header that allows to authenticate a request with // the given method and url. -func (ac *AuthClient) GenerateHeader(method Method, ur *url.URL) []string { +func (ac *authClient) GenerateHeader(method Method, ur *url.URL) []string { switch ac.method { case Basic: response := base64.StdEncoding.EncodeToString([]byte(ac.user + ":" + ac.pass)) diff --git a/auth_test.go b/auth_test.go index 6c243e84..70780dc7 100644 --- a/auth_test.go +++ b/auth_test.go @@ -31,7 +31,7 @@ func TestAuthMethods(t *testing.T) { authServer := NewAuthServer("testuser", "testpass", c.methods) wwwAuthenticate := authServer.GenerateHeader() - ac, err := NewAuthClient(wwwAuthenticate, "testuser", "testpass") + ac, err := newAuthClient(wwwAuthenticate, "testuser", "testpass") require.NoError(t, err) authorization := ac.GenerateHeader(ANNOUNCE, &url.URL{Scheme: "rtsp", Host: "myhost", Path: "mypath"}) @@ -47,7 +47,7 @@ func TestAuthBasePath(t *testing.T) { authServer := NewAuthServer("testuser", "testpass", []AuthMethod{Basic, Digest}) wwwAuthenticate := authServer.GenerateHeader() - ac, err := NewAuthClient(wwwAuthenticate, "testuser", "testpass") + ac, err := newAuthClient(wwwAuthenticate, "testuser", "testpass") require.NoError(t, err) authorization := ac.GenerateHeader(ANNOUNCE, &url.URL{Scheme: "rtsp", Host: "myhost", Path: "mypath/"}) diff --git a/conn-client.go b/conn-client.go index 64d25a2d..bec6ee7d 100644 --- a/conn-client.go +++ b/conn-client.go @@ -45,7 +45,7 @@ type ConnClient struct { bw *bufio.Writer session string curCSeq int - auth *AuthClient + auth *authClient } // NewConnClient allocates a ConnClient. See ConnClientConf for the options. @@ -149,7 +149,7 @@ func (c *ConnClient) Do(req *Request) (*Response, error) { // setup authentication if res.StatusCode == StatusUnauthorized && req.Url.User != nil && c.auth == nil { pass, _ := req.Url.User.Password() - auth, err := NewAuthClient(res.Header["WWW-Authenticate"], req.Url.User.Username(), pass) + auth, err := newAuthClient(res.Header["WWW-Authenticate"], req.Url.User.Username(), pass) if err != nil { return nil, fmt.Errorf("unable to setup authentication: %s", err) }