Skip to content

Commit 29932d9

Browse files
committed
Fix Android error response & make response consistent
1 parent a1ee3e1 commit 29932d9

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/background-http.android.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function onProgressReceiverError(context: Context, uploadInfo: UploadInfo, respo
4343
object: task,
4444
error,
4545
responseCode: response && typeof response.getHttpCode === 'function' ? response.getHttpCode() : -1,
46-
response
46+
response: response.getBodyAsString()
4747
});
4848
}
4949

@@ -68,7 +68,7 @@ function onProgressReceiverCompleted(context: Context, uploadInfo: UploadInfo, r
6868
task.notify(<common.ResultEventData>{
6969
eventName: "responded",
7070
object: task,
71-
data: response.getBodyAsString(),
71+
response: response.getBodyAsString(),
7272
responseCode: response && typeof response.getHttpCode === 'function' ? response.getHttpCode() : -1
7373
});
7474
task.notify(<common.CompleteEventData>{

src/background-http.ios.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as fileSystemModule from "tns-core-modules/file-system";
55
const main_queue = dispatch_get_current_queue();
66
let zonedOnProgress = null;
77
let zonedOnError = null;
8+
let previousResponse = null;
89

910
function onProgress(nsSession, nsTask, sent, expectedTotal) {
1011
const task = Task.getTask(nsSession, nsTask);
@@ -24,14 +25,16 @@ function onError(session, nsTask, error) {
2425
NSFileManager.defaultManager.removeItemAtPathError(task._fileToCleanup);
2526
}
2627
const response = nsTask && <NSHTTPURLResponse>nsTask.performSelector("response");
27-
if (error) {
28+
const hasResponseStatusError = response && response.statusCode >= 400 || false;
29+
30+
if (error || hasResponseStatusError) {
2831
task.notifyPropertyChange("status", task.status);
2932
task.notify(<common.ErrorEventData>{
3033
eventName: "error",
3134
object: task,
3235
error,
3336
responseCode: response ? response.statusCode : -1,
34-
response
37+
response: previousResponse || null
3538
});
3639
} else {
3740
task.notifyPropertyChange("upload", task.upload);
@@ -110,11 +113,12 @@ class BackgroundUploadDelegate extends NSObject implements NSURLSessionDelegate,
110113
// we have a response in the data...
111114
const jsTask = Task.getTask(session, dataTask);
112115
const jsonString = NSString.alloc().initWithDataEncoding(data, NSUTF8StringEncoding);
116+
previousResponse = jsonString.toString();
113117

114118
jsTask.notify(<common.ResultEventData>{
115119
eventName: "responded",
116120
object: jsTask,
117-
data: jsonString.toString(),
121+
response: jsonString.toString(),
118122
responseCode: dataTask && dataTask.response ? (<NSHTTPURLResponse>dataTask.response).statusCode : -1
119123
});
120124
});

src/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export interface ResultEventData extends observable.EventData {
4343
/**
4444
* The string response of the server.
4545
*/
46-
data: string;
46+
response: string;
4747
/** HTTP response code if response object is present, otherwise -1 */
4848
responseCode: number;
4949
}

0 commit comments

Comments
 (0)