cgi_parse – Parse incoming CGI data
Synopsis
#include <cgi/cgi.h>
NEOERR *cgi_parse (CGI *cgi);
Arguments
cgi – a pointer to a CGI pointer
Description
We split cgi_init into two sections, one that parses
just the basics, and the second is cgi_parse. cgi_parse
is responsible for parsing the entity body of the HTTP
request. This payload is typically only sent (expected)
on POST/PUT requests, but generally this is called on
all incoming requests. This function walks the list of
registered parse callbacks (see cgi_register_parse_cb),
and if none of those matches or handles the request, it
handlers: POST w/ application/x-www-form-urlencoded
POST w/ application/form-data
PUT w/ any content type
In general, if there is no Content-Length, then
cgi_parse ignores the payload and doesn’t raise an
error.
Return Value
Either data populated into files and cgi->hdf, or whatever
other side effects of your own registered callbacks.
See Also
cgi_debug_init(3),
cgi_parse(3), cgi_destroy(3),
cgi_js_escape(3), cgi_html_escape_strfunc(3),
cgi_register_strfuncs(3), cgi_output(3),
parse_rfc2388(3), cgi_url_validate(3),
open_upload(3), cgi_cs_init(3),
cgi_url_escape_more(3), cgi_html_strip_strfunc(3),
cgi_neo_error(3), cgi_redirect(3),
cgi_filehandle(3), cgi_register_parse_cb(3),
cgi_url_escape(3), cgi_init(3),
cgi_redirect_uri(3), cgi_cookie_clear(3),
cgi_url_unescape(3), cgi_vredirect(3),
cgi_display(3), cgi_html_ws_strip(3),
cgi_error(3), cgi_cookie_set(3),
cgi_text_html_strfunc(3), cgi_cookie_authority