aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java')
-rw-r--r--subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java39
1 files changed, 39 insertions, 0 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
new file mode 100644
index 00000000..f314a9fa
--- /dev/null
+++ b/subprojects/language-web/src/main/java/tools/refinery/language/web/config/BackendConfigServlet.java
@@ -0,0 +1,39 @@
1package tools.refinery.language.web.config;
2
3import com.google.gson.Gson;
4import jakarta.servlet.ServletConfig;
5import jakarta.servlet.ServletException;
6import jakarta.servlet.http.HttpServlet;
7import jakarta.servlet.http.HttpServletRequest;
8import jakarta.servlet.http.HttpServletResponse;
9import org.eclipse.jetty.http.HttpStatus;
10
11import java.io.IOException;
12
13public class BackendConfigServlet extends HttpServlet {
14 public static final String WEBSOCKET_URL_INIT_PARAM = "tools.refinery.language.web.config.BackendConfigServlet" +
15 ".webSocketUrl";
16
17 private String serializedConfig;
18
19 @Override
20 public void init(ServletConfig config) throws ServletException {
21 super.init(config);
22 var webSocketUrl = config.getInitParameter(WEBSOCKET_URL_INIT_PARAM);
23 if (webSocketUrl == null) {
24 throw new IllegalArgumentException("Init parameter " + WEBSOCKET_URL_INIT_PARAM + " is mandatory");
25 }
26 var backendConfig = new BackendConfig(webSocketUrl);
27 var gson = new Gson();
28 serializedConfig = gson.toJson(backendConfig);
29 }
30
31 @Override
32 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
33 resp.setStatus(HttpStatus.OK_200);
34 resp.setContentType("application/json");
35 var writer = resp.getWriter();
36 writer.write(serializedConfig);
37 writer.flush();
38 }
39}