From f601eb201eb770875a788178ea7c715981b08cab Mon Sep 17 00:00:00 2001 From: Rachel Aurand Date: Mon, 28 Jul 2025 12:16:46 -0700 Subject: [PATCH 1/2] add try-with-resources to spring json reader --- build.gradle | 3 ++- gradle/wrapper/gradle-wrapper.properties | 2 +- plugin/build.gradle | 2 +- .../com/flit/protoc/gen/server/spring/RpcGenerator.java | 8 ++++++-- .../HelloworldGeneratorTest.test_Generate.approved.txt | 8 ++++++-- ...rldGeneratorTest.test_GenerateWithRequest.approved.txt | 8 ++++++-- .../spring/StatusGeneratorTest.test_Generate.approved.txt | 4 +++- 7 files changed, 25 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 77517fd..aa335f9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,13 @@ plugins { id 'java-library' id 'maven-publish' - id 'dev.poolside.gradle.semantic-version' version '0.1.5' + id 'dev.poolside.gradle.semantic-version' version '1.0.0' } allprojects { apply plugin: 'java-library' apply plugin: 'maven-publish' + apply plugin: 'dev.poolside.gradle.semantic-version' repositories { mavenCentral() diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..d4081da 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/plugin/build.gradle b/plugin/build.gradle index cd54ba7..63caba9 100644 --- a/plugin/build.gradle +++ b/plugin/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.github.johnrengelman.shadow" version "8.1.1" + id 'com.gradleup.shadow' version '8.3.8' } dependencies { diff --git a/plugin/src/main/java/com/flit/protoc/gen/server/spring/RpcGenerator.java b/plugin/src/main/java/com/flit/protoc/gen/server/spring/RpcGenerator.java index facfe76..44e1595 100644 --- a/plugin/src/main/java/com/flit/protoc/gen/server/spring/RpcGenerator.java +++ b/plugin/src/main/java/com/flit/protoc/gen/server/spring/RpcGenerator.java @@ -61,10 +61,14 @@ private void addHandleMethod(DescriptorProtos.MethodDescriptorProto m) { .nextControlFlow("else if (request.getContentType().startsWith($S))", "application/json") .addStatement("json = true") .addStatement("$T.Builder builder = $T.newBuilder()", inputType, inputType) - .addStatement("$T.parser().merge(new $T(request.getInputStream(), $T.UTF_8), builder)", - Types.JsonFormat, + // try with resources + .beginControlFlow("try ($T reader = new $T(request.getInputStream(), $T.UTF_8))", + Types.InputStreamReader, Types.InputStreamReader, Types.StandardCharsets) + .addStatement("$T.parser().merge(reader, builder)", + Types.JsonFormat) + .endControlFlow() .addStatement("data = builder.build()") .nextControlFlow("else") .addStatement("response.setStatus(415)") diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_Generate.approved.txt index d7130fe..ee260ea 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_Generate.approved.txt @@ -33,7 +33,9 @@ public class RpcHelloWorldController { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -60,7 +62,9 @@ public class RpcHelloWorldController { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt index 1c488ad..3589ff7 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/spring/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt @@ -35,7 +35,9 @@ public class RpcHelloWorldController { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -62,7 +64,9 @@ public class RpcHelloWorldController { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/spring/StatusGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/spring/StatusGeneratorTest.test_Generate.approved.txt index 1a58b3b..db9111e 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/spring/StatusGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/spring/StatusGeneratorTest.test_Generate.approved.txt @@ -31,7 +31,9 @@ public class RpcStatusController { } else if (request.getContentType().startsWith("application/json")) { json = true; Core.Empty.Builder builder = Core.Empty.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); From 92b5b109f620d1aa7fb7596eb24febbf5e09c38f Mon Sep 17 00:00:00 2001 From: Rachel Aurand Date: Mon, 28 Jul 2025 12:23:29 -0700 Subject: [PATCH 2/2] update the rest of the generators --- .../com/flit/protoc/gen/server/jakarta/RpcGenerator.java | 8 ++++++-- .../com/flit/protoc/gen/server/jaxrs/RpcGenerator.java | 8 ++++++-- .../flit/protoc/gen/server/undertow/RpcGenerator.java | 9 ++++++++- .../HelloworldGeneratorTest.test_Generate.approved.txt | 8 ++++++-- ...ldGeneratorTest.test_GenerateWithRequest.approved.txt | 8 ++++++-- .../StatusGeneratorTest.test_Generate.approved.txt | 4 +++- .../HelloworldGeneratorTest.test_Generate.approved.txt | 8 ++++++-- ...ldGeneratorTest.test_GenerateWithRequest.approved.txt | 8 ++++++-- .../jaxrs/StatusGeneratorTest.test_Generate.approved.txt | 4 +++- .../HelloworldGeneratorTest.test_Generate.approved.txt | 8 ++++++-- ...ldGeneratorTest.test_GenerateWithRequest.approved.txt | 8 ++++++-- .../StatusGeneratorTest.test_Generate.approved.txt | 4 +++- 12 files changed, 65 insertions(+), 20 deletions(-) diff --git a/plugin/src/main/java/com/flit/protoc/gen/server/jakarta/RpcGenerator.java b/plugin/src/main/java/com/flit/protoc/gen/server/jakarta/RpcGenerator.java index bc26e48..3fbcf2a 100644 --- a/plugin/src/main/java/com/flit/protoc/gen/server/jakarta/RpcGenerator.java +++ b/plugin/src/main/java/com/flit/protoc/gen/server/jakarta/RpcGenerator.java @@ -78,10 +78,14 @@ private void addHandleMethod(MethodDescriptorProto mdp) { .nextControlFlow("else if (request.getContentType().startsWith($S))", "application/json") .addStatement("json = true") .addStatement("$T.Builder builder = $T.newBuilder()", inputType, inputType) - .addStatement("$T.parser().merge(new $T(request.getInputStream(), $T.UTF_8), builder)", - Types.JsonFormat, + // try with resources + .beginControlFlow("try ($T reader = new $T(request.getInputStream(), $T.UTF_8))", + Types.InputStreamReader, Types.InputStreamReader, Types.StandardCharsets) + .addStatement("$T.parser().merge(reader, builder)", + Types.JsonFormat) + .endControlFlow() .addStatement("data = builder.build()") .nextControlFlow("else") .addStatement("response.setStatus(415)") diff --git a/plugin/src/main/java/com/flit/protoc/gen/server/jaxrs/RpcGenerator.java b/plugin/src/main/java/com/flit/protoc/gen/server/jaxrs/RpcGenerator.java index 8e1f3c4..bd14e0b 100644 --- a/plugin/src/main/java/com/flit/protoc/gen/server/jaxrs/RpcGenerator.java +++ b/plugin/src/main/java/com/flit/protoc/gen/server/jaxrs/RpcGenerator.java @@ -78,10 +78,14 @@ private void addHandleMethod(MethodDescriptorProto mdp) { .nextControlFlow("else if (request.getContentType().startsWith($S))", "application/json") .addStatement("json = true") .addStatement("$T.Builder builder = $T.newBuilder()", inputType, inputType) - .addStatement("$T.parser().merge(new $T(request.getInputStream(), $T.UTF_8), builder)", - Types.JsonFormat, + // try with resources + .beginControlFlow("try ($T reader = new $T(request.getInputStream(), $T.UTF_8))", + Types.InputStreamReader, Types.InputStreamReader, Types.StandardCharsets) + .addStatement("$T.parser().merge(reader, builder)", + Types.JsonFormat) + .endControlFlow() .addStatement("data = builder.build()") .nextControlFlow("else") .addStatement("response.setStatus(415)") diff --git a/plugin/src/main/java/com/flit/protoc/gen/server/undertow/RpcGenerator.java b/plugin/src/main/java/com/flit/protoc/gen/server/undertow/RpcGenerator.java index 5ec23ba..160ac88 100644 --- a/plugin/src/main/java/com/flit/protoc/gen/server/undertow/RpcGenerator.java +++ b/plugin/src/main/java/com/flit/protoc/gen/server/undertow/RpcGenerator.java @@ -137,7 +137,14 @@ private void writeHandleMethod(DescriptorProtos.MethodDescriptorProto m) { .nextControlFlow("else if (contentType.startsWith($S))", "application/json") .addStatement("json = true") .addStatement("$T.Builder builder = $T.newBuilder()", inputType, inputType) - .addStatement("$T.parser().merge(new $T(exchange.getInputStream(), $T.UTF_8), builder)", JsonFormat, InputStreamReader, StandardCharsets) + // try with resources + .beginControlFlow("try ($T reader = new $T(exchange.getInputStream(), $T.UTF_8))", + InputStreamReader, + InputStreamReader, + StandardCharsets) + .addStatement("$T.parser().merge(reader, builder)", + JsonFormat) + .endControlFlow() .addStatement("data = builder.build()") .nextControlFlow("else") .addStatement("exchange.setStatusCode(415)") diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_Generate.approved.txt index 21cd4d1..9393d6f 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_Generate.approved.txt @@ -37,7 +37,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -67,7 +69,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt index b97fe8e..a787e36 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt @@ -39,7 +39,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -69,7 +71,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/StatusGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/StatusGeneratorTest.test_Generate.approved.txt index 41d4639..65361e6 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/StatusGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jakarta/StatusGeneratorTest.test_Generate.approved.txt @@ -35,7 +35,9 @@ public class RpcStatusResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Core.Empty.Builder builder = Core.Empty.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_Generate.approved.txt index a76f26e..d39fd52 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_Generate.approved.txt @@ -37,7 +37,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -67,7 +69,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt index 4dbc450..d882f8c 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt @@ -39,7 +39,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); @@ -69,7 +71,9 @@ public class RpcHelloWorldResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/StatusGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/StatusGeneratorTest.test_Generate.approved.txt index a466727..8b5157d 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/StatusGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/jaxrs/StatusGeneratorTest.test_Generate.approved.txt @@ -35,7 +35,9 @@ public class RpcStatusResource { } else if (request.getContentType().startsWith("application/json")) { json = true; Core.Empty.Builder builder = Core.Empty.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { response.setStatus(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_Generate.approved.txt index 51361d0..0db3aa3 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_Generate.approved.txt @@ -69,7 +69,9 @@ public class RpcHelloWorldHandler implements HttpHandler { } else if (contentType.startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { exchange.setStatusCode(415); @@ -95,7 +97,9 @@ public class RpcHelloWorldHandler implements HttpHandler { } else if (contentType.startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { exchange.setStatusCode(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt index ec2a09e..760a38e 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/HelloworldGeneratorTest.test_GenerateWithRequest.approved.txt @@ -71,7 +71,9 @@ public class RpcHelloWorldHandler implements HttpHandler { } else if (contentType.startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { exchange.setStatusCode(415); @@ -97,7 +99,9 @@ public class RpcHelloWorldHandler implements HttpHandler { } else if (contentType.startsWith("application/json")) { json = true; Helloworld.HelloReq.Builder builder = Helloworld.HelloReq.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { exchange.setStatusCode(415); diff --git a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/StatusGeneratorTest.test_Generate.approved.txt b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/StatusGeneratorTest.test_Generate.approved.txt index 884a706..2784862 100644 --- a/plugin/src/test/java/com/flit/protoc/gen/server/undertow/StatusGeneratorTest.test_Generate.approved.txt +++ b/plugin/src/test/java/com/flit/protoc/gen/server/undertow/StatusGeneratorTest.test_Generate.approved.txt @@ -66,7 +66,9 @@ public class RpcStatusHandler implements HttpHandler { } else if (contentType.startsWith("application/json")) { json = true; Core.Empty.Builder builder = Core.Empty.newBuilder(); - JsonFormat.parser().merge(new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8), builder); + try (InputStreamReader reader = new InputStreamReader(exchange.getInputStream(), StandardCharsets.UTF_8)) { + JsonFormat.parser().merge(reader, builder); + } data = builder.build(); } else { exchange.setStatusCode(415);