Back to project page khandroid.
The source code is released under:
Apache License
If you think the Android project khandroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2012-2014 Ognyan Bankov */*w w w.j a va 2 s.c o m*/ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.khandroid.http.functionality; import java.io.IOException; import com.github.khandroid.http.misc.KhandroidBasicResponseHandler; import khandroid.ext.apache.http.HttpResponse; import khandroid.ext.apache.http.client.ClientProtocolException; import khandroid.ext.apache.http.client.HttpClient; import khandroid.ext.apache.http.client.ResponseHandler; import khandroid.ext.apache.http.client.methods.HttpUriRequest; public class HttpFunctionalityImpl implements HttpFunctionality { private final HttpClient mHttpClient; private boolean mIsShutdowned = false; public HttpFunctionalityImpl(HttpClient httpClient) { if (httpClient != null) { mHttpClient = httpClient; } else { throw new IllegalArgumentException("Passed httpClient is null"); } } public String execute(HttpUriRequest httpRequest) throws ClientProtocolException, IOException { ResponseHandler<String> responseHandler = new KhandroidBasicResponseHandler(); HttpClient httpClient = getHttpClient(); String ret = httpClient.execute(httpRequest, responseHandler); return ret; } @Override public <T> T execute(HttpUriRequest httpRequest, ResponseHandler<T> responseHandler) throws ClientProtocolException, IOException { HttpClient httpClient = getHttpClient(); return httpClient.execute(httpRequest, responseHandler); } public HttpResponse executeForHttpResponse(HttpUriRequest httpRequest) throws ClientProtocolException, IOException { HttpClient httpClient = getHttpClient(); return httpClient.execute(httpRequest); } public void shutDown() { shutDownInBackground(); } // On Honeycomb+ NetworkOnMainThreadException exception is thrown if you try to shutdown on UI thread synchronized private void shutDownInBackground() { Thread t = new Thread(new Runnable() { @Override public void run() { if (!mIsShutdowned) { mIsShutdowned = true; mHttpClient.getConnectionManager().shutdown(); } } }); t.start(); } public HttpClient getHttpClient() { return mHttpClient; } }