Remove note about 0x00 concatenation rule and add note about pseudo-headers

This commit is contained in:
Tatsuhiro Tsujikawa 2014-08-08 23:32:45 +09:00
parent a8b7fa524f
commit 24edd2972d
1 changed files with 28 additions and 34 deletions

View File

@ -1344,12 +1344,6 @@ typedef int (*nghttp2_on_begin_headers_callback)
* `nghttp2_check_header_value()` provide simple validation against * `nghttp2_check_header_value()` provide simple validation against
* HTTP2 header field construction rule. * HTTP2 header field construction rule.
* *
* One more thing to note is that the |value| may contain ``NULL``
* (``0x00``) characters. It is used to concatenate header values
* which share the same header field name. The application should
* split these values if it wants to get individual value. This
* concatenation is used in order to keep the ordering of headers.
*
* If the application uses `nghttp2_session_mem_recv()`, it can return * If the application uses `nghttp2_session_mem_recv()`, it can return
* :enum:`NGHTTP2_ERR_PAUSE` to make `nghttp2_session_mem_recv()` * :enum:`NGHTTP2_ERR_PAUSE` to make `nghttp2_session_mem_recv()`
* return without processing further input bytes. The memory pointed * return without processing further input bytes. The memory pointed
@ -2204,18 +2198,18 @@ int nghttp2_priority_spec_check_default(const nghttp2_priority_spec *pri_spec);
* :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.
* *
* The |nva| is an array of name/value pair :type:`nghttp2_nv` with * The |nva| is an array of name/value pair :type:`nghttp2_nv` with
* |nvlen| elements. The value is opaque sequence of bytes and * |nvlen| elements. The application is responsible to include
* therefore can contain NULL byte (0x0). If the application requires * required pseudo-header fields (header field whose name starts with
* that the ordering of values for a single header field name * ":") in |nva| and must place pseudo-headers before regular header
* appearing in different header fields, it has to concatenate them * fields.
* using NULL byte (0x0) before passing them to this function. *
* This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|. The order of elements in
* |nva| is preserved.
* *
* HTTP/2 specification has requirement about header fields in the * HTTP/2 specification has requirement about header fields in the
* request HEADERS. See the specification for more details. * request HEADERS. See the specification for more details.
* *
* This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|.
*
* If |data_prd| is not ``NULL``, it provides data which will be sent * If |data_prd| is not ``NULL``, it provides data which will be sent
* in subsequent DATA frames. In this case, a method that allows * in subsequent DATA frames. In this case, a method that allows
* request message bodies * request message bodies
@ -2259,18 +2253,18 @@ int32_t nghttp2_submit_request(nghttp2_session *session,
* frames against the stream |stream_id|. * frames against the stream |stream_id|.
* *
* The |nva| is an array of name/value pair :type:`nghttp2_nv` with * The |nva| is an array of name/value pair :type:`nghttp2_nv` with
* |nvlen| elements. The value is opaque sequence of bytes and * |nvlen| elements. The application is responsible to include
* therefore can contain NULL byte (0x0). If the application requires * required pseudo-header fields (header field whose name starts with
* that the ordering of values for a single header field name * ":") in |nva| and must place pseudo-headers before regular header
* appearing in different header fields, it has to concatenate them * fields.
* using NULL byte (0x0) before passing them to this function. *
* This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|. The order of elements in
* |nva| is preserved.
* *
* HTTP/2 specification has requirement about header fields in the * HTTP/2 specification has requirement about header fields in the
* response HEADERS. See the specification for more details. * response HEADERS. See the specification for more details.
* *
* This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|.
*
* If |data_prd| is not ``NULL``, it provides data which will be sent * If |data_prd| is not ``NULL``, it provides data which will be sent
* in subsequent DATA frames. This function does not take ownership * in subsequent DATA frames. This function does not take ownership
* of the |data_prd|. The function copies the members of the * of the |data_prd|. The function copies the members of the
@ -2329,14 +2323,14 @@ int nghttp2_submit_response(nghttp2_session *session,
* :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`. * :enum:`NGHTTP2_MAX_WEIGHT`, it becomes :enum:`NGHTTP2_MAX_WEIGHT`.
* *
* The |nva| is an array of name/value pair :type:`nghttp2_nv` with * The |nva| is an array of name/value pair :type:`nghttp2_nv` with
* |nvlen| elements. The value is opaque sequence of bytes and * |nvlen| elements. The application is responsible to include
* therefore can contain NULL byte (0x0). If the application requires * required pseudo-header fields (header field whose name starts with
* that the ordering of values for a single header field name * ":") in |nva| and must place pseudo-headers before regular header
* appearing in different header fields, it has to concatenate them * fields.
* using NULL byte (0x0) before passing them to this function.
* *
* This function creates copies of all name/value pairs in |nva|. It * This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|. * also lower-cases all names in |nva|. The order of elements in
* |nva| is preserved.
* *
* The |stream_user_data| is a pointer to an arbitrary data which is * The |stream_user_data| is a pointer to an arbitrary data which is
* associated to the stream this frame will open. Therefore it is * associated to the stream this frame will open. Therefore it is
@ -2502,14 +2496,14 @@ int nghttp2_submit_settings(nghttp2_session *session, uint8_t flags,
* The |stream_id| must be client initiated stream ID. * The |stream_id| must be client initiated stream ID.
* *
* The |nva| is an array of name/value pair :type:`nghttp2_nv` with * The |nva| is an array of name/value pair :type:`nghttp2_nv` with
* |nvlen| elements. The value is opaque sequence of bytes and * |nvlen| elements. The application is responsible to include
* therefore can contain NULL byte (0x0). If the application requires * required pseudo-header fields (header field whose name starts with
* that the ordering of values for a single header field name * ":") in |nva| and must place pseudo-headers before regular header
* appearing in different header fields, it has to concatenate them * fields.
* using NULL byte (0x0) before passing them to this function.
* *
* This function creates copies of all name/value pairs in |nva|. It * This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|. * also lower-cases all names in |nva|. The order of elements in
* |nva| is preserved.
* *
* The |promised_stream_user_data| is a pointer to an arbitrary data * The |promised_stream_user_data| is a pointer to an arbitrary data
* which is associated to the promised stream this frame will open and * which is associated to the promised stream this frame will open and