forked from loafle/openapi-generator-original
Added PATCH request [android-volley]
This commit is contained in:
parent
cb9e4bf961
commit
a897a2f28b
@ -29,6 +29,7 @@ import {{invokerPackage}}.request.GetRequest;
|
||||
import {{invokerPackage}}.request.PostRequest;
|
||||
import {{invokerPackage}}.request.PutRequest;
|
||||
import {{invokerPackage}}.request.DeleteRequest;
|
||||
import {{invokerPackage}}.request.PatchRequest;
|
||||
|
||||
public class ApiInvoker {
|
||||
private static ApiInvoker INSTANCE;
|
||||
@ -378,19 +379,29 @@ public class ApiInvoker {
|
||||
else if ("DELETE".equals(method)) {
|
||||
DeleteRequest request = null;
|
||||
if (formParamStr != null) {
|
||||
request = new PutRequest(url, headers, contentType, new StringEntity(formParamStr, "UTF-8"), stringRequest, errorListener);
|
||||
request = new DeleteRequest(url, headers, contentType, new StringEntity(formParamStr, "UTF-8"), stringRequest, errorListener);
|
||||
} else if (body != null) {
|
||||
if (body instanceof HttpEntity) {
|
||||
request = new PutRequest(url, headers, null, (HttpEntity) body, stringRequest, errorListener);
|
||||
request = new DeleteRequest(url, headers, null, (HttpEntity) body, stringRequest, errorListener);
|
||||
} else {
|
||||
request = new PutRequest(url, headers, contentType, new StringEntity(serialize(body), "UTF-8"), stringRequest, errorListener);
|
||||
request = new DeleteRequest(url, headers, contentType, new StringEntity(serialize(body), "UTF-8"), stringRequest, errorListener);
|
||||
}
|
||||
}
|
||||
if(request != null) mRequestQueue.add(request);
|
||||
}
|
||||
else if ("PATCH".equals(method)) {
|
||||
|
||||
}
|
||||
PatchRequest request = null;
|
||||
if (formParamStr != null) {
|
||||
request = new PatchRequest(url, headers, contentType, new StringEntity(formParamStr, "UTF-8"), stringRequest, errorListener);
|
||||
} else if (body != null) {
|
||||
if (body instanceof HttpEntity) {
|
||||
request = new PatchRequest(url, headers, null, (HttpEntity) body, stringRequest, errorListener);
|
||||
} else {
|
||||
request = new PatchRequest(url, headers, contentType, new StringEntity(serialize(body), "UTF-8"), stringRequest, errorListener);
|
||||
}
|
||||
}
|
||||
if(request != null) mRequestQueue.add(request);
|
||||
}
|
||||
}
|
||||
|
||||
private void initConnectionManager() {
|
||||
|
@ -0,0 +1,86 @@
|
||||
package {{invokerPackage}}.request;
|
||||
|
||||
import com.android.volley.AuthFailureError;
|
||||
import com.android.volley.NetworkResponse;
|
||||
import com.android.volley.Request;
|
||||
import com.android.volley.Response;
|
||||
import com.android.volley.VolleyLog;
|
||||
import com.android.volley.toolbox.HttpHeaderParser;
|
||||
|
||||
import org.apache.http.HttpEntity;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PatchRequest extends Request<String> {
|
||||
|
||||
HttpEntity entity;
|
||||
|
||||
private final Response.Listener<String> mListener;
|
||||
|
||||
String contentType;
|
||||
Map<String, String> apiHeaders;
|
||||
public PatchRequest(String url, Map<String, String> apiHeaders, String contentType, HttpEntity entity, Response.Listener<String> listener, Response.ErrorListener errorListener) {
|
||||
super(Method.PATCH, url, errorListener);
|
||||
mListener = listener;
|
||||
this.entity = entity;
|
||||
this.contentType = contentType;
|
||||
this.apiHeaders = apiHeaders;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBodyContentType() {
|
||||
return entity.getContentType().getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] getBody() throws AuthFailureError {
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
try {
|
||||
entity.writeTo(bos);
|
||||
}
|
||||
catch (IOException e) {
|
||||
VolleyLog.e("IOException writing to ByteArrayOutputStream");
|
||||
}
|
||||
return bos.toByteArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Response<String> parseNetworkResponse(NetworkResponse response) {
|
||||
String parsed;
|
||||
try {
|
||||
parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
parsed = new String(response.data);
|
||||
}
|
||||
return Response.success(parsed, HttpHeaderParser.parseCacheHeaders(response));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void deliverResponse(String response) {
|
||||
mListener.onResponse(response);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.android.volley.Request#getHeaders()
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> getHeaders() throws AuthFailureError {
|
||||
Map<String, String> headers = super.getHeaders();
|
||||
if (headers == null || headers.equals(Collections.emptyMap())) {
|
||||
headers = new HashMap<String, String>();
|
||||
}
|
||||
if (apiHeaders != null && !apiHeaders.equals(Collections.emptyMap())) {
|
||||
headers.putAll(apiHeaders);
|
||||
}
|
||||
if(contentType != null) {
|
||||
headers.put("Content-Type", contentType);
|
||||
}
|
||||
|
||||
return headers;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user