/* 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
*
*
* 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.
*/
#include "mod_proxy.h"
#include "apr_dbm.h"
static int proxy_available = 0;
typedef struct {
char *dbmfile;
char *dbmtype;
int enabled;
void *dconf,
const char *arg)
{
}
return NULL;
}
void *dconf,
const char *arg)
{
return NULL;
}
void *dconf,
int flag)
{
return NULL;
}
{
a->dbmtype = "default";
a->enabled = 0;
return (void *)a;
}
{
a = (express_server_conf *)apr_pcalloc(p,
sizeof(express_server_conf));
return (void *)a;
}
server_rec *s)
{
return OK;
}
{
int i;
const char *name;
char *backend;
return DECLINED;
}
/* it should be go on as an internal proxy request */
return DECLINED;
}
"proxy_express: Opening DBM file: %s (%s)",
APR_OS_DEFAULT, r->pool);
if (rv != APR_SUCCESS) {
return DECLINED;
}
name = ap_get_server_name(r);
"proxy_express: looking for %s", name);
if (rv != APR_SUCCESS) {
return DECLINED;
}
if (!backend) {
return DECLINED;
}
r->handler = "proxy-server";
r->proxyreq = PROXYREQ_REVERSE;
"proxy_express: rewritten as: %s", r->filename);
/*
* See if we have already added a ProxyPassReverse entry
* for this host... If so, don't do it again.
*/
/*
* NOTE: dconf is process specific so this wil only
* work as long as we maintain that this process
* or thread is handling the backend
*/
break;
}
}
/* Didn't find one... add it */
if (!ralias) {
"proxy_express: adding PPR entry");
}
return OK;
}
"Enable the ProxyExpress functionality"),
"Location of ProxyExpressDBMFile file"),
"Type of ProxyExpressDBMFile file"),
{ NULL }
};
{
}
/* the main config structure */
{
NULL, /* create per-dir config structures */
NULL, /* merge per-dir config structures */
server_create, /* create per-server config structures */
server_merge, /* merge per-server config structures */
command_table, /* table of config file commands */
register_hooks /* register hooks */
};