# nng_http_res_copy_data(3http) Manual Page

## NAME

nng_http_res_copy_data - copy HTTP response body

## SYNOPSIS

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

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

## DESCRIPTION

The `nng_http_res_copy_data()` makes a copy of body (of size size) and sets the HTTP body for the response res to it. The copy will be deallocated automatically when res is freed.

The copied 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.

| To avoid copying data, the `nng_http_res_set_data()` may be used instead.

| 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_set_data(3http), nng_http_res_set_header(3http), nng(7)