/** * */ package org.limewire.http; import org.apache.http.HttpRequest; import org.apache.http.HttpRequestFactory; import org.apache.http.HttpResponse; import org.apache.http.impl.nio.DefaultNHttpServerConnection; import org.apache.http.nio.ContentEncoder; import org.apache.http.nio.NHttpServiceHandler; import org.apache.http.nio.reactor.IOSession; import org.apache.http.nio.util.HeapByteBufferAllocator; import org.apache.http.params.HttpParams; import org.limewire.http.reactor.DefaultDispatchedIOReactor; public class MockHttpServerConnection extends DefaultNHttpServerConnection { public MockHttpServerConnection(IOSession session, HttpRequestFactory requestFactory, HttpParams params) { super(session, requestFactory, new HeapByteBufferAllocator(), params); getContext().setAttribute(DefaultDispatchedIOReactor.IO_SESSION_KEY, session); } public void setHttpRequest(HttpRequest request) { this.request = request; } public void setHttpResponse(HttpResponse response) { this.response = response; } public void setContentEncoder(ContentEncoder encoder) { this.contentEncoder = encoder; } @Override public void consumeInput(NHttpServiceHandler handler) { if (this.request != null) { handler.requestReceived(this); } else { super.consumeInput(handler); } } public boolean isClosing() { return status == CLOSING; } public boolean isClosed() { return this.status == CLOSED; } public void setHasBufferedInput(boolean hasBufferedInput) { this.hasBufferedInput = hasBufferedInput; } public void setHasBufferedOutput(boolean hasBufferedOutput) { this.hasBufferedOutput = hasBufferedOutput; } public void setContentDecoder(MockContentDecoder contentDecoder) { this.contentDecoder = contentDecoder; } }