aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pom.xml16
-rw-r--r--src/main/java/com/juick/www/api/Index.java20
2 files changed, 19 insertions, 17 deletions
diff --git a/pom.xml b/pom.xml
index aa48b4db..16e4cc2b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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());
+ }
}