Skip to content
Snippets Groups Projects
Commit 31a1b827 authored by Léo Banno-Cloutier's avatar Léo Banno-Cloutier
Browse files

jams-server: better 404 handling

Change-Id: I99970a5b3b1bcf409162b89b3d94df7357fcc761
parent 0b923a40
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,7 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.jami.jams.common.objects.user.Group;
import net.jami.jams.common.serialization.tomcat.TomcatCustomErrorHandler;
import net.jami.jams.server.core.workflows.RegisterDeviceFlow;
import net.jami.jams.server.servlets.api.auth.device.DeviceServlet;
......@@ -60,6 +61,7 @@ public class PolicyDataServlet extends HttpServlet {
* "Account.uiCustomization":
* "{\"areTipsEnabled\":false,\"backgroundType\":\"default\"}"
* }]
* @apiError (404) {null} null Policy Data could not be retrieved
* @apiError (500) {null} null Policy Data could not be retrieved
*/
@Override
......@@ -71,7 +73,8 @@ public class PolicyDataServlet extends HttpServlet {
String policyData = RegisterDeviceFlow.getPolicyData(group);
if (policyData == null) {
resp.setStatus(404);
TomcatCustomErrorHandler.sendCustomError(
resp, 404, "Policy Data not found for this user");
return;
}
......
......@@ -11,7 +11,6 @@ import jakarta.servlet.http.Part;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
......@@ -162,6 +161,11 @@ public class FileHandlerServlet extends HttpServlet {
String fileName = pathParts[3];
Path imageFilePath = Paths.get(IMAGES_DIR, blueprintName, imageType, fileName);
if (!imageFilePath.toFile().exists()) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
byte[] imageData = Files.readAllBytes(imageFilePath);
String mimeType = Files.probeContentType(imageFilePath);
......@@ -174,9 +178,6 @@ public class FileHandlerServlet extends HttpServlet {
try (OutputStream out = response.getOutputStream()) {
out.write(imageData);
}
} catch (FileNotFoundException e) {
log.error("FileHandlerServlet: Error while processing request", e);
response.sendError(HttpServletResponse.SC_NOT_FOUND);
} catch (IOException e) {
log.error("FileHandlerServlet: Error while processing request", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment