{
char *host, *path, *search, sport[7];
const char *err;
+ const char *pnocanon;
apr_port_t port = AJP13_DEF_PORT;
/* ap_port_of_scheme() */
* has already been decoded. True proxy requests have
* r->uri == r->unparsed_uri, and no others have that property.
*/
- if (r->uri == r->unparsed_uri) {
+ pnocanon = apr_table_get(r->notes, "proxy-nocanon");
+ if ((r->uri == r->unparsed_uri) || pnocanon) {
search = strchr(url, '?');
if (search != NULL)
*(search++) = '\0';
search = r->args;
/* process path */
- if (apr_table_get(r->notes, "proxy-nocanon")) {
+ if (pnocanon) {
path = url; /* this is the raw path */
}
else {
char *host, *path, *search, sport[7];
const char *err;
const char *scheme;
+ const char *pnocanon;
apr_port_t port, def_port;
/* ap_port_of_scheme() */
* has already been decoded. True proxy requests have r->uri
* == r->unparsed_uri, and no others have that property.
*/
- if (r->uri == r->unparsed_uri) {
+ pnocanon = apr_table_get(r->notes, "proxy-nocanon");
+ if ((r->uri == r->unparsed_uri) ||
+ ((r->proxyreq == PROXYREQ_REVERSE) && pnocanon)) {
search = strchr(url, '?');
if (search != NULL)
*(search++) = '\0';
switch (r->proxyreq) {
default: /* wtf are we doing here? */
case PROXYREQ_REVERSE:
- if (apr_table_get(r->notes, "proxy-nocanon")) {
+ if (pnocanon) {
path = url; /* this is the raw path */
}
else {