import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.nio.ByteBuffer;
+import java.nio.channels.Channels;
+import java.nio.channels.ReadableByteChannel;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import org.opendaylight.restconf.openapi.jaxrs.OpenApiBodyWriter;
private final SecuritySchemesEntity securitySchemesEntity;
private Reader reader;
+ private ReadableByteChannel channel;
public SecuritySchemesStream(final OpenApiBodyWriter writer,
final Map<String, SecuritySchemeObject> securitySchemes) {
@Override
public int read(final byte[] array, final int off, final int len) throws IOException {
- return super.read(array, off, len);
+ if (channel == null) {
+ final var stream = new ByteArrayInputStream(writeNextEntity(securitySchemesEntity));
+ channel = Channels.newChannel(stream);
+ }
+ return channel.read(ByteBuffer.wrap(array, off, len));
}
private byte[] writeNextEntity(final OpenApiEntity next) throws IOException {