@@ -550,12 +550,34 @@ impl Builder {
550550        self 
551551    } 
552552
553-     pub ( super )  fn  h09_responses ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
553+     /// Set whether HTTP/0.9 responses should be tolerated. 
554+      /// 
555+      /// Default is false. 
556+      pub  fn  http09_responses ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
554557        self . h09_responses  = enabled; 
555558        self 
556559    } 
557560
558-     pub ( crate )  fn  h1_allow_spaces_after_header_name_in_responses ( 
561+     /// Set whether HTTP/1 connections will accept spaces between header names 
562+      /// and the colon that follow them in responses. 
563+      /// 
564+      /// You probably don't need this, here is what [RFC 7230 Section 3.2.4.] has 
565+      /// to say about it: 
566+      /// 
567+      /// > No whitespace is allowed between the header field-name and colon. In 
568+      /// > the past, differences in the handling of such whitespace have led to 
569+      /// > security vulnerabilities in request routing and response handling. A 
570+      /// > server MUST reject any received request message that contains 
571+      /// > whitespace between a header field-name and colon with a response code 
572+      /// > of 400 (Bad Request). A proxy MUST remove any such whitespace from a 
573+      /// > response message before forwarding the message downstream. 
574+      /// 
575+      /// Note that this setting does not affect HTTP/2. 
576+      /// 
577+      /// Default is false. 
578+      /// 
579+      /// [RFC 7230 Section 3.2.4.]: https://tools.ietf.org/html/rfc7230#section-3.2.4 
580+      pub  fn  http1_allow_spaces_after_header_name_in_responses ( 
559581        & mut  self , 
560582        enabled :  bool , 
561583    )  -> & mut  Builder  { 
@@ -564,24 +586,51 @@ impl Builder {
564586        self 
565587    } 
566588
567-     pub ( super )  fn  h1_title_case_headers ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
589+     /// Set whether HTTP/1 connections will write header names as title case at 
590+      /// the socket level. 
591+      /// 
592+      /// Note that this setting does not affect HTTP/2. 
593+      /// 
594+      /// Default is false. 
595+      pub  fn  http1_title_case_headers ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
568596        self . h1_title_case_headers  = enabled; 
569597        self 
570598    } 
571599
572-     pub ( crate )  fn  h1_preserve_header_case ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
600+     /// Set whether HTTP/1 connections will write header names as provided 
601+      /// at the socket level. 
602+      /// 
603+      /// Note that this setting does not affect HTTP/2. 
604+      /// 
605+      /// Default is false. 
606+      pub  fn  http1_preserve_header_case ( & mut  self ,  enabled :  bool )  -> & mut  Builder  { 
573607        self . h1_preserve_header_case  = enabled; 
574608        self 
575609    } 
576610
577-     pub ( super )  fn  h1_read_buf_exact_size ( & mut  self ,  sz :  Option < usize > )  -> & mut  Builder  { 
611+     /// Sets the exact size of the read buffer to *always* use. 
612+      /// 
613+      /// Note that setting this option unsets the `http1_max_buf_size` option. 
614+      /// 
615+      /// Default is an adaptive read buffer. 
616+      pub  fn  http1_read_buf_exact_size ( & mut  self ,  sz :  Option < usize > )  -> & mut  Builder  { 
578617        self . h1_read_buf_exact_size  = sz; 
579618        self . h1_max_buf_size  = None ; 
580619        self 
581620    } 
582621
622+     /// Set the maximum buffer size for the connection. 
623+      /// 
624+      /// Default is ~400kb. 
625+      /// 
626+      /// Note that setting this option unsets the `http1_read_exact_buf_size` option. 
627+      /// 
628+      /// # Panics 
629+      /// 
630+      /// The minimum value allowed is 8192. This method panics if the passed `max` is less than the minimum. 
583631     #[ cfg( feature = "http1" ) ]  
584-     pub ( super )  fn  h1_max_buf_size ( & mut  self ,  max :  usize )  -> & mut  Self  { 
632+     #[ cfg_attr( docsrs,  doc( cfg( feature = "http1" ) ) ) ]  
633+     pub  fn  http1_max_buf_size ( & mut  self ,  max :  usize )  -> & mut  Self  { 
585634        assert ! ( 
586635            max >= proto:: h1:: MINIMUM_MAX_BUFFER_SIZE , 
587636            "the max_buf_size cannot be smaller than the minimum that h1 specifies." 
0 commit comments