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


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

int nng_http_req_set_data(nng_http_req *req, const void *body, size_t size);


The nng_http_req_set_data() sets the HTTP body associated with the request req to body, and the size of the body to size. This body data will be automatically sent with the request when it is sent using nng_http_conn_write_req().

This also updates the relevant Content-Length header of req.

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 req is deallocated.

To have a local copy allocated with req that will be automatically deallocated when req is freed, see nng_http_req_copy_data().
It is a good idea to also set the Content-Type header.


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



Insufficient memory to perform the operation.


No support for HTTP in the library.