SYNOPSIS
#include <nng/nng.h>
#include <nng/supplemental/http/http.h>
void nng_http_conn_write_res(nng_http_conn *conn, nng_http_res *res,
nng_aio *aio);
DESCRIPTION
The nng_http_conn_write_res()
function starts an asynchronous write of
the HTTP response res to the connection conn.
The entire response is sent,
including headers, and if present, the response body data.
(The response body can be set with
nng_http_res_set_data()
or
nng_http_res_copy_data()
.)
This function returns immediately, with no return value.
Completion of the operation is signaled via the aio, and the final result
may be obtained via nng_aio_result()
.
That result will either be zero or an error code.
Persistent Connections
By default, for HTTP/1.1
connections, the connection is kept open, and
will be reused to receive new requests.
If however the res contains a header of Connection:
with a value
of Close
(case-insensitive) or the response corresponds to HTTP/1.0
,
then the connection is immediately after sending the response.
Consider using the
nng_http_client_transact() or
nng_http_conn_transact() functions,
which provide a simpler interface for performing a complete HTTP client
transaction.
|
RETURN VALUES
None.
ERRORS
NNG_ECANCELED
|
The operation was canceled. |
NNG_ECLOSED
|
The connection was closed. |
NNG_ECONNRESET
|
The peer closed the connection. |
NNG_ENOMEM
|
Insufficient free memory to perform the operation. |
NNG_ENOTSUP
|
HTTP operations are not supported. |
NNG_ETIMEDOUT
|
Timeout waiting for data from the connection. |