GitFilter.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:gitplex-mit 作者:
@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());
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号