I want to send headers to the server in two or more steps, so as not to allocate a buffer for headers. For example, to send no more than 50 fields at a time. Does the nghttp2 library allow this?
When I create a stream by calling nghttp2_submit_headers in the client session, I pass the first batch of header fields and get a new stream ID like this.
ISSUE:
The server responds with RST_STREAM frame with protocol error (1).
In Wireshark I can see that nghttp2 library generates two HEADERS (type = 1) frames both with END_HEADERS (4) flag. The first header frame must be without END_HEADERS flag and the second frame must be CONTINUATION frame.
If I send all headers in one nghttp2_submit_headers call, then the server responds with a http response.
I want to send headers to the server in two or more steps, so as not to allocate a buffer for headers. For example, to send no more than 50 fields at a time. Does the nghttp2 library allow this?
Hi,
I want to send headers to the server in two or more steps, so as not to allocate a buffer for headers. For example, to send no more than 50 fields at a time. Does the nghttp2 library allow this?
When I create a stream by calling nghttp2_submit_headers in the client session, I pass the first batch of header fields and get a new stream ID like this.
After that, I send the data to the server using nghttp2_session_mem_send2.
After that, I call nghttp2_submit_headers again with the already received stream ID, and pass the second batch of header fields like this.
After that, I send the data by calling nghttp2_submit_data2.
ISSUE: The server responds with RST_STREAM frame with protocol error (1). In Wireshark I can see that nghttp2 library generates two HEADERS (type = 1) frames both with END_HEADERS (4) flag. The first header frame must be without END_HEADERS flag and the second frame must be CONTINUATION frame.
If I send all headers in one nghttp2_submit_headers call, then the server responds with a http response.