116116//! [`TcpListener`]: https://docs.rs/tokio-core/0.1/tokio_core/net/struct.TcpListener.html 
117117
118118use  crate :: codec:: { Codec ,  RecvError ,  UserError } ; 
119- use  crate :: frame:: { self ,  Pseudo ,  PushPromiseHeaderError ,  Reason ,  Settings ,  StreamId } ; 
119+ use  crate :: frame:: { 
120+     self ,  Pseudo ,  PushPromiseHeaderError ,  Reason ,  Settings ,  StreamId , 
121+ } ; 
120122use  crate :: proto:: { self ,  Config ,  Prioritized } ; 
121123use  crate :: { FlowControl ,  PingPong ,  RecvStream ,  SendStream } ; 
122124
@@ -396,15 +398,18 @@ where
396398    /// Accept the next incoming request on this connection. 
397399     pub  async  fn  accept ( 
398400        & mut  self , 
399-     )  -> Option < Result < ( Request < RecvStream > ,  SendResponse < B > ) ,  crate :: Error > >  { 
401+     )  -> Option < Result < ( Request < RecvStream > ,  SendResponse < B > ) ,  crate :: Error > > 
402+     { 
400403        futures_util:: future:: poll_fn ( move  |cx| self . poll_accept ( cx) ) . await 
401404    } 
402405
403406    #[ doc( hidden) ]  
404407    pub  fn  poll_accept ( 
405408        & mut  self , 
406409        cx :  & mut  Context < ' _ > , 
407-     )  -> Poll < Option < Result < ( Request < RecvStream > ,  SendResponse < B > ) ,  crate :: Error > > >  { 
410+     )  -> Poll < 
411+         Option < Result < ( Request < RecvStream > ,  SendResponse < B > ) ,  crate :: Error > > , 
412+     >  { 
408413        // Always try to advance the internal state. Getting Pending also is 
409414        // needed to allow this function to return Pending. 
410415        if  let  Poll :: Ready ( _)  = self . poll_closed ( cx) ? { 
@@ -416,7 +421,8 @@ where
416421        if  let  Some ( inner)  = self . connection . next_incoming ( )  { 
417422            tracing:: trace!( "received incoming" ) ; 
418423            let  ( head,  _)  = inner. take_request ( ) . into_parts ( ) ; 
419-             let  body = RecvStream :: new ( FlowControl :: new ( inner. clone_to_opaque ( ) ) ) ; 
424+             let  body =
425+                 RecvStream :: new ( FlowControl :: new ( inner. clone_to_opaque ( ) ) ) ; 
420426
421427            let  request = Request :: from_parts ( head,  body) ; 
422428            let  respond = SendResponse  {  inner } ; 
@@ -462,7 +468,10 @@ where
462468     /// 
463469     /// Returns an error if a previous call is still pending acknowledgement 
464470     /// from the remote endpoint. 
465-      pub  fn  set_initial_window_size ( & mut  self ,  size :  u32 )  -> Result < ( ) ,  crate :: Error >  { 
471+      pub  fn  set_initial_window_size ( 
472+         & mut  self , 
473+         size :  u32 , 
474+     )  -> Result < ( ) ,  crate :: Error >  { 
466475        assert ! ( size <= proto:: MAX_WINDOW_SIZE ) ; 
467476        self . connection . set_initial_window_size ( size) ?; 
468477        Ok ( ( ) ) 
@@ -481,13 +490,19 @@ where
481490     /// [`poll_accept`]: struct.Connection.html#method.poll_accept 
482491     /// [`RecvStream`]: ../struct.RecvStream.html 
483492     /// [`SendStream`]: ../struct.SendStream.html 
484-      pub  fn  poll_closed ( & mut  self ,  cx :  & mut  Context )  -> Poll < Result < ( ) ,  crate :: Error > >  { 
493+      pub  fn  poll_closed ( 
494+         & mut  self , 
495+         cx :  & mut  Context , 
496+     )  -> Poll < Result < ( ) ,  crate :: Error > >  { 
485497        self . connection . poll ( cx) . map_err ( Into :: into) 
486498    } 
487499
488500    #[ doc( hidden) ]  
489501    #[ deprecated( note = "renamed to poll_closed" ) ]  
490-     pub  fn  poll_close ( & mut  self ,  cx :  & mut  Context )  -> Poll < Result < ( ) ,  crate :: Error > >  { 
502+     pub  fn  poll_close ( 
503+         & mut  self , 
504+         cx :  & mut  Context , 
505+     )  -> Poll < Result < ( ) ,  crate :: Error > >  { 
491506        self . poll_closed ( cx) 
492507    } 
493508
@@ -539,7 +554,10 @@ where
539554{ 
540555    type  Item  = Result < ( Request < RecvStream > ,  SendResponse < B > ) ,  crate :: Error > ; 
541556
542-     fn  poll_next ( mut  self :  Pin < & mut  Self > ,  cx :  & mut  Context < ' _ > )  -> Poll < Option < Self :: Item > >  { 
557+     fn  poll_next ( 
558+         mut  self :  Pin < & mut  Self > , 
559+         cx :  & mut  Context < ' _ > , 
560+     )  -> Poll < Option < Self :: Item > >  { 
543561        self . poll_accept ( cx) 
544562    } 
545563} 
@@ -586,7 +604,9 @@ impl Builder {
586604     /// ``` 
587605     pub  fn  new ( )  -> Builder  { 
588606        Builder  { 
589-             reset_stream_duration :  Duration :: from_secs ( proto:: DEFAULT_RESET_STREAM_SECS ) , 
607+             reset_stream_duration :  Duration :: from_secs ( 
608+                 proto:: DEFAULT_RESET_STREAM_SECS , 
609+             ) , 
590610            reset_stream_max :  proto:: DEFAULT_RESET_STREAM_MAX , 
591611            settings :  Settings :: default ( ) , 
592612            initial_target_connection_window_size :  None , 
@@ -1023,7 +1043,10 @@ impl<B: Buf> SendResponse<B> {
10231043     /// 
10241044     /// Calling this method after having called `send_response` will return 
10251045     /// a user error. 
1026-      pub  fn  poll_reset ( & mut  self ,  cx :  & mut  Context )  -> Poll < Result < Reason ,  crate :: Error > >  { 
1046+      pub  fn  poll_reset ( 
1047+         & mut  self , 
1048+         cx :  & mut  Context , 
1049+     )  -> Poll < Result < Reason ,  crate :: Error > >  { 
10271050        self . inner . poll_reset ( cx,  proto:: PollReset :: AwaitingHeaders ) 
10281051    } 
10291052
@@ -1095,7 +1118,10 @@ impl<B: Buf> SendPushedResponse<B> {
10951118     /// 
10961119     /// Calling this method after having called `send_response` will return 
10971120     /// a user error. 
1098-      pub  fn  poll_reset ( & mut  self ,  cx :  & mut  Context )  -> Poll < Result < Reason ,  crate :: Error > >  { 
1121+      pub  fn  poll_reset ( 
1122+         & mut  self , 
1123+         cx :  & mut  Context , 
1124+     )  -> Poll < Result < Reason ,  crate :: Error > >  { 
10991125        self . inner . poll_reset ( cx) 
11001126    } 
11011127
@@ -1124,9 +1150,13 @@ where
11241150{ 
11251151    type  Output  = Result < Codec < T ,  B > ,  crate :: Error > ; 
11261152
1127-     fn  poll ( mut  self :  Pin < & mut  Self > ,  cx :  & mut  Context < ' _ > )  -> Poll < Self :: Output >  { 
1153+     fn  poll ( 
1154+         mut  self :  Pin < & mut  Self > , 
1155+         cx :  & mut  Context < ' _ > , 
1156+     )  -> Poll < Self :: Output >  { 
11281157        // Flush the codec 
1129-         ready ! ( self . codec. as_mut( ) . unwrap( ) . flush( cx) ) . map_err ( crate :: Error :: from_io) ?; 
1158+         ready ! ( self . codec. as_mut( ) . unwrap( ) . flush( cx) ) 
1159+             . map_err ( crate :: Error :: from_io) ?; 
11301160
11311161        // Return the codec 
11321162        Poll :: Ready ( Ok ( self . codec . take ( ) . unwrap ( ) ) ) 
@@ -1153,18 +1183,23 @@ where
11531183{ 
11541184    type  Output  = Result < Codec < T ,  B > ,  crate :: Error > ; 
11551185
1156-     fn  poll ( mut  self :  Pin < & mut  Self > ,  cx :  & mut  Context < ' _ > )  -> Poll < Self :: Output >  { 
1186+     fn  poll ( 
1187+         mut  self :  Pin < & mut  Self > , 
1188+         cx :  & mut  Context < ' _ > , 
1189+     )  -> Poll < Self :: Output >  { 
11571190        let  mut  buf = [ 0 ;  24 ] ; 
11581191        let  mut  rem = PREFACE . len ( )  - self . pos ; 
11591192
11601193        while  rem > 0  { 
11611194            let  n = ready ! ( Pin :: new( self . inner_mut( ) ) . poll_read( cx,  & mut  buf[ ..rem] ) ) 
11621195                . map_err ( crate :: Error :: from_io) ?; 
11631196            if  n == 0  { 
1164-                 return  Poll :: Ready ( Err ( crate :: Error :: from_io ( io:: Error :: new ( 
1165-                     io:: ErrorKind :: UnexpectedEof , 
1166-                     "connection closed before reading preface" , 
1167-                 ) ) ) ) ; 
1197+                 return  Poll :: Ready ( Err ( crate :: Error :: from_io ( 
1198+                     io:: Error :: new ( 
1199+                         io:: ErrorKind :: UnexpectedEof , 
1200+                         "connection closed before reading preface" , 
1201+                     ) , 
1202+                 ) ) ) ; 
11681203            } 
11691204
11701205            if  PREFACE [ self . pos ..self . pos  + n]  != buf[ ..n]  { 
@@ -1190,7 +1225,10 @@ where
11901225{ 
11911226    type  Output  = Result < Connection < T ,  B > ,  crate :: Error > ; 
11921227
1193-     fn  poll ( mut  self :  Pin < & mut  Self > ,  cx :  & mut  Context < ' _ > )  -> Poll < Self :: Output >  { 
1228+     fn  poll ( 
1229+         mut  self :  Pin < & mut  Self > , 
1230+         cx :  & mut  Context < ' _ > , 
1231+     )  -> Poll < Self :: Output >  { 
11941232        let  span = self . span . clone ( ) ;  // XXX(eliza): T_T 
11951233        let  _e = span. enter ( ) ; 
11961234        tracing:: trace!( state = ?self . state) ; 
@@ -1245,7 +1283,8 @@ where
12451283
12461284            tracing:: trace!( "connection established!" ) ; 
12471285            let  mut  c = Connection  {  connection } ; 
1248-             if  let  Some ( sz)  = self . builder . initial_target_connection_window_size  { 
1286+             if  let  Some ( sz)  = self . builder . initial_target_connection_window_size 
1287+             { 
12491288                c. set_target_window_size ( sz) ; 
12501289            } 
12511290            Ok ( c) 
@@ -1383,7 +1422,9 @@ impl proto::Peer for Peer {
13831422
13841423        // Specifying :status for a request is a protocol error 
13851424        if  pseudo. status . is_some ( )  { 
1386-             tracing:: trace!( "malformed headers: :status field on request; PROTOCOL_ERROR" ) ; 
1425+             tracing:: trace!( 
1426+                 "malformed headers: :status field on request; PROTOCOL_ERROR" 
1427+             ) ; 
13871428            return  Err ( RecvError :: Connection ( Reason :: PROTOCOL_ERROR ) ) ; 
13881429        } 
13891430
@@ -1393,14 +1434,21 @@ impl proto::Peer for Peer {
13931434        // A request translated from HTTP/1 must not include the :authority 
13941435        // header 
13951436        if  let  Some ( authority)  = pseudo. authority  { 
1396-             let  maybe_authority = uri:: Authority :: from_maybe_shared ( authority. clone ( ) . into_inner ( ) ) ; 
1397-             parts. authority  = Some ( maybe_authority. or_else ( |why| { 
1398-                 malformed ! ( 
1399-                     "malformed headers: malformed authority ({:?}): {}" , 
1400-                     authority, 
1401-                     why, 
1402-                 ) 
1403-             } ) ?) ; 
1437+             // When connecting to a UNIX Domain Socket (UDS), then we might get a path for the 
1438+             // authority field. If it's a local path and exists, then we do not error in that case 
1439+             // and assume an UDS. 
1440+             if  !authority. as_str ( ) . ends_with ( ".sock" )  { 
1441+                 let  maybe_authority = uri:: Authority :: from_maybe_shared ( 
1442+                     authority. clone ( ) . into_inner ( ) , 
1443+                 ) ; 
1444+                 parts. authority  = Some ( maybe_authority. or_else ( |why| { 
1445+                     malformed ! ( 
1446+                         "malformed headers: malformed authority ({:?}): {}" , 
1447+                         authority, 
1448+                         why, 
1449+                     ) 
1450+                 } ) ?) ; 
1451+             } 
14041452        } 
14051453
14061454        // A :scheme is required, except CONNECT. 
@@ -1437,9 +1485,14 @@ impl proto::Peer for Peer {
14371485                malformed ! ( "malformed headers: missing path" ) ; 
14381486            } 
14391487
1440-             let  maybe_path = uri:: PathAndQuery :: from_maybe_shared ( path. clone ( ) . into_inner ( ) ) ; 
1488+             let  maybe_path =
1489+                 uri:: PathAndQuery :: from_maybe_shared ( path. clone ( ) . into_inner ( ) ) ; 
14411490            parts. path_and_query  = Some ( maybe_path. or_else ( |why| { 
1442-                 malformed ! ( "malformed headers: malformed path ({:?}): {}" ,  path,  why, ) 
1491+                 malformed ! ( 
1492+                     "malformed headers: malformed path ({:?}): {}" , 
1493+                     path, 
1494+                     why, 
1495+                 ) 
14431496            } ) ?) ; 
14441497        } 
14451498
@@ -1474,7 +1527,9 @@ where
14741527    fn  fmt ( & self ,  f :  & mut  fmt:: Formatter )  -> Result < ( ) ,  fmt:: Error >  { 
14751528        match  * self  { 
14761529            Handshaking :: Flushing ( _)  => write ! ( f,  "Handshaking::Flushing(_)" ) , 
1477-             Handshaking :: ReadingPreface ( _)  => write ! ( f,  "Handshaking::ReadingPreface(_)" ) , 
1530+             Handshaking :: ReadingPreface ( _)  => { 
1531+                 write ! ( f,  "Handshaking::ReadingPreface(_)" ) 
1532+             } 
14781533            Handshaking :: Empty  => write ! ( f,  "Handshaking::Empty" ) , 
14791534        } 
14801535    } 
@@ -1498,7 +1553,9 @@ where
14981553{ 
14991554    #[ inline]  
15001555    fn  from ( read :  ReadPreface < T ,  Prioritized < B > > )  -> Self  { 
1501-         Handshaking :: ReadingPreface ( read. instrument ( tracing:: trace_span!( "read_preface" ) ) ) 
1556+         Handshaking :: ReadingPreface ( 
1557+             read. instrument ( tracing:: trace_span!( "read_preface" ) ) , 
1558+         ) 
15021559    } 
15031560} 
15041561
0 commit comments