### Question:
HttpClient extends InterceptingHttpClient<I,O> { public abstract <II, OO> HttpClient<II, OO> addChannelHandlerLast(String name, Func0<ChannelHandler> handlerFactory);  abstract HttpClient<I, O> readTimeOut(int timeOut, TimeUnit timeUnit); abstract HttpClient<I, O> channelOption(ChannelOption<T> option, T value); abstract HttpClient<II, OO> addChannelHandlerFirst(String name, Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerFirst(EventExecutorGroup group, String name,
                                                                       Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerLast(String name, Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerLast(EventExecutorGroup group, String name,
                                                                      Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerBefore(String baseName, String name,
                                                                        Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerBefore(EventExecutorGroup group, String baseName,
                                                                        String name, Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerAfter(String baseName, String name,
                                                                        Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> addChannelHandlerAfter(EventExecutorGroup group, String baseName,
                                                                       String name, Func0<ChannelHandler> handlerFactory); abstract HttpClient<II, OO> pipelineConfigurator(Action1<ChannelPipeline> pipelineConfigurator); abstract HttpClient<I, O> secure(Func1<ByteBufAllocator, SSLEngine> sslEngineFactory); abstract HttpClient<I, O> secure(SSLEngine sslEngine); abstract HttpClient<I, O> secure(SslCodec sslCodec); abstract HttpClient<I, O> unsafeSecure(); @Deprecated abstract HttpClient<I, O> enableWireLogging(LogLevel wireLoggingLevel); abstract HttpClient<I, O> enableWireLogging(String name, LogLevel wireLoggingLevel); abstract HttpClient<I, O> channelProvider(ChannelProviderFactory providerFactory); static HttpClient<ByteBuf, ByteBuf> newClient(String host, int port); static HttpClient<ByteBuf, ByteBuf> newClient(SocketAddress serverAddress); static HttpClient<ByteBuf, ByteBuf> newClient(ConnectionProviderFactory<ByteBuf, ByteBuf> providerFactory,
                                                         Observable<Host> hostStream); abstract HttpClient<I, O> followRedirects(int maxRedirects); abstract HttpClient<I, O> followRedirects(boolean follow);  }### Answer:
@Test(timeout = 60000) public void testAggregatedContent() throws Exception { HttpClientRequest<ByteBuf, ByteBuf> request = clientRule.getHttpClient() .<ByteBuf, ByteBuf>addChannelHandlerLast("aggregator", new Func0<ChannelHandler>() { @Override public ChannelHandler call() { return new HttpObjectAggregator(1024); } }) .createGet("/"); TestSubscriber<String> testSubscriber = clientRule.sendRequestAndGetContent(request); clientRule.assertRequestHeadersWritten(HttpMethod.GET, "/"); final String content1 = "Hello1"; final String content2 = "Hello2"; clientRule.feedResponseAndComplete(content1, content2); testSubscriber.awaitTerminalEvent(); testSubscriber.assertNoErrors(); assertThat("Unexpected response content count.", testSubscriber.getOnNextEvents(), hasSize(1)); assertThat("Unexpected response content.", testSubscriber.getOnNextEvents().get(0), containsString(content1)); assertThat("Unexpected response content.", testSubscriber.getOnNextEvents().get(0), containsString(content2)); }