@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
try {
if (GitSmartHttpTools.isInfoRefs(httpRequest)) {
if (gitPlex.isReady())
processRefs(httpRequest, httpResponse);
else
throw new GitException("Server is not ready");
} else if (GitSmartHttpTools.isReceivePack(httpRequest) || GitSmartHttpTools.isUploadPack(httpRequest)) {
if (gitPlex.isReady())
processPacks(httpRequest, httpResponse);
else
throw new GitException("Server is not ready");
} else {
chain.doFilter(request, response);
}
} catch (GitException|InterruptedException|ExecutionException e) {
logger.error("Error serving git request", e);
GitSmartHttpTools.sendError(httpRequest, httpResponse, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
}
}
GitFilter.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:gitplex-mit
作者:
评论列表
文章目录