Skip to content

Commit

Permalink
Show error page when runtime exception happens
Browse files Browse the repository at this point in the history
  • Loading branch information
Portals committed Jun 18, 2024
1 parent dd3bcfd commit 7125eaa
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package it.chalmers.gamma.adapter.primary.web;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class GammaErrorController implements ErrorController {

@GetMapping("/error")
public ModelAndView handleRuntimeException(@RequestHeader(value = "HX-Request", required = false) boolean htmxRequest, HttpServletResponse response) {
response.addHeader("HX-Retarget", "body");
response.addHeader("HX-Reswap", "innerHTML");

ModelAndView mv = new ModelAndView();
if (htmxRequest) {
mv.setViewName("pages/error");
} else {
mv.setViewName("index");
mv.addObject("page", "pages/error");
}

return mv;
}

}
14 changes: 14 additions & 0 deletions app/src/main/resources/templates/pages/error.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<header th:replace="~{common/header}"></header>
<main>
<article>
<header>
500 - Internal Server Error
</header>
<p>Something went wrong...</p>
<footer>
<a href="/">
<button type="button">Go home</button>
</a>
</footer>
</article>
</main>

0 comments on commit 7125eaa

Please sign in to comment.