package com.dpt.TNetwork.net; import com.android.volley.AuthFailureError; import com.android.volley.Response; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.StringRequest; import com.dpt.TNetwork.util.LogHelper; import org.json.JSONObject; import java.util.Map; import static com.android.volley.Request.Method; /** * Created by dupengtao on 2014/6/13. */ public class DefaultRequestFactory { public StringRequest produceStrRequest(int method, String url, final Map<String, String> headParams, final Map<String, String> postParams, Response.Listener<String> listener, Response.ErrorListener errorListener) { StringRequest strRequest = new StringRequest(method, url, listener, errorListener) { @Override public Map<String, String> getHeaders() throws AuthFailureError { if (headParams != null && !headParams.isEmpty()) { return headParams; } return super.getHeaders(); } @Override protected Map<String, String> getParams() throws AuthFailureError { return postParams; } }; return strRequest; } public StringRequest produceStrRequest(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) { return produceStrRequest(url, null, listener, errorListener); } public StringRequest produceStrRequest(String url, Map<String, String> headParams, Response.Listener<String> listener, Response.ErrorListener errorListener) { return produceStrRequest(Method.GET, url, headParams, null, listener, errorListener); } /** * easy to make a post StringRequest */ public StringRequest producePostStrRequest(String url, Map<String, String> headParams, Map<String, String> postParams, Response.Listener<String> listener, Response.ErrorListener errorListener) { return produceStrRequest(Method.POST, url, headParams, postParams, listener, errorListener); } public JsonObjectRequest produceJsonRequest(int method, String url, final Map<String, String> headParams, final Map<String, String> postParams, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) { JsonObjectRequest jsonRequest = new JsonObjectRequest(method, url, null, listener, errorListener) { @Override public Map<String, String> getHeaders() throws AuthFailureError { if (headParams != null && !headParams.isEmpty()) { return headParams; } return super.getHeaders(); } @Override protected Map<String, String> getParams() throws AuthFailureError { return postParams; } }; return jsonRequest; } public JsonObjectRequest produceJsonRequest(String url, Map<String, String> headParams, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener){ return produceJsonRequest(Method.GET,url,headParams,null,listener,errorListener); } public JsonObjectRequest produceJsonRequest(String url, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener){ return produceJsonRequest(url,null,listener,errorListener); } /** * easy to make a post JsonRequest */ public CustomRequest producePostJsonRequest(String url, final Map<String, String> headParams, Map<String, String> postParams, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) { final CustomRequest jsObjRequest = new CustomRequest(Method.POST, url, postParams, listener, errorListener){ @Override public Map<String, String> getHeaders() throws AuthFailureError { if (headParams != null && !headParams.isEmpty()) { return headParams; } return super.getHeaders(); } }; return jsObjRequest; } }