/*
** Licensed to the Apache Software Foundation (ASF) under one or more
** contributor license agreements. See the NOTICE file distributed with
** this work for additional information regarding copyright ownership.
** The ASF licenses this file to You 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.
*/
#ifdef CONFIG_FOR_HTTPD_TEST
#if CONFIG_FOR_HTTPD_TEST
<Location /apreq_request_test>
APREQ2_ReadLimit 500K
SetHandler apreq_request_test
</Location>
#endif
#endif
#define APACHE_HTTPD_TEST_HANDLER apreq_request_test_handler
#include "apache_httpd_test.h"
#include "apreq_module_apache2.h"
#include "httpd.h"
static int dump_table(void *ctx, const char *key, const char *value)
{
request_rec *r = ctx;
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS,
r, "%s => %s", key, value);
ap_rprintf(r, "\t%s => %s\n", key, value);
return 1;
}
static int apreq_request_test_handler(request_rec *r)
{
apreq_handle_t *req;
const apr_table_t *t;
apr_status_t s;
if (strcmp(r->handler, "apreq_request_test") != 0)
return DECLINED;
req = apreq_handle_apache2(r);
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS,
r, "starting apreq_request_test");
s = ap_discard_request_body(r);
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, s,
r, "discard request body");
ap_set_content_type(r, "text/plain");
ap_rputs("ARGS:\n",r);
if (apreq_args(req, &t) == APR_SUCCESS)
apr_table_do(dump_table, r, t, NULL);
if (apreq_body(req, &t) == APR_SUCCESS) {
ap_rputs("BODY:\n",r);
apr_table_do(dump_table, r, t, NULL);
}
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS,
r, "finished apreq_request_test");
return OK;
}
APACHE_HTTPD_TEST_MODULE(apreq_request_test);