From d0543a7c39434991a87d076de686efe0cbc73b56 Mon Sep 17 00:00:00 2001 From: f1ori Date: Mon, 27 Oct 2008 22:16:56 +0000 Subject: [PATCH] * fix the debug ant-target * fix yacy-subdomain handling (http://forum.yacy-websuche.de/viewtopic.php?f=6&t=1556) git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5307 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- build.xml | 2 +- source/de/anomic/http/httpdProxyHandler.java | 34 ++++++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/build.xml b/build.xml index ed472bd86..d00236a27 100644 --- a/build.xml +++ b/build.xml @@ -912,8 +912,8 @@ - + diff --git a/source/de/anomic/http/httpdProxyHandler.java b/source/de/anomic/http/httpdProxyHandler.java index b7104b230..50decd338 100644 --- a/source/de/anomic/http/httpdProxyHandler.java +++ b/source/de/anomic/http/httpdProxyHandler.java @@ -486,16 +486,16 @@ public final class httpdProxyHandler { } // resolve yacy and yacyh domains - final String yAddress = resolveYacyDomains(host); + String yAddress = resolveYacyDomains(host); // re-calc the url path String remotePath = (args == null) ? path : (path + "?" + args); // with leading '/' - - // attach possible yacy-sublevel-domain - if ((yAddress != null) && - ((pos = yAddress.indexOf("/")) >= 0) && - (!(remotePath.startsWith("/env"))) // this is the special path, staying always at root-level - ) remotePath = yAddress.substring(pos) + remotePath; + + // remove yacy-subdomain-path, when accessing /env + if ( (yAddress != null) + && (remotePath.startsWith("/env")) + && ((pos = yAddress.indexOf('/')) != -1) + ) yAddress = yAddress.substring(0, yAddress.indexOf('/')); modifyProxyHeaders(requestHeader, httpVer); @@ -905,10 +905,13 @@ public final class httpdProxyHandler { prepareRequestHeader(conProp, requestHeader, hostlow); // resolve yacy and yacyh domains - final String yAddress = resolveYacyDomains(host); + String yAddress = resolveYacyDomains(host); - // attach possible yacy-sublevel-domain - if ((yAddress != null) && ((pos = yAddress.indexOf("/")) >= 0)) remotePath = yAddress.substring(pos) + remotePath; + // remove yacy-subdomain-path, when accessing /env + if ( (yAddress != null) + && (remotePath.startsWith("/env")) + && ((pos = yAddress.indexOf('/')) != -1) + ) yAddress = yAddress.substring(0, yAddress.indexOf('/')); modifyProxyHeaders(requestHeader, httpVer); @@ -991,14 +994,17 @@ public final class httpdProxyHandler { prepareRequestHeader(conProp, requestHeader, host.toLowerCase()); - final String yAddress = resolveYacyDomains(host); + String yAddress = resolveYacyDomains(host); // re-calc the url path String remotePath = (args == null) ? path : (path + "?" + args); - // attach possible yacy-sublevel-domain - if ((yAddress != null) && ((pos = yAddress.indexOf("/")) >= 0)) remotePath = yAddress.substring(pos) + remotePath; - + // remove yacy-subdomain-path, when accessing /env + if ( (yAddress != null) + && (remotePath.startsWith("/env")) + && ((pos = yAddress.indexOf('/')) != -1) + ) yAddress = yAddress.substring(0, yAddress.indexOf('/')); + modifyProxyHeaders(requestHeader, httpVer); final String connectHost = hostPart(host, port, yAddress);