private QiniuMKFileResponseData makeFile(int dataSize, String key, int retry) throws Exception {
try {
String endPoint = String.format(QINIU_MKFILE_EP, dataSize, AVUtils.base64Encode(key));
List<String> list = new LinkedList<String>();
Collections.addAll(list, uploadFileCtx);
final String joinedFileCtx = AVUtils.joinCollection(list, ",");
Request.Builder builder = new Request.Builder();
builder.url(endPoint);
builder = builder.post(RequestBody.create(MediaType.parse("text"), joinedFileCtx));
builder = addAuthHeader(builder);
mergeFileRequestCall = getOKHttpClient().newCall(builder.build());
return parseQiniuResponse(mergeFileRequestCall.execute(), QiniuMKFileResponseData.class);
} catch (Exception e) {
if (retry-- > 0) {
return makeFile(dataSize, key, retry);
} else {
LogUtil.log.e("Exception during file upload", e);
}
}
return null;
}