package com.letv.commonjar.http; import android.content.Context; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.protocol.HttpContext; /** * Processes http requests in synchronous mode, so your caller thread will be blocked on each * request * * @see com.AsyncHttpClient.android.http.AsyncHttpClient */ class SyncHttpClient extends AsyncHttpClient { /** * Creates a new SyncHttpClient with default constructor arguments values */ public SyncHttpClient() { super(); } /** * Creates a new SyncHttpClient. * * @param schemeRegistry SchemeRegistry to be used */ public SyncHttpClient(SchemeRegistry schemeRegistry) { super(schemeRegistry); } @Override protected RequestReceipt sendRequest(DefaultHttpClient client, HttpContext httpContext, HttpUriRequest uriRequest, String contentType, ResponseInterface responseHandler, Context context) { if (contentType != null) { uriRequest.addHeader("Content-Type", contentType); } responseHandler.setUseSynchronousMode(true); /* * will execute the request directly */ new AsyncHttpRequest(client, httpContext, DEFAULT_SOCKET_TIMEOUT, uriRequest, responseHandler).run(); // Return a Request Handle that cannot be used to cancel the request // because it is already complete by the time this returns return new RequestReceipt(null); } }