.TH cgi_parse 3 "12 July 2007" "ClearSilver" "cgi/cgi.h"

.de Ss
.sp
.ft CW
.nf
..
.de Se
.fi
.ft P
.sp
..
.SH NAME
cgi_parse  - Parse incoming CGI data
.SH SYNOPSIS
.Ss
#include <cgi/cgi.h>
.Se
.Ss
NEOERR *cgi_parse (CGI *cgi);

.Se

.SH ARGUMENTS
cgi - a pointer to a CGI pointer

.SH 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.

.SH "RETURN VALUE"
Either data populated into files and cgi->hdf, or whatever
.br
other side effects of your own registered callbacks.

.SH "SEE ALSO"
.BR 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