From 13d52b7dd495c68c72ad8ab3f5063307bf42cfad Mon Sep 17 00:00:00 2001 From: Tibor Blenessy Date: Mon, 13 Jan 2020 11:44:34 +0100 Subject: Implement close endpoint to shutdown the Node.js process (#243) --- .../sonar/css/plugin/server/CssAnalyzerBridgeServer.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sonar-css-plugin/src/main') diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java index b998f4f..424021a 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java @@ -238,11 +238,24 @@ public class CssAnalyzerBridgeServer implements Startable { void clean() { if (nodeCommand != null) { + callClose(); nodeCommand.destroy(); nodeCommand = null; } } + private void callClose() { + okhttp3.Request request = new okhttp3.Request.Builder() + .url(url("close")) + .post(RequestBody.create(MediaType.get("application/json"), "")) + .build(); + try (Response response = client.newCall(request).execute()) { + // nothing to do here + } catch (IOException e) { + LOG.warn("Failed to close stylelint-bridge server", e); + } + } + private HttpUrl url(String endpoint) { HttpUrl.Builder builder = new HttpUrl.Builder(); return builder -- cgit v1.2.3