Skip to content

Commit 4778be3

Browse files
authored
Merge pull request #350 from filipesantana18/main
Handle NoResourceFoundException gracefully to reduce log noise from security scanners
2 parents 2247485 + 437e1ac commit 4778be3

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

oidc/src/main/java/oidc/web/CustomErrorController.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141

4242
import static oidc.saml.AuthnRequestContextConsumer.REDIRECT_URI_VALID;
4343
import static org.springframework.http.HttpStatus.BAD_REQUEST;
44+
import static org.springframework.http.HttpStatus.NOT_FOUND;
4445

4546
@RestController
4647
public class CustomErrorController implements org.springframework.boot.web.servlet.error.ErrorController {
@@ -77,6 +78,13 @@ public Object error(HttpServletRequest request) {
7778
if (error != null && error.getCause() != null) {
7879
error = error.getCause();
7980
}
81+
// Short-circuit for non-existent resource requests (e.g. security scans)
82+
if (error instanceof NoResourceFoundException) {
83+
LOG.debug("No resource found: " + error.getMessage());
84+
boolean hasStatus = result.containsKey("status") && !result.get("status").equals(999);
85+
HttpStatus code = hasStatus ? HttpStatus.resolve((Integer) result.get("status")) : NOT_FOUND;
86+
return ResponseEntity.status(code != null ? code : NOT_FOUND).build();
87+
}
8088
boolean status = result.containsKey("status") && !result.get("status").equals(999) && !result.get("status").equals(500);
8189
HttpStatus statusCode = status ? HttpStatus.resolve((Integer) result.get("status")) : BAD_REQUEST;
8290
if (error != null) {

0 commit comments

Comments
 (0)