aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java b/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java
index 7d0a5122..5a57ad71 100644
--- a/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java
+++ b/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java
@@ -12,10 +12,14 @@ import jakarta.servlet.http.HttpServlet;
12import jakarta.servlet.http.HttpServletRequest; 12import jakarta.servlet.http.HttpServletRequest;
13import jakarta.servlet.http.HttpServletResponse; 13import jakarta.servlet.http.HttpServletResponse;
14import org.eclipse.jetty.http.HttpStatus; 14import org.eclipse.jetty.http.HttpStatus;
15import org.slf4j.Logger;
16import org.slf4j.LoggerFactory;
15 17
16import java.io.IOException; 18import java.io.IOException;
17 19
18public class BackendConfigServlet extends HttpServlet { 20public class BackendConfigServlet extends HttpServlet {
21 private static final Logger LOG = LoggerFactory.getLogger(BackendConfigServlet.class);
22
19 public static final String WEBSOCKET_URL_INIT_PARAM = "tools.refinery.language.web.config.BackendConfigServlet" + 23 public static final String WEBSOCKET_URL_INIT_PARAM = "tools.refinery.language.web.config.BackendConfigServlet" +
20 ".webSocketUrl"; 24 ".webSocketUrl";
21 25
@@ -31,11 +35,19 @@ public class BackendConfigServlet extends HttpServlet {
31 } 35 }
32 36
33 @Override 37 @Override
34 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { 38 protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
35 resp.setStatus(HttpStatus.OK_200); 39 resp.setStatus(HttpStatus.OK_200);
36 resp.setContentType("application/json"); 40 resp.setContentType("application/json");
37 var writer = resp.getWriter(); 41 try {
38 writer.write(serializedConfig); 42 var writer = resp.getWriter();
39 writer.flush(); 43 writer.write(serializedConfig);
44 writer.flush();
45 } catch (IOException e) {
46 LOG.error("Failed to write backend config", e);
47 if (!resp.isCommitted()) {
48 resp.reset();
49 resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
50 }
51 }
40 } 52 }
41} 53}