@@ -402,6 +402,11 @@ pub fn cancel_query<T>(params: T, ssl: &SslMode, data: CancelData)
402402 Ok ( ( ) )
403403}
404404
405+ fn bad_response ( ) -> std_io:: Error {
406+ std_io:: Error :: new ( std_io:: ErrorKind :: InvalidInput ,
407+ "the server returned an unexpected response" )
408+ }
409+
405410/// An enumeration of transaction isolation levels.
406411///
407412/// See the [Postgres documentation](http://www.postgresql.org/docs/9.4/static/transaction-iso.html)
@@ -451,7 +456,7 @@ impl IsolationLevel {
451456 } else if raw. eq_ignore_ascii_case ( "SERIALIZABLE" ) {
452457 Ok ( IsolationLevel :: Serializable )
453458 } else {
454- Err ( Error :: BadResponse )
459+ Err ( Error :: IoError ( bad_response ( ) ) )
455460 }
456461 }
457462}
@@ -548,7 +553,7 @@ impl InnerConnection {
548553 }
549554 ReadyForQuery { .. } => break ,
550555 ErrorResponse { fields } => return DbError :: new_connect ( fields) ,
551- _ => return Err ( ConnectError :: BadResponse ) ,
556+ _ => return Err ( ConnectError :: IoError ( bad_response ( ) ) ) ,
552557 }
553558 }
554559
@@ -659,13 +664,13 @@ impl InnerConnection {
659664 | AuthenticationGSS
660665 | AuthenticationSSPI => return Err ( ConnectError :: UnsupportedAuthentication ) ,
661666 ErrorResponse { fields } => return DbError :: new_connect ( fields) ,
662- _ => return Err ( ConnectError :: BadResponse )
667+ _ => return Err ( ConnectError :: IoError ( bad_response ( ) ) )
663668 }
664669
665670 match try!( self . read_message ( ) ) {
666671 AuthenticationOk => Ok ( ( ) ) ,
667672 ErrorResponse { fields } => return DbError :: new_connect ( fields) ,
668- _ => return Err ( ConnectError :: BadResponse )
673+ _ => return Err ( ConnectError :: IoError ( bad_response ( ) ) )
669674 }
670675 }
671676
@@ -1469,7 +1474,7 @@ impl<'conn> Statement<'conn> {
14691474 }
14701475 _ => {
14711476 conn. desynchronized = true ;
1472- Err ( Error :: BadResponse )
1477+ Err ( Error :: IoError ( bad_response ( ) ) )
14731478 }
14741479 }
14751480 }
@@ -1545,7 +1550,7 @@ impl<'conn> Statement<'conn> {
15451550 }
15461551 _ => {
15471552 conn. desynchronized = true ;
1548- return Err ( Error :: BadResponse ) ;
1553+ return Err ( Error :: IoError ( bad_response ( ) ) ) ;
15491554 }
15501555 }
15511556 }
@@ -1693,7 +1698,7 @@ fn read_rows(conn: &mut InnerConnection, buf: &mut VecDeque<Vec<Option<Vec<u8>>>
16931698 }
16941699 _ => {
16951700 conn. desynchronized = true ;
1696- return Err ( Error :: BadResponse ) ;
1701+ return Err ( Error :: IoError ( bad_response ( ) ) ) ;
16971702 }
16981703 }
16991704 }
@@ -2136,15 +2141,15 @@ impl<'a> CopyInStatement<'a> {
21362141 }
21372142 _ => {
21382143 conn. desynchronized = true ;
2139- return Err ( Error :: BadResponse ) ;
2144+ return Err ( Error :: IoError ( bad_response ( ) ) ) ;
21402145 }
21412146 }
21422147
21432148 match try!( conn. read_message ( ) ) {
21442149 CopyInResponse { .. } => { }
21452150 _ => {
21462151 conn. desynchronized = true ;
2147- return Err ( Error :: BadResponse ) ;
2152+ return Err ( Error :: IoError ( bad_response ( ) ) ) ;
21482153 }
21492154 }
21502155
@@ -2213,7 +2218,7 @@ impl<'a> CopyInStatement<'a> {
22132218 }
22142219 _ => {
22152220 conn. desynchronized = true ;
2216- return Err ( Error :: BadResponse ) ;
2221+ return Err ( Error :: IoError ( bad_response ( ) ) ) ;
22172222 }
22182223 } ;
22192224
0 commit comments