import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.Reader;
import java.util.List;
import java.util.function.Supplier;
m.setIgnoreAttachments(ignoreAttachments);
final var jsonOutputWriter = (JsonWriter) outputWriter;
- final var reader = new BufferedReader(new InputStreamReader(System.in));
- final Supplier<String> lineSupplier = () -> {
+ final Supplier<String> lineSupplier = getLineSupplier(new InputStreamReader(System.in));
+
+ final var handler = new SignalJsonRpcDispatcherHandler(m, jsonOutputWriter, lineSupplier);
+ handler.handleConnection();
+
+ private Supplier<String> getLineSupplier(final Reader reader) {
+ final var bufferedReader = new BufferedReader(reader);
+ return () -> {
try {
- return reader.readLine();
+ return bufferedReader.readLine();
} catch (IOException e) {
- throw new AssertionError(e);
+ logger.error("Error occurred while reading line", e);
+ return null;
}
};
-
- final var handler = new SignalJsonRpcDispatcherHandler(m, jsonOutputWriter, lineSupplier);
- handler.handleConnection();
}
}