1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 02:39:23 +02:00

better server reply processing

This commit is contained in:
Nikolay Pultsin 2014-06-27 15:11:57 +01:00
parent 67865fad60
commit 19c72a617c

View file

@ -142,10 +142,22 @@ public class SynchroniserService extends Service implements IBookCollection.List
buffer.append(line); buffer.append(line);
} }
final Object response = JSONValue.parse(buffer.toString()); final Object response = JSONValue.parse(buffer.toString());
if (response instanceof Map && ((Map)response).isEmpty()) { String id = null;
System.err.println("UPLOADED SUCCESSFULLY"); String error = null;
try {
if (response instanceof Map) {
id = (String)((Map)response).get("id");
error = (String)((Map)response).get("error");
}
} catch (Exception e) {
// ignore
}
if (error != null) {
System.err.println("UPLOAD FAILURE: " + error);
} else if (id != null) {
System.err.println("UPLOADED SUCCESSFULLY: " + id);
} else { } else {
System.err.println("UPLOAD FAILURE: " + response); System.err.println("UNEXPECED RESPONSE: " + response);
} }
} }
} }
@ -167,21 +179,23 @@ public class SynchroniserService extends Service implements IBookCollection.List
myNetworkContext.performQuietly(verificationRequest); myNetworkContext.performQuietly(verificationRequest);
final String csrfToken = myNetworkContext.getCookieValue(DOMAIN, "csrftoken"); final String csrfToken = myNetworkContext.getCookieValue(DOMAIN, "csrftoken");
final Object response = result.get("result"); final Object response = result.get("result");
if (response == null) { try {
System.err.println("UNEXPECTED ERROR: NO RESPONSE"); final List responseList = (List)response;
} else if (!(response instanceof List)) { if (responseList.isEmpty()) {
System.err.println("UNEXPECTED RESPONSE: " + response); try {
} else if (!((List)response).isEmpty()) { final UploadRequest uploadRequest = new UploadRequest(file.javaFile());
System.err.println("BOOK ALREADY UPLOADED"); uploadRequest.addHeader("Referer", verificationRequest.getURL());
} else { uploadRequest.addHeader("X-CSRFToken", csrfToken);
try { myNetworkContext.perform(uploadRequest);
final UploadRequest uploadRequest = new UploadRequest(file.javaFile()); } catch (ZLNetworkException e) {
uploadRequest.addHeader("Referer", verificationRequest.getURL()); e.printStackTrace();
uploadRequest.addHeader("X-CSRFToken", csrfToken); }
myNetworkContext.perform(uploadRequest); } else {
} catch (ZLNetworkException e) { final Map<String,String> firstBookInfo = (Map<String,String>)responseList.get(0);
e.printStackTrace(); System.err.println("BOOK ALREADY UPLOADED: " + firstBookInfo.get("id"));
} }
} catch (Exception e) {
System.err.println("UNEXPECTED RESPONSE: " + response);
} }
} }