apreq_module.h(3)
| include/apreq_module.h(3) | libapreq2 | include/apreq_module.h(3) |
NAME
include/apreq_module.h - Module API.
SYNOPSIS
#include 'apreq_cookie.h'
#include 'apreq_parser.h'
#include 'apreq_error.h'
Data Structures
struct apreq_handle_t
struct apreq_module_t
Vtable describing the necessary module functions.
Macros
#define APREQ_MODULE(pre, mmn)
#define apreq_cookie(req, name) apreq_jar_get(req, name)
Typedefs
typedef struct apreq_handle_t apreq_handle_t
typedef struct apreq_module_t apreq_module_t
Vtable describing the necessary module functions.
Functions
static APR_INLINE unsigned apreq_module_status_is_error
(apr_status_t s)
static APR_INLINE apr_status_t apreq_jar (apreq_handle_t *req,
const apr_table_t **t)
static APR_INLINE apr_status_t apreq_args (apreq_handle_t *req,
const apr_table_t **t)
static APR_INLINE apr_status_t apreq_body (apreq_handle_t *req,
const apr_table_t **t)
static APR_INLINE apreq_cookie_t * apreq_jar_get
(apreq_handle_t *req, const char *name)
static APR_INLINE apreq_param_t * apreq_args_get
(apreq_handle_t *req, const char *name)
static APR_INLINE apreq_param_t * apreq_body_get
(apreq_handle_t *req, const char *name)
static APR_INLINE apr_status_t apreq_parser_get (apreq_handle_t
*req, const apreq_parser_t **parser)
static APR_INLINE apr_status_t apreq_parser_set (apreq_handle_t
*req, apreq_parser_t *parser)
static APR_INLINE apr_status_t apreq_hook_add (apreq_handle_t
*req, apreq_hook_t *hook)
static APR_INLINE apr_status_t apreq_brigade_limit_set
(apreq_handle_t *req, apr_size_t bytes)
static APR_INLINE apr_status_t apreq_brigade_limit_get
(apreq_handle_t *req, apr_size_t *bytes)
static APR_INLINE apr_status_t apreq_read_limit_set
(apreq_handle_t *req, apr_uint64_t bytes)
static APR_INLINE apr_status_t apreq_read_limit_get
(apreq_handle_t *req, apr_uint64_t *bytes)
static APR_INLINE apr_status_t apreq_temp_dir_set
(apreq_handle_t *req, const char *path)
static APR_INLINE apr_status_t apreq_temp_dir_get
(apreq_handle_t *req, const char **path)
apreq_handle_t * apreq_handle_cgi (apr_pool_t *pool)
apreq_handle_t * apreq_handle_custom (apr_pool_t *pool, const
char *query_string, const char *cookie, apreq_parser_t *parser,
apr_uint64_t read_limit, apr_bucket_brigade *in)
apreq_param_t * apreq_param (apreq_handle_t *req, const
char *key)
apr_table_t * apreq_params (apreq_handle_t *req, apr_pool_t *p)
apr_table_t * apreq_cookies (apreq_handle_t *req, apr_pool_t *p)
Detailed Description
Module API.
Macro Definition Documentation
#define apreq_cookie(req, name) apreq_jar_get(req, name)
Find the first cookie with the specified name. The match is case-insensitive.
Parameters
name desired cookie name
Returns
#define APREQ_MODULE(pre, mmn)
Value:
Convenience macro for defining a module by mapping a function prefix to an associated apreq_module_t structure.
const apreq_module_t pre##_module = { #pre, mmn, pre##_jar, pre##_args, pre##_body, pre##_jar_get, pre##_args_get, pre##_body_get, pre##_parser_get, pre##_parser_set, pre##_hook_add, pre##_brigade_limit_get, pre##_brigade_limit_set, pre##_read_limit_get, pre##_read_limit_set, pre##_temp_dir_get, pre##_temp_dir_set, }
Parameters
mmn Magic number (i.e. version number) of this module.
Typedef Documentation
typedef struct apreq_handle_t apreq_handle_t
An apreq handle associated with a module. The structure may have variable size, because the module may append its own data structures after it.
Function Documentation
static APR_INLINE apr_status_t apreq_args (apreq_handle_t * req, const apr_table_t ** t) [static]
Expose the parsed 'query string' associated to this handle.
Parameters
t The resulting table, which will either be NULL or a valid table object on return.
Returns
static APR_INLINE apreq_param_t* apreq_args_get (apreq_handle_t * req, const char * name) [static]
Fetch the first query string param with the given name.
Parameters
name Case-insensitive param name.
Returns
static APR_INLINE apr_status_t apreq_body (apreq_handle_t * req, const apr_table_t ** t) [static]
Expose the parsed 'request body' associated to this handle.
Parameters
t The resulting table, which will either be NULL or a valid table object on return.
Returns
static APR_INLINE apreq_param_t* apreq_body_get (apreq_handle_t * req, const char * name) [static]
Fetch the first body param with the given name.
Parameters
name Case-insensitive cookie name.
Returns
static APR_INLINE apr_status_t apreq_brigade_limit_get (apreq_handle_t * req, apr_size_t * bytes) [static]
Get the active brigade limit.
Parameters
bytes Pointer to resulting (current) limit.
Returns
static APR_INLINE apr_status_t apreq_brigade_limit_set (apreq_handle_t * req, apr_size_t bytes) [static]
Set the active brigade limit.
Parameters
bytes New limit to use.
Returns
apr_table_t* apreq_cookies (apreq_handle_t * req, apr_pool_t * p)
Returns a table containing all request cookies.
Parameters
p Allocates the returned table.
apreq_handle_t* apreq_handle_cgi (apr_pool_t * pool)
Create an apreq handle which is suitable for a CGI program. It reads input from stdin and writes output to stdout.
Parameters
Returns
Remarks
apreq_handle_t* apreq_handle_custom (apr_pool_t * pool, const char * query_string, const char * cookie, apreq_parser_t * parser, apr_uint64_t read_limit, apr_bucket_brigade * in)
Create a custom apreq handle which knows only some static values. Useful if you want to test the parser code or if you have got data from a custom source (neither Apache 2 nor CGI).
Parameters
query_string parsed into args table
cookie value of the request 'Cookie' header
parser parses the request body
read_limit maximum bytes to read from the body
in brigade containing the request body
Returns
static APR_INLINE apr_status_t apreq_hook_add (apreq_handle_t * req, apreq_hook_t * hook) [static]
Add a parser hook for this request.
Parameters
hook Hook to add.
Returns
static APR_INLINE apr_status_t apreq_jar (apreq_handle_t * req, const apr_table_t ** t) [static]
Expose the parsed 'cookie' header associated to this handle.
Parameters
t The resulting table, which will either be NULL or a valid table object on return.
Returns
static APR_INLINE apreq_cookie_t* apreq_jar_get (apreq_handle_t * req, const char * name) [static]
Fetch the first cookie with the given name.
Parameters
name Case-insensitive cookie name.
Returns
static APR_INLINE unsigned apreq_module_status_is_error (apr_status_t s) [static]
Defines the module-specific status codes which are commonly considered to be non-fatal.
Parameters
Returns
apreq_param_t* apreq_param (apreq_handle_t * req, const char * key)
Find the first query string parameter or body parameter with the specified name. The match is case-insensitive.
Parameters
key desired parameter name
Returns
apr_table_t* apreq_params (apreq_handle_t * req, apr_pool_t * p)
Returns a table containing key-value pairs for the full request (args + body).
Parameters
p allocates the returned table.
Returns
static APR_INLINE apr_status_t apreq_parser_get (apreq_handle_t * req, const apreq_parser_t ** parser) [static]
Fetch the active body parser.
Parameters
parser Points to the active parser on return.
Returns
static APR_INLINE apr_status_t apreq_parser_set (apreq_handle_t * req, apreq_parser_t * parser) [static]
Set the body parser for this request.
Parameters
parser New parser to use.
Returns
static APR_INLINE apr_status_t apreq_read_limit_get (apreq_handle_t * req, apr_uint64_t * bytes) [static]
Get the active read limit.
Parameters
bytes Pointer to resulting (current) limit.
Returns
static APR_INLINE apr_status_t apreq_read_limit_set (apreq_handle_t * req, apr_uint64_t bytes) [static]
Set the active read limit.
Parameters
bytes New limit to use.
Returns
static APR_INLINE apr_status_t apreq_temp_dir_get (apreq_handle_t * req, const char ** path) [static]
Get the active temp directory.
Parameters
path Resulting path to temp dir.
Returns
static APR_INLINE apr_status_t apreq_temp_dir_set (apreq_handle_t * req, const char * path) [static]
Set the active temp directory.
Parameters
path New path to use; may be NULL.
Returns
Author
Generated automatically by Doxygen for libapreq2 from the source code.
| Wed Mar 10 2021 | Version 2.16 |
