Author: degenaro Date: Tue Jan 22 19:49:50 2019 New Revision: 1851857 URL: http://svn.apache.org/viewvc?rev=1851857&view=rev Log: UIMA-5742 Reliable DUCC
> provide WS servlet to return ducc hostname Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1851857&r1=1851856&r2=1851857&view=diff ============================================================================== --- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original) +++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Tue Jan 22 19:49:50 2019 @@ -140,6 +140,7 @@ public class DuccHandler extends DuccAbs private String duccVersion = duccContext+"/version"; private String duccHome = duccContext+"/home"; + private String duccHostname = duccContext+"/hostname"; private String duccLoginLink = duccContext+"/login-link"; private String duccLogoutLink = duccContext+"/logout-link"; @@ -304,6 +305,27 @@ public class DuccHandler extends DuccAbs response.getWriter().println(sb); duccLogger.trace(methodName, null, messages.fetch("exit")); } + + private void handleDuccServletHostname(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) + throws IOException, ServletException + { + String methodName = "handleDuccServletHostname"; + duccLogger.trace(methodName, null, messages.fetch("enter")); + StringBuffer sb = new StringBuffer(); + try { + Process p = Runtime.getRuntime().exec("hostname"); + BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); + String hostname = ""; + while ((hostname = stdInput.readLine()) != null) { + sb.append(hostname); + } + } + catch(Exception e) { + duccLogger.error(methodName, null, e); + } + response.getWriter().println(sb); + duccLogger.trace(methodName, null, messages.fetch("exit")); + } private void handleDuccServletAuthenticationStatus(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException @@ -4459,6 +4481,10 @@ public class DuccHandler extends DuccAbs handleDuccServletHome(target, baseRequest, request, response); //DuccWebUtil.noCache(response); } + else if(reqURI.startsWith(duccHostname)) { + handleDuccServletHostname(target, baseRequest, request, response); + //DuccWebUtil.noCache(response); + } else if(reqURI.startsWith(duccAuthenticationStatus)) { handleDuccServletAuthenticationStatus(target, baseRequest, request, response); DuccWebUtil.noCache(response);