mirror of
https://github.com/jlengrand/openapi-generator.git
synced 2026-05-13 08:31:19 +00:00
84 lines
2.5 KiB
Plaintext
84 lines
2.5 KiB
Plaintext
package {{invokerPackage}};
|
|
|
|
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 org.apache.http.HttpEntity;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public class PostRequest extends Request<String> {
|
|
|
|
HttpEntity entity;
|
|
|
|
private final Response.Listener<String> mListener;
|
|
|
|
String contentType;
|
|
Map<String, String> apiHeaders;
|
|
public PostRequest(String url, Map<String, String> apiHeaders, String contentType, HttpEntity entity, Response.Listener<String> listener, Response.ErrorListener errorListener) {
|
|
super(Method.POST, 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;
|
|
}
|
|
} |