Copilot commented on code in PR #13422:
URL: https://github.com/apache/trafficserver/pull/13422#discussion_r3640057658


##########
include/proxy/hdrs/HTTP.h:
##########
@@ -616,10 +633,70 @@ class HTTPHdr : public MIMEHdr
   void mark_early_data(bool flag = true) const;
   bool is_early_data() const;
 
+  /** Parse an HTTP/1.x request header incrementally from a raw buffer.
+   *
+   * Parses input data into the header's request fields. Call repeatedly with 
the same @p parser
+   * until a result other than @c ParseResult::CONT is returned. When @c 
ParseResult::DONE is
+   * returned, the request method, URL, version, and header fields are set on 
this header.
+   *
+   * @param[in,out] parser                Parser state. Must be the same 
object on each call for a given message.
+   * @param[in,out] start                 On entry, points to the first 
unparsed byte; on return,
+   *                                       advanced past all consumed bytes.
+   * @param[in]     end                   One past the last available byte of 
input.
+   * @param[in]     eof                   @c true if no more data will follow 
@p end.
+   * @param[in]     strict_uri_parsing    URI compliance level: @c 0 performs 
no compliance check; @c 1 rejects
+   *                                       the URI unless every character is a 
valid RFC 3986 URI character; @c 2
+   *                                       is more permissive, rejecting the 
URI only if it contains whitespace or
+   *                                       non-printable characters. Other 
values behave like @c 0.
+   * @param[in]     max_request_line_size Maximum byte length of the request 
line; exceeding it returns
+   *                                       @c ParseResult::ERROR.
+   * @param[in]     max_hdr_field_size    Maximum byte length of a single 
header field; exceeding it
+   *                                       returns @c ParseResult::ERROR.

Review Comment:
   The documentation for `max_hdr_field_size` implies it limits the serialized 
size of a header field, but the parser actually checks `field-name.size() + 
field-value.size()` (excluding the `: ` separator and CRLF). Clarifying this 
avoids misleading callers about what the limit means.
   
   This issue also appears on line 686 of the same file.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to