@@ -112,7 +112,6 @@ - (id)dataTask:(id)args
112112{
113113 ENSURE_SINGLE_ARG (args, NSDictionary );
114114
115- NSURLSessionUploadTask *task = nil ;
116115 NSString *url = nil ;
117116 NSString *method = nil ;
118117 NSDictionary *headers = nil ;
@@ -122,41 +121,43 @@ - (id)dataTask:(id)args
122121 ENSURE_ARG_OR_NIL_FOR_KEY (method, args, @" method" , NSString );
123122 ENSURE_ARG_OR_NIL_FOR_KEY (headers, args, @" requestHeaders" , NSDictionary );
124123
125- if ([url length ] != 0 ) {
126- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [TiUtils toURL: url proxy: self ]];
127-
128- // HTTP method
129- [request setHTTPMethod: (method ?: @" POST" )];
130-
131- // Optional request headers
132- if (headers) {
133- for (id key in headers) {
134- ENSURE_TYPE (key, NSString );
135- ENSURE_TYPE ([headers objectForKey: key], NSString );
136-
137- [request setValue: [headers objectForKey: key] forHTTPHeaderField: key];
138- }
139- }
140-
141- if (data != nil ) {
142- NSError *error = nil ;
143- NSData *postData = [NSJSONSerialization dataWithJSONObject: data options: 0 error: &error];
124+ NSURL *nativeURL = [TiUtils toURL: url proxy: self ];
125+
126+ if (nativeURL == nil ) {
127+ NSLog (@" [ERROR] Ti.URLSession: The specified URL for this data task is empty. Please provide a valid URL." );
128+ return nil ;
129+ }
130+
131+ NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: nativeURL];
132+
133+ // HTTP method
134+ [request setHTTPMethod: (method ?: @" POST" )];
135+
136+ // Optional request headers
137+ if (headers) {
138+ for (id key in headers) {
139+ ENSURE_TYPE (key, NSString );
140+ ENSURE_TYPE ([headers objectForKey: key], NSString );
144141
145- if (error == nil ) {
146- [request setHTTPBody: postData];
147- } else {
148- DebugLog (@" [ERROR] Could not append data: %@ " , error.localizedDescription );
149- }
142+ [request setValue: [headers objectForKey: key] forHTTPHeaderField: key];
150143 }
151-
152- NSURLSessionDataTask *task = [_session dataTaskWithRequest: request];
144+ }
145+
146+ if (data != nil ) {
147+ NSError *error = nil ;
148+ NSData *postData = [NSJSONSerialization dataWithJSONObject: data options: 0 error: &error];
153149
154- return NUMINTEGER ([task taskIdentifier ]);
155- } else {
156- NSLog (@" [ERROR] Ti.URLSession: The specified URL for this data task is empty. Please provide a valid URL." );
150+ if (error == nil ) {
151+ [request setHTTPBody: postData];
152+ } else {
153+ DebugLog (@" [ERROR] Could not append data: %@ " , error.localizedDescription );
154+ }
157155 }
156+
157+ NSURLSessionDataTask *task = [_session dataTaskWithRequest: request];
158+ [task resume ];
158159
159- return nil ;
160+ return NUMINTEGER ([task taskIdentifier ]) ;
160161}
161162
162163- (void )finishTasksAndInvalidate : (id )unused
0 commit comments