diff options
-rw-r--r-- | pom.xml | 16 | ||||
-rw-r--r-- | src/main/java/com/juick/www/api/Index.java | 20 |
2 files changed, 19 insertions, 17 deletions
@@ -35,12 +35,6 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> - <exclusions> - <exclusion> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> @@ -72,16 +66,6 @@ <artifactId>spring-boot-starter-json</artifactId> </dependency> <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-undertow</artifactId> - <exclusions> - <exclusion> - <groupId>io.undertow</groupId> - <artifactId>undertow-websockets-jsr</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> </dependency> 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()); + } } |