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);
}
}