summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/c-modules/list_modules/mod_list_modules.c
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/c-modules/list_modules/mod_list_modules.c')
-rw-r--r--debian/perl-framework/c-modules/list_modules/mod_list_modules.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/perl-framework/c-modules/list_modules/mod_list_modules.c b/debian/perl-framework/c-modules/list_modules/mod_list_modules.c
new file mode 100644
index 0000000..40738a1
--- /dev/null
+++ b/debian/perl-framework/c-modules/list_modules/mod_list_modules.c
@@ -0,0 +1,38 @@
+#if CONFIG_FOR_HTTPD_TEST
+
+<Location /list_modules>
+ SetHandler list_modules
+</Location>
+
+#endif
+
+#define APACHE_HTTPD_TEST_HANDLER list_modules_handler
+
+#define CORE_PRIVATE /* for ap_top_module */
+#include "apache_httpd_test.h"
+
+static int list_modules_handler(request_rec *r)
+{
+ module *modp;
+
+ if (strcmp(r->handler, "list_modules")) {
+ return DECLINED;
+ }
+ if (r->method_number != M_GET) {
+ return DECLINED;
+ }
+
+#ifdef APACHE1
+#define ap_top_module top_module
+ ap_send_http_header(r);
+#endif
+
+ for (modp = ap_top_module; modp; modp = modp->next) {
+ ap_rvputs(r, modp->name, "\n", NULL);
+ }
+
+ return OK;
+}
+
+APACHE_HTTPD_TEST_MODULE(list_modules);
+