further avoid to set connect info properties as header value

following comment "use of properties as header values is discouraged"
in case where (proxy)HTTPClient overwrites values with supplied url.
Use defined request.referer procedure in response class.
pull/114/head
reger 8 years ago
parent cd4d891ea4
commit ce87025462

@ -791,24 +791,14 @@ public class Response {
public DigestURL referrerURL() { public DigestURL referrerURL() {
if (this.requestHeader == null) return null; if (this.requestHeader == null) return null;
try { return this.requestHeader.referer();
final String r = this.requestHeader.get(RequestHeader.REFERER, null);
if (r == null) return null;
return new DigestURL(r);
} catch (final Exception e) {
return null;
}
} }
public byte[] referrerHash() { public byte[] referrerHash() {
if (this.requestHeader == null) return null; if (this.requestHeader == null) return null;
final String u = this.requestHeader.get(RequestHeader.REFERER, ""); final DigestURL url = this.requestHeader.referer();
if (u == null || u.isEmpty()) return null; if (url == null) return null;
try { return url.hash();
return new DigestURL(u).hash();
} catch (final Exception e) {
return null;
}
} }
public boolean validResponseStatus() { public boolean validResponseStatus() {

@ -154,9 +154,6 @@ public class UrlProxyServlet extends HttpServlet implements Servlet {
prop.put(HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST); prop.put(HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST);
prop.put(HeaderFramework.CONNECTION_PROP_CLIENT_HTTPSERVLETREQUEST, request); prop.put(HeaderFramework.CONNECTION_PROP_CLIENT_HTTPSERVLETREQUEST, request);
yacyRequestHeader.put(HeaderFramework.HOST, hostwithport );
yacyRequestHeader.put(HeaderFramework.CONNECTION_PROP_PATH, proxyurl.getPath());
// 4 & 5 get & index target url // 4 & 5 get & index target url
final ByteArrayOutputStream tmpproxyout = new ByteArrayOutputStream(); final ByteArrayOutputStream tmpproxyout = new ByteArrayOutputStream();
HTTPDProxyHandler.doGet(prop, yacyRequestHeader, tmpproxyout, ClientIdentification.yacyProxyAgent); HTTPDProxyHandler.doGet(prop, yacyRequestHeader, tmpproxyout, ClientIdentification.yacyProxyAgent);

@ -125,9 +125,6 @@ public class YaCyProxyServlet extends HttpServlet implements Servlet {
prop.put(HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST); prop.put(HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST);
prop.put(HeaderFramework.CONNECTION_PROP_CLIENT_HTTPSERVLETREQUEST, request); prop.put(HeaderFramework.CONNECTION_PROP_CLIENT_HTTPSERVLETREQUEST, request);
yacyRequestHeader.put(HeaderFramework.HOST, hostwithport );
yacyRequestHeader.put(HeaderFramework.CONNECTION_PROP_PATH, proxyurl.getPath());
final ByteArrayOutputStream tmpproxyout = new ByteArrayOutputStream(); final ByteArrayOutputStream tmpproxyout = new ByteArrayOutputStream();
HTTPDProxyHandler.doGet(prop, yacyRequestHeader, tmpproxyout, ClientIdentification.yacyProxyAgent); HTTPDProxyHandler.doGet(prop, yacyRequestHeader, tmpproxyout, ClientIdentification.yacyProxyAgent);

@ -256,7 +256,8 @@ public final class HTTPDProxyHandler {
} }
/** /**
* Get a page from the remote server as proxy request for the client * Get a page from the remote server as proxy request for the client.
* The target url is expected in the conProp CONNECTION_PROP_DIGESTURL
* *
* @param conProp a collection of properties about the connection, like URL * @param conProp a collection of properties about the connection, like URL
* @param requestHeader The header lines of the connection from the request * @param requestHeader The header lines of the connection from the request
@ -298,8 +299,6 @@ public final class HTTPDProxyHandler {
log.finest(reqID + " using redirector to " + url); log.finest(reqID + " using redirector to " + url);
} }
conProp.put(HeaderFramework.CONNECTION_PROP_DIGESTURL, url); conProp.put(HeaderFramework.CONNECTION_PROP_DIGESTURL, url);
requestHeader.put(HeaderFramework.HOST, url.getHost() + ":" + url.getPort());
requestHeader.put(HeaderFramework.CONNECTION_PROP_PATH, url.getPath());
} }
@ -401,7 +400,7 @@ public final class HTTPDProxyHandler {
* Get requested proxied page from the web * Get requested proxied page from the web
* *
* @param conProp * @param conProp
* @param url * @param url requested target url
* @param requestHeader * @param requestHeader
* @param cachedResponseHeader * @param cachedResponseHeader
* @param respond * @param respond

Loading…
Cancel
Save