Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/mod_dav_svn/mod_dav_svn.c view on Meta::CPAN
AP_INIT_TAKE1("SVNInMemoryCacheSize", SVNInMemoryCacheSize_cmd, NULL,
RSRC_CONF,
"specifies the maximum size in kB per process of Subversion's "
"in-memory object cache (default value is 16384; 0 deactivates "
"the cache)."),
/* per server */
AP_INIT_TAKE1("SVNCompressionLevel", SVNCompressionLevel_cmd, NULL,
RSRC_CONF,
"specifies the compression level used before sending file "
"content over the network (0 for no compression, 9 for "
"maximum, 5 is default)."),
/* per server */
AP_INIT_FLAG("SVNUseUTF8",
SVNUseUTF8_cmd, NULL,
RSRC_CONF,
"use UTF-8 as native character encoding (default is ASCII)."),
/* per directory/location */
AP_INIT_TAKE1("SVNHooksEnv", SVNHooksEnv_cmd, NULL,
ACCESS_CONF|RSRC_CONF,
"Sets the path to the configuration file for the environment "
"of hook scripts. If not absolute, the path is relative to "
"the repository's conf directory (by default the hooks-env "
"file in the repository is used)."),
{ NULL }
};
static dav_provider provider =
{
&dav_svn__hooks_repository,
&dav_svn__hooks_propdb,
&dav_svn__hooks_locks,
&dav_svn__hooks_vsn,
NULL, /* binding */
NULL /* search */
};
/* Implements the #register_hooks method of Apache's #module vtable. */
static void
register_hooks(apr_pool_t *pconf)
{
ap_hook_pre_config(init_dso, NULL, NULL, APR_HOOK_REALLY_FIRST);
ap_hook_post_config(init, NULL, NULL, APR_HOOK_MIDDLE);
/* our provider */
dav_register_provider(pconf, "svn", &provider);
/* input filter to read MERGE bodies. */
ap_register_input_filter("SVN-MERGE", merge_xml_in_filter, NULL,
AP_FTYPE_RESOURCE);
ap_hook_insert_filter(merge_xml_filter_insert, NULL, NULL,
APR_HOOK_MIDDLE);
/* general request handler for methods which mod_dav DECLINEs. */
ap_hook_handler(dav_svn__handler, NULL, NULL, APR_HOOK_LAST);
/* live property handling */
dav_hook_gather_propsets(dav_svn__gather_propsets, NULL, NULL,
APR_HOOK_MIDDLE);
dav_hook_find_liveprop(dav_svn__find_liveprop, NULL, NULL, APR_HOOK_MIDDLE);
dav_hook_insert_all_liveprops(dav_svn__insert_all_liveprops, NULL, NULL,
APR_HOOK_MIDDLE);
dav_register_liveprop_group(pconf, &dav_svn__liveprop_group);
/* Proxy / mirroring filters and fixups */
ap_register_output_filter("LocationRewrite", dav_svn__location_header_filter,
NULL, AP_FTYPE_CONTENT_SET);
ap_register_output_filter("ReposRewrite", dav_svn__location_body_filter,
NULL, AP_FTYPE_CONTENT_SET);
ap_register_input_filter("IncomingRewrite", dav_svn__location_in_filter,
NULL, AP_FTYPE_CONTENT_SET);
ap_hook_fixups(dav_svn__proxy_request_fixup, NULL, NULL, APR_HOOK_MIDDLE);
/* translate_name hook is LAST so that it doesn't interfere with modules
* like mod_alias that are MIDDLE. */
ap_hook_translate_name(dav_svn__translate_name, NULL, NULL, APR_HOOK_LAST);
/* map_to_storage hook is LAST to avoid interferring with mod_http's
* handling of OPTIONS and TRACE. */
ap_hook_map_to_storage(dav_svn__map_to_storage, NULL, NULL, APR_HOOK_LAST);
}
module AP_MODULE_DECLARE_DATA dav_svn_module =
{
STANDARD20_MODULE_STUFF,
create_dir_config, /* dir config creater */
merge_dir_config, /* dir merger --- default is to override */
create_server_config, /* server config */
merge_server_config, /* merge server config */
cmds, /* command table */
register_hooks, /* register hooks */
};
( run in 0.985 second using v1.01-cache-2.11-cpan-71847e10f99 )