package org.webpieces.httpclient.impl;
import java.nio.ByteBuffer;
import java.util.concurrent.CompletableFuture;
import org.webpieces.httpclient.api.HttpChunkWriter;
import org.webpieces.httpparser.api.HttpParser;
import org.webpieces.httpparser.api.dto.HttpChunk;
import org.webpieces.nio.api.channels.TCPChannel;
public class HttpChunkWriterImpl implements HttpChunkWriter {
private TCPChannel channel;
private HttpParser parser;
public HttpChunkWriterImpl(TCPChannel channel, HttpParser parser) {
this.channel = channel;
this.parser = parser;
}
@Override
public CompletableFuture<HttpChunkWriter> send(HttpChunk chunk) {
ByteBuffer buffer = parser.marshalToByteBuffer(chunk);
return channel.write(buffer).thenApply(c -> this);
}
}