*
*/
+#include "apr.h"
#include "apr_strings.h"
+
+#define APR_WANT_STRFUNC
+#include "apr_want.h"
+
#include "httpd.h"
#include "http_config.h"
#include "http_request.h"
+
typedef enum {
hdr_add = 'a', /* add header (could mean multiple hdrs) */
hdr_set = 's', /* set (replace old value) */
apr_array_header_t *headers;
} headers_conf;
-module MODULE_VAR_EXPORT headers_module;
+module AP_MODULE_DECLARE_DATA headers_module;
static void *create_headers_config(apr_pool_t *p, server_rec *s)
{
headers_conf *a =
(headers_conf *) apr_pcalloc(p, sizeof(headers_conf));
- a->headers = apr_make_array(p, 2, sizeof(header_entry));
+ a->headers = apr_array_make(p, 2, sizeof(header_entry));
return a;
}
(headers_conf *) apr_pcalloc(p, sizeof(headers_conf));
headers_conf *base = (headers_conf *) basev, *overrides = (headers_conf *) overridesv;
- a->headers = apr_append_arrays(p, base->headers, overrides->headers);
+ a->headers = apr_array_append(p, base->headers, overrides->headers);
return a;
}
char *colon;
if (cmd->path) {
- new = (header_entry *) apr_push_array(dirconf->headers);
+ new = (header_entry *) apr_array_push(dirconf->headers);
}
else {
- new = (header_entry *) apr_push_array(serverconf->headers);
+ new = (header_entry *) apr_array_push(serverconf->headers);
}
if (!strcasecmp(action, "set"))
return DECLINED;
}
-static void register_hooks(void)
+
+static void register_hooks(apr_pool_t *p)
{
- ap_hook_fixups(fixup_headers,NULL,NULL,AP_HOOK_MIDDLE);
+ ap_hook_fixups(fixup_headers,NULL,NULL,APR_HOOK_MIDDLE);
}
-module MODULE_VAR_EXPORT headers_module =
+
+module AP_MODULE_DECLARE_DATA headers_module =
{
STANDARD20_MODULE_STUFF,
create_headers_dir_config, /* dir config creater */
create_headers_config, /* server config */
merge_headers_config, /* merge server configs */
headers_cmds, /* command apr_table_t */
- NULL, /* handlers */
register_hooks /* register hooks */
};