aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2023-02-22 02:13:52 +0300
committerGravatar Vitaly Takmazov2023-02-22 02:14:43 +0300
commit64e6b703b7fa50a31dc0b73ec85230aa99c77bd5 (patch)
tree446d846a320d6d163d3f40034f77596bf45b6f00 /src/main/java
parent065ae70dcd80463059e40cf1d60133ac260144ca (diff)
Switch to Tomcat and omit its exceptions from logs
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/juick/www/api/Index.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/main/java/com/juick/www/api/Index.java b/src/main/java/com/juick/www/api/Index.java
index 7430c22d..1c990c65 100644
--- a/src/main/java/com/juick/www/api/Index.java
+++ b/src/main/java/com/juick/www/api/Index.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2021, Juick
+ * Copyright (C) 2008-2023, Juick
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
+import java.io.IOException;
import java.net.URI;
/**
@@ -61,4 +62,21 @@ public class Index {
public ResponseEntity<String> badRequest(final ConstraintViolationException exception) {
return ResponseEntity.badRequest().body(exception.getMessage());
}
+ @ExceptionHandler(IOException.class)
+ public ResponseEntity<String> handleAbortedConnection(final IOException ex)
+ {
+ // avoids compile/runtime dependency by using class name
+ if (ex.getClass().getName().equals("org.apache.catalina.connector.ClientAbortException"))
+ {
+ return null;
+ }
+
+ // log and return error page for any other IOExceptions
+ if (logger.isWarnEnabled())
+ {
+ logger.warn("IO Error", ex);
+ }
+
+ return ResponseEntity.badRequest().body(ex.getMessage());
+ }
}