@Override protected ModelAndView handleRequestInternal( HttpServletRequest request, HttpServletResponse response) throws Exception { String pathInfoStr = request.getPathInfo(); String[] pathInfo = pathInfoStr.substring(1).split("/"); String prefix = pathInfo[pathInfo.length - 1]; String reqMethod = request.getMethod(); if (METHOD_HEAD.equals(reqMethod)) { logger.info("HEAD namespace for prefix {}", prefix); Map<String, Object> model = new HashMap<String, Object>(); return new ModelAndView(SimpleResponseView.getInstance(), model); } if (METHOD_GET.equals(reqMethod)) { logger.info("GET namespace for prefix {}", prefix); return getExportNamespaceResult(request, prefix); } else if ("PUT".equals(reqMethod)) { logger.info("PUT prefix {}", prefix); return getUpdateNamespaceResult(request, prefix); } else if ("DELETE".equals(reqMethod)) { logger.info("DELETE prefix {}", prefix); return getRemoveNamespaceResult(request, prefix); } else { throw new ServerHTTPException("Unexpected request method: " + reqMethod); } }