1 package com.xtremelabs.robolectric.shadows; 2 3 import com.xtremelabs.robolectric.Robolectric; 4 import com.xtremelabs.robolectric.internal.Implementation; 5 import com.xtremelabs.robolectric.internal.Implements; 6 import com.xtremelabs.robolectric.internal.RealObject; 7 import org.apache.http.HttpHost; 8 import org.apache.http.HttpRequest; 9 import org.apache.http.HttpResponse; 10 import org.apache.http.client.ClientProtocolException; 11 import org.apache.http.client.HttpClient; 12 import org.apache.http.client.ResponseHandler; 13 import org.apache.http.client.methods.HttpUriRequest; 14 import org.apache.http.conn.ClientConnectionManager; 15 import org.apache.http.impl.client.DefaultHttpClient; 16 import org.apache.http.params.HttpParams; 17 import org.apache.http.protocol.HttpContext; 18 19 import android.content.Context; 20 import android.net.http.AndroidHttpClient; 21 22 import java.io.IOException; 23 24 @Implements(AndroidHttpClient.class) 25 public class ShadowAndroidHttpClient { 26 @RealObject private AndroidHttpClient client; 27 28 private HttpClient httpClient = new DefaultHttpClient(); 29 30 @Implementation newInstance(String userAgent)31 public static AndroidHttpClient newInstance(String userAgent) { 32 return Robolectric.newInstanceOf(AndroidHttpClient.class); 33 } 34 35 @Implementation newInstance(String userAgent, Context context)36 public static AndroidHttpClient newInstance(String userAgent, Context context) { 37 return Robolectric.newInstanceOf(AndroidHttpClient.class); 38 } 39 40 @Implementation getParams()41 public HttpParams getParams() { 42 return httpClient.getParams(); 43 } 44 45 @Implementation getConnectionManager()46 public ClientConnectionManager getConnectionManager() { 47 return httpClient.getConnectionManager(); 48 } 49 50 @Implementation execute(HttpUriRequest httpUriRequest)51 public HttpResponse execute(HttpUriRequest httpUriRequest) throws IOException, ClientProtocolException { 52 return httpClient.execute(httpUriRequest); 53 } 54 55 @Implementation execute(HttpUriRequest httpUriRequest, HttpContext httpContext)56 public HttpResponse execute(HttpUriRequest httpUriRequest, HttpContext httpContext) throws IOException, ClientProtocolException { 57 return httpClient.execute(httpUriRequest, httpContext); 58 } 59 60 @Implementation execute(HttpHost httpHost, HttpRequest httpRequest)61 public HttpResponse execute(HttpHost httpHost, HttpRequest httpRequest) throws IOException, ClientProtocolException { 62 return httpClient.execute(httpHost, httpRequest); 63 } 64 65 @Implementation execute(HttpHost httpHost, HttpRequest httpRequest, HttpContext httpContext)66 public HttpResponse execute(HttpHost httpHost, HttpRequest httpRequest, HttpContext httpContext) throws IOException, ClientProtocolException { 67 return httpClient.execute(httpHost, httpRequest, httpContext); 68 } 69 70 @Implementation execute(HttpUriRequest httpUriRequest, ResponseHandler<? extends T> responseHandler)71 public <T> T execute(HttpUriRequest httpUriRequest, ResponseHandler<? extends T> responseHandler) throws IOException, ClientProtocolException { 72 return httpClient.execute(httpUriRequest, responseHandler); 73 } 74 75 @Implementation execute(HttpUriRequest httpUriRequest, ResponseHandler<? extends T> responseHandler, HttpContext httpContext)76 public <T> T execute(HttpUriRequest httpUriRequest, ResponseHandler<? extends T> responseHandler, HttpContext httpContext) throws IOException, ClientProtocolException { 77 return httpClient.execute(httpUriRequest, responseHandler, httpContext); 78 } 79 80 @Implementation execute(HttpHost httpHost, HttpRequest httpRequest, ResponseHandler<? extends T> responseHandler)81 public <T> T execute(HttpHost httpHost, HttpRequest httpRequest, ResponseHandler<? extends T> responseHandler) throws IOException, ClientProtocolException { 82 return httpClient.execute(httpHost, httpRequest, responseHandler); 83 } 84 85 @Implementation execute(HttpHost httpHost, HttpRequest httpRequest, ResponseHandler<? extends T> responseHandler, HttpContext httpContext)86 public <T> T execute(HttpHost httpHost, HttpRequest httpRequest, ResponseHandler<? extends T> responseHandler, HttpContext httpContext) throws IOException, ClientProtocolException { 87 return httpClient.execute(httpHost, httpRequest, responseHandler, httpContext); 88 } 89 } 90