Commit: 188fc92

Commit Details

SHA188fc92ac938e5ecdaaba64fb6d1dbffeba30181
Tree2cc04755c4f7f8be29aafd7e581f1f25e14edd58
Author<f69e50@finnacloud.com> 1766442998 +0300
Committer<f69e50@finnacloud.com> 1766442998 +0300
Message
increment
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlJx/YeHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKyF8P/j6F8McjkGTBhDFX
frSY0CqkszvNegnZnDj4AkVjoJl7AK0RY0KLLQxrRUJq/MIA/FPj9G7df9jUJcae
TS+tvTZzWOXZ3EXomyNPangFgm5yAgmelwJYgeQdTmzIY3miM8/BdQg10GNC6Fjq
iEn6PKkpkItfiy+vftAABqe73SI9Vn6nwkUn2zVEsXBX1Kmv/ya9auodjFegvcbz
pRx5BL3xNYaA57c8WG9Fx+XaQPdaeLMcu/kM8diY0XTWqtdR+OfrPlU2JOApB0yO
G4P6zG6h5w2XWCqtbqfszDt94drbArJ9cQbWLlgbiNjpK+qJVvG+HGXxPGgvzLA3
9HhZxzUJobkt0MycngmZryj25b6kdO6OA5BCBCjdMkHjIvmBpLXYD5y5uYnerR0n
YEDyB5noRAiYbb2Skg1dp9dpNxq5LF1WkJpWM+nCXlOU6jKj3ucOJ7JP2+gVWA7N
jFdEUIfX65Q9CcBQqQX1vWyGJCc/Z0sNGE0Dc06PrpPk/U10oFNZOdCbUNEWU4Pk
yqATdaAI1BdvZjAip6QQ/jtIuHkwigAk9uUp21VlZ1NnXXLixmA53y12fi8f3DnB
yl55qYeoTOyEg5N7k1ukOt5rgoJ28szscEwvYmwL56uDtlrXly/vrSNrMi322aJK
IJeozLKMpf6Q9A3vN000vGTA6VjP
=Whh7
-----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