Skip to content

Commit 74c9467

Browse files
committed
Fix requests getting messed up during git errors
1 parent 9dd7b54 commit 74c9467

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

platform_api/src/main/java/net/modfest/platform/git/GitRequestInterceptor.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
import net.modfest.platform.pojo.UserData;
66
import net.modfest.platform.security.BotFestIdentity;
77
import org.apache.shiro.SecurityUtils;
8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
810
import org.springframework.web.servlet.AsyncHandlerInterceptor;
911
import org.springframework.web.servlet.ModelAndView;
1012

1113
public class GitRequestInterceptor implements AsyncHandlerInterceptor {
14+
private static final Logger LOGGER = LoggerFactory.getLogger(GitRequestInterceptor.class);
1215
private final GlobalGitManager git;
1316

1417
public GitRequestInterceptor(GlobalGitManager git) {
@@ -35,13 +38,22 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons
3538
return true;
3639
}
3740

41+
private void onClose() {
42+
try {
43+
git.closeScope();
44+
} catch (Exception e) {
45+
// We can't throw exceptions at this point, it'll mess up the response
46+
LOGGER.error("Error during finalization of request", e);
47+
}
48+
}
49+
3850
@Override
3951
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
40-
git.closeScope();
52+
onClose();
4153
}
4254

4355
@Override
4456
public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
45-
git.closeScope();
57+
onClose();
4658
}
4759
}

0 commit comments

Comments
 (0)