Skip to content

Commit

Permalink
*) Extending proxy autoconfig to avoid problems with multiple local n…
Browse files Browse the repository at this point in the history
…etwork cards

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@816 6c8d7289-2bf4-0310-a012-ef5d649a1542
  • Loading branch information
theli committed Sep 30, 2005
1 parent 595e0c7 commit 1d1b8f6
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 30 deletions.
52 changes: 31 additions & 21 deletions htroot/autoconfig.java
Expand Up @@ -44,29 +44,39 @@
//if the shell's current path is HTROOT

import de.anomic.http.httpHeader;
import de.anomic.server.serverCore;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;

public class autoconfig {

/**
* Generates a proxy-autoconfig-file (application/x-ns-proxy-autoconfig)
* See: <a href="http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html">Proxy Auto-Config File Format</a>
* @param header
* @param post
* @param env
* @return
*/
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {

serverObjects prop = new serverObjects();

prop.put("host", serverCore.publicLocalIP().getHostAddress());
prop.put("port", env.getConfig("port", "8080"));

// return rewrite properties
return prop;
}


/**
* Generates a proxy-autoconfig-file (application/x-ns-proxy-autoconfig)
* See: <a href="http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html">Proxy Auto-Config File Format</a>
* @param header
* @param post
* @param env
* @return
*/
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {

serverObjects prop = new serverObjects();
plasmaSwitchboard sb = (plasmaSwitchboard)env;

// getting the http host header
String hostSocket = (String) header.get(httpHeader.CONNECTION_PROP_HOST);

String host = hostSocket;
int port = 80, pos = hostSocket.indexOf(":");
if (pos != -1) {
port = Integer.parseInt(hostSocket.substring(pos + 1));
host = hostSocket.substring(0, pos);
}

prop.put("host", host);
prop.put("port", Integer.toString(port));

return prop;
}

}
14 changes: 5 additions & 9 deletions htroot/autoconfig.pac
@@ -1,14 +1,10 @@
function FindProxyForURL(url,host) {
if ((isPlainHostName(host))||
(host=="127.0.0.1"))
{
return "DIRECT";

}
else if (url.substring(0, 4) == "ftp:") {
return "DIRECT";
}
else {
(host=="127.0.0.1")) {
return "DIRECT";
} else if (url.substring(0, 4).toLowerCase() == "ftp:") {
return "DIRECT";
} else {
return "PROXY #[host]#:#[port]#, DIRECT";
}
}

0 comments on commit 1d1b8f6

Please sign in to comment.