blob: f6eff04994c53a38bd2a913fd89247a73fad4b13 [file] [log] [blame]
No httpd header dependencies in src/; those go in env/.
Only APR is used here.
Data structures and relations:
BASIC VALUE TYPE:
apreq_value_t: basic type for handling opaque data. The type
is meant to be extended by placing all "metadata"
in front (within a larger structure).
COOKIES:
apreq_cookie_t: extends apreq_value_t to represent server-side
cookie data.
apreq_jar_t: This struct is analogous to apreq_request_t for params.
PARAMS:
apreq_param_t: extends apreq_value_t to represent POST param data.
apreq_request_t: maintains arg/body tables which represent parsed data.
REQUEST STATES:
req->body == NULL: No POST data has been read/parsed yet. The
req->parser slot may be safely modified.
req->body != NULL: Some parsing has taken place, so req->parser
cannot be modified now without risking
loss of data.
status: (as returned by apreq_env_read and APREQ_RUN_PARSER)
APR_INCOMPLETE: Parsing in progress.
APR_SUCCESS: Parsing complete.
<other>: parser error, parsing aborted.
PARSER EXTENSIONS:
apreq_parser_t: parser callback, with its associated configuration data.
apreq_hook_t: extends multipart/form-data parser by transforming incoming
brigades which represent the contents of a file upload.