com.feedhenry.sdk.FHHttpClient Maven / Gradle / Ivy
/**
* Copyright Red Hat, Inc, and individual contributors.
*
* 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.feedhenry.sdk;
import com.feedhenry.sdk.utils.FHLog;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.SyncHttpClient;
import cz.msebera.android.httpclient.Header;
import cz.msebera.android.httpclient.HttpHost;
import cz.msebera.android.httpclient.conn.params.ConnRoutePNames;
import cz.msebera.android.httpclient.entity.StringEntity;
import java.util.Iterator;
import org.json.fh.JSONArray;
import org.json.fh.JSONObject;
public class FHHttpClient {
private static final AsyncHttpClient mClient = new AsyncHttpClient();
private static final SyncHttpClient mSyncClient = new SyncHttpClient();
private static final com.feedhenry.sdk2.FHHttpClient instance = new com.feedhenry.sdk2.FHHttpClient();
private static final String LOG_TAG = "com.feedhenry.sdk.FHHttpClient";
/**
*
* This method executes an HTTP PUT Command
*
* @param pUrl url to PUT to
* @param pHeaders HTTP headers for the request
* @param pParams The Body of the Request
* @param pCallback A callback to be handed the responses of the call
* @param pUseSync whether or not to make the call synchronously
*
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.put instead
*/
@Deprecated
public static void put(
String pUrl,
Header[] pHeaders,
JSONObject pParams,
FHActCallback pCallback,
boolean pUseSync) {
instance.put(pUrl, pHeaders, pParams, pCallback, pUseSync);
}
/**
*
* This method executes an HTTP GET Command
*
* @param pUrl url to GET
* @param pHeaders HTTP headers for the request
* @param pParams Addition parameters to send with the get request
* @param pCallback A callback to be handed the responses of the call
* @param pUseSync whether or not to make the call synchronously
*
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.get instead
*/
@Deprecated
public static void get(
String pUrl,
Header[] pHeaders,
JSONObject pParams,
FHActCallback pCallback,
boolean pUseSync) {
instance.get(pUrl, pHeaders, pParams, pCallback, pUseSync);
}
/**
*
* This method executes an HTTP POST Command
*
* @param pUrl url to POST to
* @param pHeaders HTTP headers for the request
* @param pParams The Body of the Request
* @param pCallback A callback to be handed the responses of the call
* @param pUseSync whether or not to make the call synchronously
*
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.post instead
*/
@Deprecated
public static void post(
String pUrl,
Header[] pHeaders,
JSONObject pParams,
FHActCallback pCallback,
boolean pUseSync) {
instance.post(pUrl, pHeaders, pParams, pCallback, pUseSync);
}
/**
*
* This method executes an HTTP DELETE Command
*
* @param pUrl url to DELETE
* @param pHeaders HTTP headers for the request
* @param pParams Addition parameters to send with the DELETE request
* @param pCallback A callback to be handed the responses of the call
* @param pUseSync whether or not to make the call synchronously
*
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.delete instead
*/
@Deprecated
public static void delete(
String pUrl,
Header[] pHeaders,
JSONObject pParams,
FHActCallback pCallback,
boolean pUseSync) {
instance.delete(pUrl, pHeaders, pParams, pCallback, pUseSync);
}
static class FHJsonHttpResponseHandler extends JsonHttpResponseHandler {
private FHActCallback callback = null;
public FHJsonHttpResponseHandler(FHActCallback pCallback) {
super();
callback = pCallback;
}
@Override
public void onSuccess(int pStatusCode, Header[] pHeaders, org.json.JSONObject pRes) {
FHLog.v(LOG_TAG, "Got response : " + pRes.toString());
if (callback != null) {
FHResponse fhres = new FHResponse(new JSONObject(pRes.toString()), null, null, null);
callback.success(fhres);
}
}
@Override
public void onSuccess(int pStatusCode, Header[] pHeaders, org.json.JSONArray pRes) {
FHLog.v(LOG_TAG, "Got response : " + pRes.toString());
if (callback != null) {
FHResponse fhres = new FHResponse(null, new JSONArray(pRes.toString()), null, null);
callback.success(fhres);
}
}
@Override
public void onFailure(int pStatusCode, Header[] pHeaders, String pContent, Throwable pError) {
FHLog.e(LOG_TAG, pError.getMessage(), pError);
if (callback != null) {
FHResponse fhres = new FHResponse(null, null, pError, pContent);
callback.fail(fhres);
}
}
@Override
public void onFailure(
int pStatusCode,
Header[] pHeaders,
Throwable pError,
org.json.JSONObject pErrorResponse) {
FHLog.e(LOG_TAG, pError.getMessage(), pError);
String errorResponse = (pErrorResponse != null) ? pErrorResponse.toString() : "{}";
if (callback != null) {
FHResponse fhres = new FHResponse(
new JSONObject(errorResponse),
null,
pError,
errorResponse);
callback.fail(fhres);
}
}
@Override
public void onFailure(int pStatusCode, Header[] pHeaders, Throwable pError, org.json.JSONArray pErrorResponse) {
FHLog.e(LOG_TAG, pError.getMessage(), pError);
if (callback != null) {
FHResponse fhres = new FHResponse(
null,
new JSONArray(pErrorResponse.toString()),
pError,
pErrorResponse.toString());
callback.fail(fhres);
}
}
}
/**
* Set both the connection and socket timeouts. By default, both are set to
* 10 seconds.
*
* @param milliseconds the connect/socket timeout in milliseconds, at least 1 second
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.setTimeout instead
*/
@Deprecated
public static void setTimeout(int milliseconds) {
instance.setTimeout(milliseconds);
}
/**
* Setups a proxy to use for HTTP requests in the application. This is
* primarily useful for debugging.
*
* @param proxy a proxy to use.
* @deprecated please use com.feedhenry.sdk2.FHHttpClient.setHttpProxy instead
*/
@Deprecated
public static void setHttpProxy(HttpHost proxy) {
instance.setHttpProxy(proxy);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy