Commit: e6d1548

Commit Details

SHAe6d1548c463d8763fb5547ff07a35c521f15c296
Tree2d2b62527861022ccf13eb205ea2bf7c0e4013fd
Author<f69e50@finnacloud.com> 1766442769 +0300
Committer<f69e50@finnacloud.com> 1766442769 +0300
Message
add initial test workflow file
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlJxxEeHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKb7YP/2QctdaPuHu4+vFn
fh0Opgqt1brKy9JQxV9JZ9tF5XA+rWVi6pyIZK4lywX+a4er+h29sQY7TEHZt9Xn
meAyRUhPbRPmIpRJMMCgstfILUpjNMkMcPE80kJfpp6+ZmLtO8vC4TnW3ATCK1tv
XISV00T4ajCAhZUmYTveNsvSiMMv/Tq4sF9Is4ix+JN7O/lSLseRtuUE1Vv7T7nY
citxLPwR42Eb/1CYhy0JbRYXP816cbe6dGeDeiDZp7EHKx5D8VAqULKRsAL19tSX
hup8N7owBXieuzNQ4RyaDfDJAfNoN3o9pFeD6vQPq8s7x6AloN625g58p0ssxfK+
CGhR0YHR7atR0pEens22p7g2dVJ7NsrKqDBE3TTeUOpfXfjOwqpVh1Bn/v7a2Vg9
o9mhIClSOLfYv2SXJ06+fn8l6oc70nLJkBfcTevmeF//Z9yGH7TXZNUcedxuBbFg
xfEHeJibTamiE3Z1SfHW1YLwe7QqbBogCIxq4RrpYtN15a65vT5HxyLHDJDGG20V
7z34QJhKXIni/AIGscZqx2kE/C42KSD2fBvqvA4YnPwEUQyMvnSSDSKuJ6flXPTv
RsPZMdNsWWWyJ8P/NTo0Y/PPwA/28p9pX064H2lHFNvSEzUYJdKyQXNV3pGWYAvc
PR8Z+nHfbK/EF5jOVJ8+erXzzXUN
=COmA
-----END PGP SIGNATURE-----

✓ Verified

File: src/main/java/com/paymentlink/exception/GlobalExceptionHandler.java

1 package com.paymentlink.exception;
2
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 import org.springframework.http.HttpStatus;
6 import org.springframework.web.bind.annotation.ControllerAdvice;
7 import org.springframework.web.bind.annotation.ExceptionHandler;
8 import org.springframework.web.bind.annotation.ResponseStatus;
9 import org.springframework.web.servlet.ModelAndView;
10
11 @ControllerAdvice
12 public class GlobalExceptionHandler {
13
14 private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
15
16 @ExceptionHandler(RegionBlockedException.class)
17 @ResponseStatus(HttpStatus.FORBIDDEN)
18 public ModelAndView handleRegionBlocked(RegionBlockedException ex) {
19 logger.warn("Region blocked: {} ({})", ex.getCountryName(), ex.getCountryCode());
20
21 ModelAndView mav = new ModelAndView("region-blocked");
22 mav.addObject("countryCode", ex.getCountryCode());
23 mav.addObject("countryName", ex.getCountryName());
24 mav.addObject("message", "Service is not available in your region");
25
26 return mav;
27 }
28
29 @ExceptionHandler(Exception.class)
30 @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
31 public ModelAndView handleGenericException(Exception ex) {
32 logger.error("Unexpected error", ex);
33
34 ModelAndView mav = new ModelAndView("error");
35 mav.addObject("message", "An unexpected error occurred");
36 mav.addObject("error", ex.getMessage());
37
38 return mav;
39 }
40 }
41