# nng_http_res_set_data(3http) Manual Page

## NAME

nng_http_res_set_data - set HTTP response body

## SYNOPSIS

    #include <nng/nng.h>
    #include <nng/supplemental/http/http.h>

    int nng_http_res_set_data(nng_http_res *res, const void *body, size_t size);

## DESCRIPTION

The `nng_http_res_set_data()` sets the HTTP body associated with the response res to body, and the size of the body to size. This body data will be automatically sent with the response when it is sent using `nng_http_conn_write_res()`.

This also updates the relevant `Content-Length` header of res.

| The current framework does not support sending data via chunked transfer-encoding.

The body is not copied, and the caller must ensure that it is available until the res is deallocated.

| To have a local copy allocated with res that will be automatically deallocated when res is freed, see `nng_http_res_copy_data()`.

| It is a good idea to also set the `Content-Type` header.

## RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

## ERRORS

`NNG_ENOMEM` | Insufficient memory to perform the operation.
`NNG_ENOTSUP` | No support for HTTP in the library.

## SEE ALSO

nng_http_conn_write_res(3http), nng_http_res_alloc(3http), nng_http_res_copy_data(3http), nng_http_res_set_header(3http), nng(7)