package com.limegroup.gnutella.http; import java.io.IOException; import java.nio.ByteBuffer; import java.util.List; import org.apache.http.Header; import org.limewire.statistic.Statistic; import org.limewire.util.StringUtils; public class SimpleWriteHeaderState extends WriteHeadersIOState { private final String connectLine; private final List<? extends Header> headers; public SimpleWriteHeaderState(String connectLine, List<? extends Header> headers, Statistic stat) { super(stat); this.connectLine = connectLine; this.headers = headers; } @Override protected ByteBuffer createOutgoingData() throws IOException { StringBuilder sb = new StringBuilder(connectLine.length() + headers.size() * 25); sb.append(connectLine).append("\r\n"); for(Header header : headers) sb.append(HTTPUtils.createHeader(header.getName(), header.getValue())); sb.append("\r\n"); return ByteBuffer.wrap(StringUtils.toAsciiBytes(sb.toString())); } @Override protected void processWrittenHeaders() throws IOException { // does nothing. } }