diff --git a/htroot/opensearchdescription.java b/htroot/opensearchdescription.java index 59a594ade..1e2444e8e 100644 --- a/htroot/opensearchdescription.java +++ b/htroot/opensearchdescription.java @@ -25,6 +25,7 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import net.yacy.cora.protocol.Domains; +import net.yacy.cora.protocol.HeaderFramework; import net.yacy.cora.protocol.RequestHeader; import net.yacy.search.Switchboard; import net.yacy.search.SwitchboardConstants; @@ -39,7 +40,7 @@ public class opensearchdescription { String promoteSearchPageGreeting = env.getConfig(SwitchboardConstants.GREETING, ""); if (env.getConfigBool(SwitchboardConstants.GREETING_NETWORK_NAME, false)) promoteSearchPageGreeting = env.getConfig("network.unit.description", ""); - String thisaddress = header.get("Host"); // returns host:port (if not defalt http/https ports) + String thisaddress = header.get(HeaderFramework.HOST); // returns host:port (if not default http/https ports) String thisprotocol = "http"; if (thisaddress == null) { thisaddress = Domains.LOCALHOST + ":" + sb.getConfig("port", "8090"); @@ -49,6 +50,9 @@ public class opensearchdescription { thisprotocol = "https"; } } + /* YaCyDefaultServelt should have filled this custom header, making sure we know here wether original request is http or https + * (when default ports (80 and 443) are used, there is no way to distinguish the two schemes relying only on the Host header) */ + thisprotocol = header.get(HeaderFramework.X_YACY_REQUEST_SCHEME, thisprotocol); final serverObjects prop = new serverObjects(); prop.put("compareyacy", post != null && post.getBoolean("compare_yacy") ? 1 : 0); diff --git a/htroot/opensearchdescription.xml b/htroot/opensearchdescription.xml index 0b9bd37aa..8311b0c6b 100644 --- a/htroot/opensearchdescription.xml +++ b/htroot/opensearchdescription.xml @@ -2,7 +2,7 @@ - #(compareyacy)#::Compare #(/compareyacy)#YaCy/#[clientname]# + #(compareyacy)#::Compare #(/compareyacy)#YaCy Search on '#[clientname]#' YaCy.net - #[SearchPageGreeting]# #[thisprotocol]#://#[thisaddress]#/env/grafics/yacy.png data:image/x-icon;base64,AAABAAEAEBAAAAAAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////Chiu+fBm+fRq+fRq+fRq+fRq+fRq8ehXMmk////////////////////////////++exjUqGfZsnjYsXbYsXbYsXbZsnjTp2W+fBr///////////////////////////+9exfs2r/69/L58+z58+z58+z59e/z59bChSn///////////////////////////+9fBnnz638+fX69O369e748un38Ob59O3Ll0fVrGz////////////////////////Jk0HJlUjXuYrWt4jVtYPr28T58+r59OzPn1fPnlX////////////////////////Rolu8eRXCiTPEjTvCijbNnlj169359e7Zs3vLlkf////////////////////////UqmrAgSLt3MP27eH1693169327+T59Ozo0rG/gB////////////////////////////+/gCDv4Mn48+v38Of59Oz58+v48+vr2b2+fRv///////////////////////////+9ehXr17n58+z48ejo0bDp07T48+zx49DBhCj///////////////////////////+/fhzjyJ/59Oz59OzQoVvNmU759Oz58+vKlUbXrnH////////////////////////LlkfUqmn59Oz48+vZtHzNm1D48+v59OzPoFjOnlX////////////////////////OnVPOnFL59e348+vq1rnEiC7u38j69vDXsHTIkT3////////////////////////UqWjIkD327+T58+3s2bzAgSLp07T79/Pmzqq+fBn///////////////////////////+/fx7v4Mr7+PTx5NDHkD3kyqP8+vjs2r+9exf///////////////////////////++fBjQoFnVq2zTp2bGjTjJk0LWrW7SpWC+exf////////////////////////////Nm1C6dQy7eBG8eBK9exe8ehS7dxC6dQzLlkj////////////AH///wB8x+sAf///AD/+PwA///8AP///AD///4A9PU+APoz/gB///4AdxvOAHoz/gB3368AfjU/AHT1PwB/+P @@ -17,7 +17,7 @@ :: - + #(/compareyacy)# diff --git a/source/net/yacy/cora/protocol/HeaderFramework.java b/source/net/yacy/cora/protocol/HeaderFramework.java index 2aef01f6e..3c0f1fe62 100644 --- a/source/net/yacy/cora/protocol/HeaderFramework.java +++ b/source/net/yacy/cora/protocol/HeaderFramework.java @@ -113,6 +113,8 @@ public class HeaderFramework extends TreeMap implements Map