Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: src/common/mac/HTTPMultipartUpload.m

Issue 1675243002: Fix usage of deprecated method sendSynchronousRequest:returningResponse:error:. (Closed) Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@fix-string-by-adding-percent-escapes-using-encoding
Patch Set: Fix compilation Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006, Google Inc. 1 // Copyright (c) 2006, Google Inc.
2 // All rights reserved. 2 // All rights reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // * Redistributions of source code must retain the above copyright 8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer. 9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above 10 // * Redistributions in binary form must reproduce the above
(...skipping 29 matching lines...) Expand all
40 (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \ 40 (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
41 defined(MAC_OS_X_VERSION_10_11) && \ 41 defined(MAC_OS_X_VERSION_10_11) && \
42 MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11) 42 MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11)
43 return [key stringByAddingPercentEncodingWithAllowedCharacters: 43 return [key stringByAddingPercentEncodingWithAllowedCharacters:
44 [NSCharacterSet URLQueryAllowedCharacterSet]]; 44 [NSCharacterSet URLQueryAllowedCharacterSet]];
45 #else 45 #else
46 return [key stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 46 return [key stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
47 #endif 47 #endif
48 } 48 }
49 49
50 // As -[NSURLConnection sendSynchronousRequest:returningResponse:error:] has
51 // been deprecated with iOS 9.0 / OS X 10.11 SDKs, this function re-implements
52 // it using -[NSURLSession dataTaskWithRequest:completionHandler:] when using
53 // those SDKs.
54 static NSData *SendSynchronousNSURLRequest(NSURLRequest *req,
55 NSURLResponse **out_response,
56 NSError **out_error) {
57 #if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && defined(__IPHONE_9_0) && \
58 __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_9_0) || \
59 (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
60 defined(MAC_OS_X_VERSION_10_11) && \
61 MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11)
62 __block NSData* result = nil;
63 __block NSError* error = nil;
64 __block NSURLResponse* response = nil;
65 dispatch_semaphore_t wait_semaphone = dispatch_semaphore_create(0);
66 [[[NSURLSession sharedSession]
67 dataTaskWithRequest:req
68 completionHandler:^(NSData *data,
69 NSURLResponse *resp,
70 NSError *err) {
71 if (out_error)
72 error = [err retain];
73 if (out_response)
74 response = [resp retain];
75 if (err == nil)
76 result = [data retain];
77 dispatch_semaphore_signal(wait_semaphone);
78 }] resume];
79 dispatch_semaphore_wait(wait_semaphone, DISPATCH_TIME_FOREVER);
80 dispatch_release(wait_semaphone);
81 if (out_error)
82 *out_error = [error autorelease];
83 if (out_response)
84 *out_response = [response autorelease];
85 return [result autorelease];
86 #else
87 return [NSURLConnection sendSynchronousRequest:req
88 returningResponse:out_response
89 error:out_error];
90 #endif
91 }
50 @interface HTTPMultipartUpload(PrivateMethods) 92 @interface HTTPMultipartUpload(PrivateMethods)
51 - (NSString *)multipartBoundary; 93 - (NSString *)multipartBoundary;
52 // Each of the following methods will append the starting multipart boundary, 94 // Each of the following methods will append the starting multipart boundary,
53 // but not the ending one. 95 // but not the ending one.
54 - (NSData *)formDataForKey:(NSString *)key value:(NSString *)value; 96 - (NSData *)formDataForKey:(NSString *)key value:(NSString *)value;
55 - (NSData *)formDataForFileContents:(NSData *)contents name:(NSString *)name; 97 - (NSData *)formDataForFileContents:(NSData *)contents name:(NSString *)name;
56 - (NSData *)formDataForFile:(NSString *)file name:(NSString *)name; 98 - (NSData *)formDataForFile:(NSString *)file name:(NSString *)name;
57 @end 99 @end
58 100
59 @implementation HTTPMultipartUpload 101 @implementation HTTPMultipartUpload
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 [req setHTTPMethod:@"POST"]; 246 [req setHTTPMethod:@"POST"];
205 247
206 [response_ release]; 248 [response_ release];
207 response_ = nil; 249 response_ = nil;
208 250
209 NSData *data = nil; 251 NSData *data = nil;
210 if ([[req URL] isFileURL]) { 252 if ([[req URL] isFileURL]) {
211 [[req HTTPBody] writeToURL:[req URL] options:0 error:error]; 253 [[req HTTPBody] writeToURL:[req URL] options:0 error:error];
212 } else { 254 } else {
213 NSURLResponse *response = nil; 255 NSURLResponse *response = nil;
214 data = [NSURLConnection sendSynchronousRequest:req 256 data = SendSynchronousNSURLRequest(req, &response, error);
215 returningResponse:&response
216 error:error];
217 response_ = (NSHTTPURLResponse *)[response retain]; 257 response_ = (NSHTTPURLResponse *)[response retain];
218 } 258 }
219 [req release]; 259 [req release];
220 260
221 return data; 261 return data;
222 } 262 }
223 263
224 //============================================================================= 264 //=============================================================================
225 - (NSHTTPURLResponse *)response { 265 - (NSHTTPURLResponse *)response {
226 return response_; 266 return response_;
227 } 267 }
228 268
229 @end 269 @end
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698