Skip to content
Snippets Groups Projects
Commit a203842a authored by Homada.Boumedane's avatar Homada.Boumedane Committed by Hugues.Cazeaux
Browse files

feat: improve controller advice to support 'ResponseStatusException'

parent 2ce79a0d
No related branches found
No related tags found
1 merge request!418feat: improve controller advice to support 'ResponseStatusException'
......@@ -28,9 +28,6 @@ import static ch.unige.solidify.controller.SolidifyControllerAdvice.StackTraceDi
import java.util.NoSuchElementException;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
......@@ -55,11 +52,14 @@ import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.multipart.support.MissingServletRequestPartException;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.resource.NoResourceFoundException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import ch.unige.solidify.config.SolidifyProperties;
import ch.unige.solidify.exception.SolidifyBulkActionException;
......@@ -284,6 +284,18 @@ public class SolidifyControllerAdvice {
return this.buildResponse(exception, request, "MFA needed", HttpStatus.UNAUTHORIZED, WITHOUT_STACK_TRACE);
}
/**
* Use to catch ResponseStatusException and build response based on it's params
*
* @param ex
* @param request
* @return
*/
@ExceptionHandler(ResponseStatusException.class)
public ResponseEntity<SolidifyError> handleResponseStatusException(ResponseStatusException ex, HttpServletRequest request) {
return this.buildResponse(ex, request, ex.getReason(), ex.getStatusCode(), WITHOUT_STACK_TRACE);
}
protected ResponseEntity<SolidifyError> buildBadRequestResponse(Exception exception, HttpServletRequest request, SolidifyError solidifyError) {
this.logException(exception, request, this.badRequestStacktrace);
this.logErrorAsJson(solidifyError);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment