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