#include <nng/nng.h> #include <nng/supplemental/http/http.h> int nng_http_handler_collect_body(nng_http_handler *handler, bool want, size_t maxsz);
|This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.3.2. See the documentation for v1.3.2 for the most up-to-date information.|
nng_http_handler_collect_body - set HTTP handler to collect request body
nng_http_handler_collect_data() function causes the handler to
collect any request body that was submitted with the request, and attach
it to the
nng_http_req before the handler is called.
Subsequently the data can be retrieved by the handler from the request with the
The collection is enabled if want is true.
Furthermore, the data that the client may sent is limited by the
value of maxsz.
If the client attempts to send more data than maxsz, then the
request will be terminated with a 400
Bad Request status.
|Limiting the size of incoming request data can provide protection against denial of service attacks, as a buffer of the client-supplied size must be allocated to receive the data.|
In order to provide an unlimited size, use
(size_t)-1 for maxsz.
0 for maxsz can be used to prevent any data from being passed
by the client.
The built-in handlers for files, directories, and static data limit the maxsz to zero by default. Otherwise the default setting is to enable this capability with a default value of maxsz of 1 megabyte.
The handler looks for data indicated by the
This specifically does not support the
This function returns 0 on success, and non-zero otherwise.
No support for HTTP in the library.