提交 7bf67b6d 编写于 作者: K Kohsuke Kawaguchi

Avoid code duplication

上级 962c1c1d
......@@ -1765,4 +1765,24 @@ public class Functions {
.replaceAll("(\\w{10})(?=\\w{3})", "$1<wbr>")
;
}
/**
* Advertises the minimum set of HTTP headers that assist programmatic
* discovery of Jenkins.
*/
public static void advertiseHeaders(HttpServletResponse rsp) {
Jenkins j = Jenkins.getInstance();
rsp.setHeader("X-Hudson","1.395");
rsp.setHeader("X-Jenkins", Jenkins.VERSION);
rsp.setHeader("X-Jenkins-Session", Jenkins.SESSION_HASH);
TcpSlaveAgentListener tal = j.tcpSlaveAgentListener;
if (tal !=null) {
rsp.setIntHeader("X-Hudson-CLI-Port", tal.getPort());
rsp.setIntHeader("X-Jenkins-CLI-Port", tal.getPort());
rsp.setIntHeader("X-Jenkins-CLI2-Port", tal.getPort());
rsp.setHeader("X-Jenkins-CLI-Host", TcpSlaveAgentListener.CLI_HOST_NAME);
}
}
}
......@@ -23,6 +23,7 @@
*/
package hudson.security;
import hudson.Functions;
import jenkins.model.Jenkins;
import hudson.TcpSlaveAgentListener;
......@@ -84,14 +85,7 @@ public class HudsonAuthenticationEntryPoint extends AuthenticationProcessingFilt
rsp.setStatus(SC_FORBIDDEN);
rsp.setContentType("text/html;charset=UTF-8");
// advertise the CLI TCP port
TcpSlaveAgentListener tal = Jenkins.getInstance().getTcpSlaveAgentListener();
if (tal!=null) {
rsp.setIntHeader("X-Hudson-CLI-Port", tal.getPort());
rsp.setIntHeader("X-Jenkins-CLI-Port", tal.getPort());
rsp.setIntHeader("X-Jenkins-CLI2-Port", tal.getPort());
rsp.setHeader("X-Jenkins-CLI-Host", TcpSlaveAgentListener.CLI_HOST_NAME);
}
Functions.advertiseHeaders(rsp);
AccessDeniedException2 cause = null;
// report the diagnosis information if possible
......
......@@ -71,16 +71,7 @@ ${h.initPageVariables(context)}
<j:set var="_" value="${h.configureAutoRefresh(request, response, attrs.norefresh!=null)}"/>
<j:if test="${request.servletPath=='/' || request.servletPath==''}">
<st:setHeader name="X-Hudson" value="1.395"/>
<st:setHeader name="X-Jenkins" value="${servletContext.getAttribute('version')}"/>
<st:setHeader name="X-Jenkins-Session" value="${app.SESSION_HASH}"/>
<j:if test="${app.tcpSlaveAgentListener!=null}">
<!-- advertise the CLI TCP port -->
<st:setHeader name="X-Hudson-CLI-Port" value="${app.tcpSlaveAgentListener.port}"/>
<st:setHeader name="X-Jenkins-CLI-Port" value="${app.tcpSlaveAgentListener.port}"/>
<st:setHeader name="X-Jenkins-CLI2-Port" value="${app.tcpSlaveAgentListener.port}"/>
<st:setHeader name="X-Jenkins-CLI-Host" value="${app.tcpSlaveAgentListener.CLI_HOST_NAME}"/>
</j:if>
${h.advertiseHeaders(response)}
<j:forEach var="pd" items="${h.pageDecorators}">
<st:include it="${pd}" page="httpHeaders.jelly" optional="true"/>
</j:forEach>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册