Skip to main content

send_on_with_options

Function send_on_with_options 

pub async fn send_on_with_options<IO>(
    stream: &mut IO,
    request_id: u16,
    request: FastCgiClientRequest,
    keep_conn: bool,
    options: &ClientOptions,
) -> Result<FastCgiClientResponse, ClientError>
where IO: AsyncRead + AsyncWrite + Unpin + Send,
Available on crate feature fastcgi only.
Expand description

Send a FastCGI request on an existing stream with explicit options.

request_id must be non-zero. If keep_conn is true, the FCGI_KEEP_CONN flag is set in FCGI_BEGIN_REQUEST and the connection is not closed by the application.

Concurrent write/read. The request side (BEGIN, PARAMS, STDIN) and the response side (STDOUT, STDERR, END_REQUEST) are driven concurrently against split halves of the stream. Without this, a large STDIN upload could deadlock with the backend’s STDOUT writes: each side blocks waiting for the other to drain its socket buffer (classic FastCGI write-after- write deadlock).