Android Open Source - fh-android-sdk F H Cloud Request






From Project

Back to project page fh-android-sdk.

License

The source code is released under:

Copyright (c) 2014 FeedHenry Ltd, All Rights Reserved. Please refer to your contract with FeedHenry for the software license agreement. If you do not have a contract, you do not have a license to use...

If you think the Android project fh-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.feedhenry.sdk.api;
// w  w  w  . ja v a  2 s. c o m
import org.apache.http.Header;
import org.json.fh.JSONObject;

import android.content.Context;

import com.feedhenry.sdk.CloudProps;
import com.feedhenry.sdk.FH;
import com.feedhenry.sdk.FHActCallback;
import com.feedhenry.sdk.FHHttpClient;
import com.feedhenry.sdk.FHRemote;
import com.feedhenry.sdk.utils.FHLog;

public class FHCloudRequest  extends FHRemote {
  
  public enum Methods {
    GET, POST, PUT, DELETE;

    public boolean equals(Methods pThat){
      return this.toString().equals(pThat.toString());
    }
    
    public static Methods parse(String pMethod) throws Exception{
      if(pMethod.equalsIgnoreCase("GET")){
        return GET;
      } else if(pMethod.equalsIgnoreCase("POST")) {
        return POST;
      } else if(pMethod.equalsIgnoreCase("PUT")){
        return PUT;
      } else if(pMethod.equalsIgnoreCase("DELETE")){
        return DELETE;
      } else {
        throw new Exception("Unsupported HTTP method:" + pMethod);
      }
    }
  };
  
  protected static final String LOG_TAG = "com.feedhenry.sdk.api.FHCloudRequest";
  
  private CloudProps mCloudProps;
  private String mPath = "";
  private Methods mMethod = Methods.GET;
  private Header[] mHeaders = null;
  private JSONObject mArgs = new JSONObject();

  public FHCloudRequest(Context context, CloudProps pCloudProps) {
    super(context, pCloudProps.getAppProperties());
    mCloudProps = pCloudProps;
  }
  
  public void setPath(String pPath){
    mPath = pPath;
  }
  
  public void setMethod(Methods pMethod){
    mMethod = pMethod;
  }
  
  public void setHeaders(Header[] pHeaders) {
    mHeaders = pHeaders;
  }
  
  public void setRequestArgs(JSONObject pArgs){
    mArgs = pArgs;
  }

  @Override
  protected String getPath() {
    return mPath;
  }

  @Override
  protected JSONObject getRequestArgs() {
    return mArgs;
  }

  @Override
  public void executeAsync(FHActCallback pCallback) throws Exception {
    try {
      switch (mMethod) {
      case GET:
        FHHttpClient.get(getURL(), buildHeaders(mHeaders), mArgs, pCallback, false);
        break;
      case PUT:
        FHHttpClient.put(getURL(), buildHeaders(mHeaders), mArgs, pCallback, false);
        break;
      case POST:
        FHHttpClient.post(getURL(), buildHeaders(mHeaders), mArgs, pCallback, false);
        break;
      case DELETE:
        FHHttpClient.delete(getURL(), buildHeaders(mHeaders), mArgs, pCallback, false);
        break;
      default:
        break;
      }
    } catch (Exception e) {
      FHLog.e(LOG_TAG, e.getMessage(), e);
      throw e;
    }
  }
  
  @Override
  public void execute(FHActCallback pCallback) throws Exception {
    try {
      switch (mMethod) {
      case GET:
        FHHttpClient.get(getURL(), buildHeaders(mHeaders), mArgs, pCallback, true);
        break;
      case PUT:
        FHHttpClient.put(getURL(), buildHeaders(mHeaders), mArgs, pCallback, true);
        break;
      case POST:
        FHHttpClient.post(getURL(), buildHeaders(mHeaders), mArgs, pCallback, true);
        break;
      case DELETE:
        FHHttpClient.delete(getURL(), buildHeaders(mHeaders), mArgs, pCallback, true);
        break;
      }
    } catch (Exception e) {
      FHLog.e(LOG_TAG, e.getMessage(), e);
      throw e;
    }
  }
  
  private String getURL(){
    String host = mCloudProps.getCloudHost();
    return host + (getPath().startsWith("/")? getPath(): ("/" + getPath()));
  }
  
  protected Header[] buildHeaders(Header[] pHeaders) throws Exception{
    return FH.getDefaultParamsAsHeaders(pHeaders);
  }

}




