public void writeTo()

in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/controllers/TimebaseController.java [1361:1402]


        public void writeTo(@NotNull OutputStream outputStream) throws IOException {

            try (OutputStreamWriter writer = new OutputStreamWriter(outputStream)) {
                int messageIndex = 0;
                boolean needComma = false;

                writer.append('[');
                final long limitIndex = Math.min(MAX_NUMBER_OF_RECORDS_PER_REST_RESULTSET + startIndex, endIndex); // inclusive
                while (source.next() && messageIndex <= limitIndex) {
                    if (messageIndex >= startIndex) {

                        RawMessage raw = (RawMessage) source.getMessage();
                        if (raw.getTimeStampMs() > toTimestamp)
                            break;

                        sb.setLength(0);
                        if (needComma)
                            sb.append(',');
                        else
                            needComma = true;
                        try {
                            printer.append(raw, sb);
                            writer.append(sb);
                        } catch (Throwable ex) {
                            LOGGER.error("Error sending message [%s: %s, %s]: %s")
                                    .with(source.getCurrentStreamKey())
                                    .with(raw.getSymbol())
                                    .with(raw.getTimeString())
                                    .with(ex);
                            break;
                        }
                    }

                    messageIndex++;
                }
                writer.append(']');

            } finally {
                outputStream.flush();
                Util.close(source);
            }
        }