@@ -581,43 +581,53 @@ func pack(h *smallWBuf, enc *encoder, reqid uint32,
581
581
return
582
582
}
583
583
584
- func (conn * Connection ) writeAuthRequest (w * bufio.Writer , scramble []byte ) (err error ) {
584
+ func (conn * Connection ) writeRequest (w * bufio.Writer , req Request ,
585
+ reqName string ) (err error ) {
585
586
var packet smallWBuf
586
- req := newAuthRequest (conn .opts .User , string (scramble ))
587
587
err = pack (& packet , newEncoder (& packet ), 0 , req , ignoreStreamId , conn .Schema )
588
588
589
589
if err != nil {
590
- return errors .New ("auth : pack error " + err .Error ())
590
+ return errors .New (reqName + " : pack error " + err .Error ())
591
591
}
592
592
if err := write (w , packet .b ); err != nil {
593
- return errors .New ("auth : write error " + err .Error ())
593
+ return errors .New (reqName + " : write error " + err .Error ())
594
594
}
595
595
if err = w .Flush (); err != nil {
596
- return errors .New ("auth : flush error " + err .Error ())
596
+ return errors .New (reqName + " : flush error " + err .Error ())
597
597
}
598
598
return
599
599
}
600
600
601
- func (conn * Connection ) readAuthResponse (r io.Reader ) (err error ) {
601
+ func (conn * Connection ) writeAuthRequest (w * bufio.Writer , scramble []byte ) (err error ) {
602
+ req := newAuthRequest (conn .opts .User , string (scramble ))
603
+ return conn .writeRequest (w , req , "auth" )
604
+ }
605
+
606
+ func (conn * Connection ) readResponse (r io.Reader ) (resp Response , err error ) {
602
607
respBytes , err := conn .read (r )
603
608
if err != nil {
604
- return errors .New ("auth: read error " + err .Error ())
609
+ return resp , errors .New ("auth: read error " + err .Error ())
605
610
}
606
- resp : = Response {buf : smallBuf {b : respBytes }}
611
+ resp = Response {buf : smallBuf {b : respBytes }}
607
612
err = resp .decodeHeader (conn .dec )
608
613
if err != nil {
609
- return errors .New ("auth: decode response header error " + err .Error ())
614
+ return resp , errors .New ("auth: decode response header error " + err .Error ())
610
615
}
611
616
err = resp .decodeBody ()
612
617
if err != nil {
613
618
switch err .(type ) {
614
619
case Error :
615
- return err
620
+ return resp , err
616
621
default :
617
- return errors .New ("auth: decode response body error " + err .Error ())
622
+ return resp , errors .New ("auth: decode response body error " + err .Error ())
618
623
}
619
624
}
620
- return
625
+ return resp , nil
626
+ }
627
+
628
+ func (conn * Connection ) readAuthResponse (r io.Reader ) (err error ) {
629
+ _ , err = conn .readResponse (r )
630
+ return err
621
631
}
622
632
623
633
func (conn * Connection ) createConnection (reconnect bool ) (err error ) {
0 commit comments