Java Source Code List

com.feedhenry.fhandroidexampleapp.FHActActivity.java
com.feedhenry.fhandroidexampleapp.FHAndroidExampleActivity.java
com.feedhenry.fhandroidexampleapp.FHAuthActivity.java
com.feedhenry.fhandroidexampleapp.FHLoginActivity.java
com.feedhenry.fhandroidexampleapp.FHSyncActivity.java
com.feedhenry.fhandroidexampleapp.FhUtil.java
com.feedhenry.fhandroidexampleapp.ItemDetailsActivity.java
com.feedhenry.fhandroidexampleapp.SyncCollisionResolveActivity.java
com.feedhenry.fhandroidexampleapp.SyncCollisionsListActivity.java
com.feedhenry.sdk.CloudProps.java
com.feedhenry.sdk.FHActCallback.java
com.feedhenry.sdk.FHAct.java
com.feedhenry.sdk.FHHttpClient.java
com.feedhenry.sdk.FHRemote.java
com.feedhenry.sdk.FHResponse.java
com.feedhenry.sdk.FH.java
com.feedhenry.sdk.api.FHActRequest.java
com.feedhenry.sdk.api.FHAuthRequest.java
com.feedhenry.sdk.api.FHCloudRequest.java
com.feedhenry.sdk.api.FHInitializeRequest.java
com.feedhenry.sdk.exceptions.FHInvalidActionException.java
com.feedhenry.sdk.exceptions.FHNotReadyException.java
com.feedhenry.sdk.oauth.FHOAuthIntent.java
com.feedhenry.sdk.oauth.FHOAuthWebView.java
com.feedhenry.sdk.sync.FHSyncClient.java
com.feedhenry.sdk.sync.FHSyncConfig.java
com.feedhenry.sdk.sync.FHSyncDataRecord.java
com.feedhenry.sdk.sync.FHSyncDataset.java
com.feedhenry.sdk.sync.FHSyncListener.java
com.feedhenry.sdk.sync.FHSyncNotificationHandler.java
com.feedhenry.sdk.sync.FHSyncPendingRecord.java
com.feedhenry.sdk.sync.FHSyncUtils.java
com.feedhenry.sdk.sync.NotificationMessage.java
com.feedhenry.sdk.utils.FHLog.java
com.feedhenry.starter.FHStarterActivity.java
com.loopj.android.http.AsyncHttpClient.java
com.loopj.android.http.AsyncHttpRequest.java
com.loopj.android.http.AsyncHttpResponseHandler.java
com.loopj.android.http.Base64DataException.java
com.loopj.android.http.Base64OutputStream.java
com.loopj.android.http.Base64.java
com.loopj.android.http.BaseJsonHttpResponseHandler.java
com.loopj.android.http.BinaryHttpResponseHandler.java
com.loopj.android.http.DataAsyncHttpResponseHandler.java
com.loopj.android.http.FileAsyncHttpResponseHandler.java
com.loopj.android.http.JsonHttpResponseHandler.java
com.loopj.android.http.JsonStreamerEntity.java
com.loopj.android.http.MyRedirectHandler.java
com.loopj.android.http.MySSLSocketFactory.java
com.loopj.android.http.PersistentCookieStore.java
com.loopj.android.http.PreemtiveAuthorizationHttpRequestInterceptor.java
com.loopj.android.http.RangeFileAsyncHttpResponseHandler.java
com.loopj.android.http.RequestHandle.java
com.loopj.android.http.RequestParams.java
com.loopj.android.http.ResponseHandlerInterface.java
com.loopj.android.http.RetryHandler.java
com.loopj.android.http.SerializableCookie.java
com.loopj.android.http.SimpleMultipartEntity.java
com.loopj.android.http.SyncHttpClient.java
com.loopj.android.http.TextHttpResponseHandler.java
org.json.fh.CDL.java
org.json.fh.CookieList.java
org.json.fh.Cookie.java
org.json.fh.HTTPTokener.java
org.json.fh.HTTP.java
org.json.fh.JSONArray.java
org.json.fh.JSONException.java
org.json.fh.JSONObject.java
org.json.fh.JSONString.java
org.json.fh.JSONStringer.java
org.json.fh.JSONTokener.java
org.json.fh.JSONWriter.java
org.json.fh.XMLTokener.java
org.json.fh.XML.java