summaryrefslogtreecommitdiff
path: root/modules/test
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2004-12-14 17:04:58 +0000
committerJim Jagielski <jim@apache.org>2004-12-14 17:04:58 +0000
commitae092ca1ce136b5eec3a3c777e4e4f73acf28e70 (patch)
tree9fa124a7ab0a1d77a6c98aad13ccec18c78ee659 /modules/test
parent0fb2f37f3eeb1a57a8ec037352d6f04d6d492cb1 (diff)
downloadhttpd-ae092ca1ce136b5eec3a3c777e4e4f73acf28e70.tar.gz
Add in mod_dumpio in the new debug module directory. Also, place
mod_bucketeer in there as well, since it is more a debugging module (and as per list suggestions) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111837 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/test')
-rw-r--r--modules/test/config.m41
-rw-r--r--modules/test/mod_bucketeer.c183
-rw-r--r--modules/test/mod_bucketeer.dsp128
3 files changed, 0 insertions, 312 deletions
diff --git a/modules/test/config.m4 b/modules/test/config.m4
index 337d095723..01bc0fa971 100644
--- a/modules/test/config.m4
+++ b/modules/test/config.m4
@@ -5,6 +5,5 @@ APACHE_MODULE(optional_hook_export, example optional hook exporter, , , no)
APACHE_MODULE(optional_hook_import, example optional hook importer, , , no)
APACHE_MODULE(optional_fn_import, example optional function importer, , , no)
APACHE_MODULE(optional_fn_export, example optional function exporter, , , no)
-APACHE_MODULE(bucketeer, buckets manipulation filter, , , no)
APACHE_MODPATH_FINISH
diff --git a/modules/test/mod_bucketeer.c b/modules/test/mod_bucketeer.c
deleted file mode 100644
index cbcd00cc1c..0000000000
--- a/modules/test/mod_bucketeer.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * mod_bucketeer.c: split buckets whenever we find a control-char
- *
- * Written by Ian Holsman
- *
- */
-
-#include "httpd.h"
-#include "http_config.h"
-#include "http_log.h"
-#include "apr_strings.h"
-#include "apr_general.h"
-#include "util_filter.h"
-#include "apr_buckets.h"
-#include "http_request.h"
-#include "http_protocol.h"
-
-static const char bucketeerFilterName[] = "BUCKETEER";
-module AP_MODULE_DECLARE_DATA bucketeer_module;
-
-typedef struct bucketeer_filter_config_t
-{
- char bucketdelimiter;
- char passdelimiter;
- char flushdelimiter;
-} bucketeer_filter_config_t;
-
-
-static void *create_bucketeer_server_config(apr_pool_t *p, server_rec *s)
-{
- bucketeer_filter_config_t *c = apr_pcalloc(p, sizeof *c);
-
- c->bucketdelimiter = 0x02; /* ^B */
- c->passdelimiter = 0x10; /* ^P */
- c->flushdelimiter = 0x06; /* ^F */
-
- return c;
-}
-
-typedef struct bucketeer_ctx_t
-{
- apr_bucket_brigade *bb;
-} bucketeer_ctx_t;
-
-static apr_status_t bucketeer_out_filter(ap_filter_t *f,
- apr_bucket_brigade *bb)
-{
- apr_bucket *e;
- request_rec *r = f->r;
- bucketeer_ctx_t *ctx = f->ctx;
- bucketeer_filter_config_t *c;
-
- c = ap_get_module_config(r->server->module_config, &bucketeer_module);
-
- /* If have a context, it means we've done this before successfully. */
- if (!ctx) {
- if (!r->content_type || strncmp(r->content_type, "text/", 5)) {
- ap_remove_output_filter(f);
- return ap_pass_brigade(f->next, bb);
- }
-
- /* We're cool with filtering this. */
- ctx = f->ctx = apr_pcalloc(f->r->pool, sizeof(*ctx));
- ctx->bb = apr_brigade_create(f->r->pool, f->c->bucket_alloc);
- apr_table_unset(f->r->headers_out, "Content-Length");
- }
-
- for (e = APR_BRIGADE_FIRST(bb);
- e != APR_BRIGADE_SENTINEL(bb);
- e = APR_BUCKET_NEXT(e))
- {
- const char *data;
- apr_size_t len, i, lastpos;
-
- if (APR_BUCKET_IS_EOS(e)) {
- APR_BUCKET_REMOVE(e);
- APR_BRIGADE_INSERT_TAIL(ctx->bb, e);
-
- /* Okay, we've seen the EOS.
- * Time to pass it along down the chain.
- */
- return ap_pass_brigade(f->next, ctx->bb);
- }
-
- if (APR_BUCKET_IS_FLUSH(e)) {
- /*
- * Ignore flush buckets for the moment..
- * we decide what to stream
- */
- continue;
- }
-
- if (APR_BUCKET_IS_METADATA(e)) {
- /* metadata bucket */
- apr_bucket *cpy;
- apr_bucket_copy(e, &cpy);
- APR_BRIGADE_INSERT_TAIL(ctx->bb, cpy);
- continue;
- }
-
- /* read */
- apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
-
- if (len > 0) {
- lastpos = 0;
- for (i = 0; i < len; i++) {
- if (data[i] == c->flushdelimiter ||
- data[i] == c->bucketdelimiter ||
- data[i] == c->passdelimiter) {
- apr_bucket *p;
- if (i - lastpos > 0) {
- p = apr_bucket_pool_create(apr_pmemdup(f->r->pool,
- &data[lastpos],
- i - lastpos),
- i - lastpos,
- f->r->pool,
- f->c->bucket_alloc);
- APR_BRIGADE_INSERT_TAIL(ctx->bb, p);
- }
- lastpos = i + 1;
- if (data[i] == c->flushdelimiter) {
- p = apr_bucket_flush_create(f->c->bucket_alloc);
- APR_BRIGADE_INSERT_TAIL(ctx->bb, p);
- }
- if (data[i] == c->flushdelimiter ||
- data[i] == c->passdelimiter) {
- ap_pass_brigade(f->next, ctx->bb);
- /* apr_brigade_cleanup(ctx->bb);*/
- }
- }
- }
- /* XXX: really should append this to the next 'real' bucket */
- if (lastpos < i) {
- apr_bucket *p;
- p = apr_bucket_pool_create(apr_pmemdup(f->r->pool,
- &data[lastpos],
- i - lastpos),
- i - lastpos,
- f->r->pool,
- f->c->bucket_alloc);
- lastpos = i;
- APR_BRIGADE_INSERT_TAIL(ctx->bb, p);
- }
- }
- }
-
- return APR_SUCCESS;
-}
-
-static void register_hooks(apr_pool_t * p)
-{
- ap_register_output_filter(bucketeerFilterName, bucketeer_out_filter,
- NULL, AP_FTYPE_RESOURCE-1);
-}
-
-static const command_rec bucketeer_filter_cmds[] = {
- {NULL}
-};
-
-module AP_MODULE_DECLARE_DATA bucketeer_module = {
- STANDARD20_MODULE_STUFF,
- NULL,
- NULL,
- create_bucketeer_server_config,
- NULL,
- bucketeer_filter_cmds,
- register_hooks
-};
diff --git a/modules/test/mod_bucketeer.dsp b/modules/test/mod_bucketeer.dsp
deleted file mode 100644
index 39338d8b4b..0000000000
--- a/modules/test/mod_bucketeer.dsp
+++ /dev/null
@@ -1,128 +0,0 @@
-# Microsoft Developer Studio Project File - Name="mod_bucketeer" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=mod_bucketeer - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "mod_bucketeer.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "mod_bucketeer.mak" CFG="mod_bucketeer - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "mod_bucketeer - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "mod_bucketeer - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP /nologo /MD /W3 /Zi /O2 /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Release\mod_bucketeer_src" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"Release/mod_bucketeer.so" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so
-# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/mod_bucketeer.so" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so /opt:ref
-
-!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /Fd"Debug\mod_bucketeer_src" /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_bucketeer.so" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so
-# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/mod_bucketeer.so" /base:@..\..\os\win32\BaseAddr.ref,mod_bucketeer.so
-
-!ENDIF
-
-# Begin Target
-
-# Name "mod_bucketeer - Win32 Release"
-# Name "mod_bucketeer - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\mod_bucketeer.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mod_bucketeer.rc
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\build\win32\win32ver.awk
-
-!IF "$(CFG)" == "mod_bucketeer - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Creating Version Resource
-InputPath=..\..\build\win32\win32ver.awk
-
-".\mod_bucketeer.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- awk -f ../../build/win32/win32ver.awk mod_bucketeer.so "bucketeer_module for Apache" ../../include/ap_release.h > .\mod_bucketeer.rc
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "mod_bucketeer - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Creating Version Resource
-InputPath=..\..\build\win32\win32ver.awk
-
-".\mod_bucketeer.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- awk -f ../../build/win32/win32ver.awk mod_bucketeer.so "bucketeer_module for Apache" ../../include/ap_release.h > .\mod_bucketeer.rc
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Target
-# End Project