NNG_HTTP_CONN_WRITE_RES(3http)

NAME
nng_http_conn_write_res - write HTTP response

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.

    Note

    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.

SEE ALSO

nng_aio_alloc(3), nng_aio_result(3), nng_http_client_connect(3http), nng_http_client_transact(3http), nng_http_conn_read_all(3http), nng_http_conn_transact(3http), nng_strerror(3), nng(7)