This documentation is for version v1.2.5 of NNG, but the latest released version is v1.7.3. see the documentation for v1.7.3 for the most up-to-date information.

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.