Просмотр исходного кода

fix authentication frame type switch

Chris Bannister 10 лет назад
Родитель
Сommit
bb7a9ee2e8
2 измененных файлов с 14 добавлено и 2 удалено
  1. 2 2
      conn.go
  2. 12 0
      frame.go

+ 2 - 2
conn.go

@@ -255,12 +255,12 @@ func (c *Conn) authenticateHandshake(authFrame *authenticateFrame) error {
 		switch v := frame.(type) {
 		case error:
 			return v
-		case authSuccessFrame:
+		case *authSuccessFrame:
 			if challenger != nil {
 				return challenger.Success(v.data)
 			}
 			return nil
-		case authChallengeFrame:
+		case *authChallengeFrame:
 			resp, challenger, err = challenger.Challenge(v.data)
 			if err != nil {
 				return err

+ 12 - 0
frame.go

@@ -811,6 +811,10 @@ type authenticateFrame struct {
 	class string
 }
 
+func (a *authenticateFrame) String() string {
+	return fmt.Sprintf("[authenticate class=%q]", a.class)
+}
+
 func (f *framer) parseAuthenticateFrame() frame {
 	return &authenticateFrame{
 		frameHeader: *f.header,
@@ -824,6 +828,10 @@ type authSuccessFrame struct {
 	data []byte
 }
 
+func (a *authSuccessFrame) String() string {
+	return fmt.Sprintf("[auth_success data=%q]", a.data)
+}
+
 func (f *framer) parseAuthSuccessFrame() frame {
 	return &authSuccessFrame{
 		frameHeader: *f.header,
@@ -837,6 +845,10 @@ type authChallengeFrame struct {
 	data []byte
 }
 
+func (a *authChallengeFrame) String() string {
+	return fmt.Sprintf("[auth_challenge data=%q]", a.data)
+}
+
 func (f *framer) parseAuthChallengeFrame() frame {
 	return &authChallengeFrame{
 		frameHeader: *f.header,