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