Showing
7 changed files
with
119 additions
and
139 deletions
| @@ -122,7 +122,10 @@ | @@ -122,7 +122,10 @@ | ||
| 122 | //Called on the delegate when the request fails | 122 | //Called on the delegate when the request fails |
| 123 | SEL didFailSelector; | 123 | SEL didFailSelector; |
| 124 | 124 | ||
| 125 | + //Used for recording when something last happened during the request, we will compare this value with the current date to time out requests when appropriate | ||
| 126 | + NSDate *lastActivityTime; | ||
| 125 | 127 | ||
| 128 | + NSTimeInterval timeOutSeconds; | ||
| 126 | } | 129 | } |
| 127 | 130 | ||
| 128 | #pragma mark init / dealloc | 131 | #pragma mark init / dealloc |
| @@ -254,5 +257,6 @@ | @@ -254,5 +257,6 @@ | ||
| 254 | @property (retain) NSDictionary *requestCredentials; | 257 | @property (retain) NSDictionary *requestCredentials; |
| 255 | @property (assign) int responseStatusCode; | 258 | @property (assign) int responseStatusCode; |
| 256 | @property (retain) NSMutableData *receivedData; | 259 | @property (retain) NSMutableData *receivedData; |
| 257 | - | 260 | +@property (retain) NSDate *lastActivityTime; |
| 261 | +@property (assign) NSTimeInterval timeOutSeconds; | ||
| 258 | @end | 262 | @end |
| @@ -51,6 +51,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -51,6 +51,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 51 | //credentials = NULL; | 51 | //credentials = NULL; |
| 52 | request = NULL; | 52 | request = NULL; |
| 53 | responseHeaders = nil; | 53 | responseHeaders = nil; |
| 54 | + [self setTimeOutSeconds:30]; | ||
| 54 | [self setUseKeychainPersistance:NO]; | 55 | [self setUseKeychainPersistance:NO]; |
| 55 | [self setUseSessionPersistance:YES]; | 56 | [self setUseSessionPersistance:YES]; |
| 56 | [self setUseCookiePersistance:YES]; | 57 | [self setUseCookiePersistance:YES]; |
| @@ -83,6 +84,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -83,6 +84,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 83 | [authenticationRealm release]; | 84 | [authenticationRealm release]; |
| 84 | [url release]; | 85 | [url release]; |
| 85 | [authenticationLock release]; | 86 | [authenticationLock release]; |
| 87 | + [lastActivityTime release]; | ||
| 86 | [super dealloc]; | 88 | [super dealloc]; |
| 87 | } | 89 | } |
| 88 | 90 | ||
| @@ -304,11 +306,23 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -304,11 +306,23 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 304 | [self performSelectorOnMainThread:@selector(resetUploadProgress:) withObject:[NSNumber numberWithDouble:postLength] waitUntilDone:YES]; | 306 | [self performSelectorOnMainThread:@selector(resetUploadProgress:) withObject:[NSNumber numberWithDouble:postLength] waitUntilDone:YES]; |
| 305 | } | 307 | } |
| 306 | 308 | ||
| 309 | + //Record when the request started, so we can timeout if nothing happens | ||
| 310 | + [self setLastActivityTime:[[NSDate new] autorelease]]; | ||
| 307 | 311 | ||
| 308 | // Wait for the request to finish | 312 | // Wait for the request to finish |
| 309 | NSDate* endDate = [NSDate distantFuture]; | 313 | NSDate* endDate = [NSDate distantFuture]; |
| 310 | while (!complete) { | 314 | while (!complete) { |
| 311 | 315 | ||
| 316 | + //See if we need to timeout | ||
| 317 | + if (lastActivityTime && timeOutSeconds > 0) { | ||
| 318 | + if ([[[NSDate new] autorelease] timeIntervalSinceDate:lastActivityTime] > timeOutSeconds) { | ||
| 319 | + [self failWithProblem:@"Request timed out"]; | ||
| 320 | + [self cancelLoad]; | ||
| 321 | + complete = YES; | ||
| 322 | + break; | ||
| 323 | + } | ||
| 324 | + } | ||
| 325 | + | ||
| 312 | // See if our NSOperationQueue told us to cancel | 326 | // See if our NSOperationQueue told us to cancel |
| 313 | if ([self isCancelled]) { | 327 | if ([self isCancelled]) { |
| 314 | [self failWithProblem:@"The request was cancelled"]; | 328 | [self failWithProblem:@"The request was cancelled"]; |
| @@ -366,6 +380,8 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -366,6 +380,8 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 366 | 380 | ||
| 367 | - (void)updateUploadProgress | 381 | - (void)updateUploadProgress |
| 368 | { | 382 | { |
| 383 | + [self setLastActivityTime:[[NSDate new] autorelease]]; | ||
| 384 | + | ||
| 369 | double byteCount = [[(NSNumber *)CFReadStreamCopyProperty (readStream, kCFStreamPropertyHTTPRequestBytesWrittenCount) autorelease] doubleValue]; | 385 | double byteCount = [[(NSNumber *)CFReadStreamCopyProperty (readStream, kCFStreamPropertyHTTPRequestBytesWrittenCount) autorelease] doubleValue]; |
| 370 | if (uploadProgressDelegate) { | 386 | if (uploadProgressDelegate) { |
| 371 | [uploadProgressDelegate incrementBy:byteCount-lastBytesSent]; | 387 | [uploadProgressDelegate incrementBy:byteCount-lastBytesSent]; |
| @@ -385,6 +401,8 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -385,6 +401,8 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 385 | 401 | ||
| 386 | - (void)updateDownloadProgress | 402 | - (void)updateDownloadProgress |
| 387 | { | 403 | { |
| 404 | + [self setLastActivityTime:[[NSDate new] autorelease]]; | ||
| 405 | + | ||
| 388 | //We won't update downlaod progress until we've examined the headers, since we might need to authenticate | 406 | //We won't update downlaod progress until we've examined the headers, since we might need to authenticate |
| 389 | if (downloadProgressDelegate && responseHeaders) { | 407 | if (downloadProgressDelegate && responseHeaders) { |
| 390 | [downloadProgressDelegate incrementBy:totalBytesRead-lastBytesRead]; | 408 | [downloadProgressDelegate incrementBy:totalBytesRead-lastBytesRead]; |
| @@ -586,6 +604,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -586,6 +604,7 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 586 | // check for bad credentials, so we can give the delegate a chance to replace them | 604 | // check for bad credentials, so we can give the delegate a chance to replace them |
| 587 | if (err.domain == kCFStreamErrorDomainHTTP && (err.error == kCFStreamErrorHTTPAuthenticationBadUserName || err.error == kCFStreamErrorHTTPAuthenticationBadPassword)) { | 605 | if (err.domain == kCFStreamErrorDomainHTTP && (err.error == kCFStreamErrorHTTPAuthenticationBadUserName || err.error == kCFStreamErrorHTTPAuthenticationBadPassword)) { |
| 588 | ignoreError = YES; | 606 | ignoreError = YES; |
| 607 | + [self setLastActivityTime:nil]; | ||
| 589 | if ([delegate respondsToSelector:@selector(authorizationNeededForRequest:)]) { | 608 | if ([delegate respondsToSelector:@selector(authorizationNeededForRequest:)]) { |
| 590 | [delegate performSelectorOnMainThread:@selector(authorizationNeededForRequest:) withObject:self waitUntilDone:YES]; | 609 | [delegate performSelectorOnMainThread:@selector(authorizationNeededForRequest:) withObject:self waitUntilDone:YES]; |
| 591 | [authenticationLock lockWhenCondition:2]; | 610 | [authenticationLock lockWhenCondition:2]; |
| @@ -863,4 +882,6 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | @@ -863,4 +882,6 @@ static void ReadStreamClientCallBack(CFReadStreamRef readStream, CFStreamEventTy | ||
| 863 | @synthesize requestCredentials; | 882 | @synthesize requestCredentials; |
| 864 | @synthesize responseStatusCode; | 883 | @synthesize responseStatusCode; |
| 865 | @synthesize receivedData; | 884 | @synthesize receivedData; |
| 885 | +@synthesize lastActivityTime; | ||
| 886 | +@synthesize timeOutSeconds; | ||
| 866 | @end | 887 | @end |
| @@ -58,6 +58,20 @@ More tests needed for: | @@ -58,6 +58,20 @@ More tests needed for: | ||
| 58 | STAssertNotNil(error,@"Failed to generate an error for a bad host - this test may fail when your DNS server redirects you to another page when it can't find a domain name (eg OpenDNS)"); | 58 | STAssertNotNil(error,@"Failed to generate an error for a bad host - this test may fail when your DNS server redirects you to another page when it can't find a domain name (eg OpenDNS)"); |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | +- (void)testTimeOut | ||
| 62 | +{ | ||
| 63 | + //Grab data | ||
| 64 | + NSURL *url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com"] autorelease]; | ||
| 65 | + ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; | ||
| 66 | + [request setTimeOutSeconds:0.0001]; //It's pretty unlikely we will be able to grab the data this quickly, so the request should timeout | ||
| 67 | + [request start]; | ||
| 68 | + NSError *error = [request error]; | ||
| 69 | + STAssertNotNil(error,@"Request didn't timeout"); | ||
| 70 | + BOOL success = [[[error userInfo] valueForKey:@"Description"] isEqualToString:@"Request timed out"]; | ||
| 71 | + STAssertTrue(success,@"Timeout didn't generate the correct error"); | ||
| 72 | + | ||
| 73 | +} | ||
| 74 | + | ||
| 61 | - (void)testOperationQueue | 75 | - (void)testOperationQueue |
| 62 | { | 76 | { |
| 63 | NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease]; | 77 | NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease]; |
| @@ -304,7 +304,7 @@ | @@ -304,7 +304,7 @@ | ||
| 304 | <real>312</real> | 304 | <real>312</real> |
| 305 | </array> | 305 | </array> |
| 306 | <key>RubberWindowFrame</key> | 306 | <key>RubberWindowFrame</key> |
| 307 | - <string>268 202 1432 976 0 0 1920 1178 </string> | 307 | + <string>227 156 1432 976 0 0 1920 1178 </string> |
| 308 | </dict> | 308 | </dict> |
| 309 | <key>Module</key> | 309 | <key>Module</key> |
| 310 | <string>PBXSmartGroupTreeModule</string> | 310 | <string>PBXSmartGroupTreeModule</string> |
| @@ -334,7 +334,7 @@ | @@ -334,7 +334,7 @@ | ||
| 334 | <key>_historyCapacity</key> | 334 | <key>_historyCapacity</key> |
| 335 | <integer>0</integer> | 335 | <integer>0</integer> |
| 336 | <key>bookmark</key> | 336 | <key>bookmark</key> |
| 337 | - <string>B5CF37A50E7A97750050CBA7</string> | 337 | + <string>B5B297070E7BCA3D000B04CD</string> |
| 338 | <key>history</key> | 338 | <key>history</key> |
| 339 | <array> | 339 | <array> |
| 340 | <string>B5731B8B0E4310180008024F</string> | 340 | <string>B5731B8B0E4310180008024F</string> |
| @@ -346,15 +346,15 @@ | @@ -346,15 +346,15 @@ | ||
| 346 | <string>B567EF5D0E4EE4FC001E238F</string> | 346 | <string>B567EF5D0E4EE4FC001E238F</string> |
| 347 | <string>B500B54C0E635A3200744D82</string> | 347 | <string>B500B54C0E635A3200744D82</string> |
| 348 | <string>B5CF35640E7A7B2C0050CBA7</string> | 348 | <string>B5CF35640E7A7B2C0050CBA7</string> |
| 349 | - <string>B5CF36FC0E7A8C380050CBA7</string> | 349 | + <string>B5B2969F0E7BC6C7000B04CD</string> |
| 350 | - <string>B5CF36FE0E7A8C380050CBA7</string> | 350 | + <string>B5B296A10E7BC6C7000B04CD</string> |
| 351 | - <string>B5CF36FF0E7A8C380050CBA7</string> | 351 | + <string>B5B296BB0E7BC7E3000B04CD</string> |
| 352 | - <string>B5CF37000E7A8C380050CBA7</string> | 352 | + <string>B5B296BC0E7BC7E3000B04CD</string> |
| 353 | - <string>B5CF37010E7A8C380050CBA7</string> | 353 | + <string>B5B296CC0E7BC846000B04CD</string> |
| 354 | - <string>B5CF37120E7A8C7F0050CBA7</string> | 354 | + <string>B5B296FF0E7BCA3D000B04CD</string> |
| 355 | - <string>B5CF379A0E7A974D0050CBA7</string> | 355 | + <string>B5B297000E7BCA3D000B04CD</string> |
| 356 | - <string>B5CF379B0E7A974D0050CBA7</string> | 356 | + <string>B5B297010E7BCA3D000B04CD</string> |
| 357 | - <string>B5CF37850E7A96B90050CBA7</string> | 357 | + <string>B5B297020E7BCA3D000B04CD</string> |
| 358 | </array> | 358 | </array> |
| 359 | <key>prevStack</key> | 359 | <key>prevStack</key> |
| 360 | <array> | 360 | <array> |
| @@ -375,101 +375,43 @@ | @@ -375,101 +375,43 @@ | ||
| 375 | <string>B567EF630E4EE4FC001E238F</string> | 375 | <string>B567EF630E4EE4FC001E238F</string> |
| 376 | <string>B5B3BC690E62DA0E0071D39F</string> | 376 | <string>B5B3BC690E62DA0E0071D39F</string> |
| 377 | <string>B5B3BC6C0E62DA0E0071D39F</string> | 377 | <string>B5B3BC6C0E62DA0E0071D39F</string> |
| 378 | - <string>B5CF35450E7A73EC0050CBA7</string> | ||
| 379 | - <string>B5CF35460E7A73EC0050CBA7</string> | ||
| 380 | - <string>B5CF35470E7A73EC0050CBA7</string> | ||
| 381 | - <string>B5CF35680E7A7B2C0050CBA7</string> | ||
| 382 | - <string>B5CF35690E7A7B2C0050CBA7</string> | ||
| 383 | - <string>B5CF356A0E7A7B2C0050CBA7</string> | ||
| 384 | - <string>B5CF356B0E7A7B2C0050CBA7</string> | ||
| 385 | - <string>B5CF356C0E7A7B2C0050CBA7</string> | ||
| 386 | <string>B5CF356D0E7A7B2C0050CBA7</string> | 378 | <string>B5CF356D0E7A7B2C0050CBA7</string> |
| 387 | - <string>B5CF356F0E7A7B2C0050CBA7</string> | 379 | + <string>B5B296A40E7BC6C7000B04CD</string> |
| 388 | - <string>B5CF35700E7A7B2C0050CBA7</string> | 380 | + <string>B5B296A50E7BC6C7000B04CD</string> |
| 389 | - <string>B5CF357D0E7A7C790050CBA7</string> | 381 | + <string>B5B296A60E7BC6C7000B04CD</string> |
| 390 | - <string>B5CF358E0E7A7F470050CBA7</string> | 382 | + <string>B5B296A70E7BC6C7000B04CD</string> |
| 391 | - <string>B5CF35A90E7A84A00050CBA7</string> | 383 | + <string>B5B296A80E7BC6C7000B04CD</string> |
| 392 | - <string>B5CF35AA0E7A84A00050CBA7</string> | 384 | + <string>B5B296A90E7BC6C7000B04CD</string> |
| 393 | - <string>B5CF35AB0E7A84A00050CBA7</string> | 385 | + <string>B5B296AA0E7BC6C7000B04CD</string> |
| 394 | - <string>B5CF35AC0E7A84A00050CBA7</string> | 386 | + <string>B5B296AB0E7BC6C7000B04CD</string> |
| 395 | - <string>B5CF35AD0E7A84A00050CBA7</string> | 387 | + <string>B5B296AC0E7BC6C7000B04CD</string> |
| 396 | - <string>B5CF35AE0E7A84A00050CBA7</string> | 388 | + <string>B5B296AD0E7BC6C7000B04CD</string> |
| 397 | - <string>B5CF35AF0E7A84A00050CBA7</string> | 389 | + <string>B5B296AE0E7BC6C7000B04CD</string> |
| 398 | - <string>B5CF35B00E7A84A00050CBA7</string> | 390 | + <string>B5B296AF0E7BC6C7000B04CD</string> |
| 399 | - <string>B5CF35B10E7A84A00050CBA7</string> | 391 | + <string>B5B296B00E7BC6C7000B04CD</string> |
| 400 | - <string>B5CF35B20E7A84A00050CBA7</string> | 392 | + <string>B5B296B10E7BC6C7000B04CD</string> |
| 401 | - <string>B5CF35B30E7A84A00050CBA7</string> | 393 | + <string>B5B296B20E7BC6C7000B04CD</string> |
| 402 | - <string>B5CF35B40E7A84A00050CBA7</string> | 394 | + <string>B5B296BF0E7BC7E3000B04CD</string> |
| 403 | - <string>B5CF35B50E7A84A00050CBA7</string> | 395 | + <string>B5B296C00E7BC7E3000B04CD</string> |
| 404 | - <string>B5CF35B60E7A84A00050CBA7</string> | 396 | + <string>B5B296C10E7BC7E3000B04CD</string> |
| 405 | - <string>B5CF35B70E7A84A00050CBA7</string> | 397 | + <string>B5B296C20E7BC7E3000B04CD</string> |
| 406 | - <string>B5CF35B80E7A84A00050CBA7</string> | 398 | + <string>B5B296C30E7BC7E3000B04CD</string> |
| 407 | - <string>B5CF35B90E7A84A00050CBA7</string> | 399 | + <string>B5B296C40E7BC7E3000B04CD</string> |
| 408 | - <string>B5CF35CC0E7A85360050CBA7</string> | 400 | + <string>B5B296CF0E7BC846000B04CD</string> |
| 409 | - <string>B5CF35CD0E7A85360050CBA7</string> | 401 | + <string>B5B296D00E7BC846000B04CD</string> |
| 410 | - <string>B5CF35CE0E7A85360050CBA7</string> | 402 | + <string>B5B296D10E7BC846000B04CD</string> |
| 411 | - <string>B5CF35E20E7A85A50050CBA7</string> | 403 | + <string>B5B296D20E7BC846000B04CD</string> |
| 412 | - <string>B5CF35EC0E7A85E00050CBA7</string> | 404 | + <string>B5B296E00E7BC8BA000B04CD</string> |
| 413 | - <string>B5CF36770E7A88A60050CBA7</string> | 405 | + <string>B5B296E10E7BC8BA000B04CD</string> |
| 414 | - <string>B5CF36780E7A88A60050CBA7</string> | 406 | + <string>B5B296E20E7BC8BA000B04CD</string> |
| 415 | - <string>B5CF36790E7A88A60050CBA7</string> | 407 | + <string>B5B296E30E7BC8BA000B04CD</string> |
| 416 | - <string>B5CF367A0E7A88A60050CBA7</string> | 408 | + <string>B5B296E40E7BC8BA000B04CD</string> |
| 417 | - <string>B5CF367B0E7A88A60050CBA7</string> | 409 | + <string>B5B296EC0E7BC92D000B04CD</string> |
| 418 | - <string>B5CF367C0E7A88A60050CBA7</string> | 410 | + <string>B5B296ED0E7BC92D000B04CD</string> |
| 419 | - <string>B5CF367D0E7A88A60050CBA7</string> | 411 | + <string>B5B297030E7BCA3D000B04CD</string> |
| 420 | - <string>B5CF367E0E7A88A60050CBA7</string> | 412 | + <string>B5B297040E7BCA3D000B04CD</string> |
| 421 | - <string>B5CF367F0E7A88A60050CBA7</string> | 413 | + <string>B5B297050E7BCA3D000B04CD</string> |
| 422 | - <string>B5CF36800E7A88A60050CBA7</string> | 414 | + <string>B5B297060E7BCA3D000B04CD</string> |
| 423 | - <string>B5CF36810E7A88A60050CBA7</string> | ||
| 424 | - <string>B5CF36820E7A88A60050CBA7</string> | ||
| 425 | - <string>B5CF36830E7A88A60050CBA7</string> | ||
| 426 | - <string>B5CF36840E7A88A60050CBA7</string> | ||
| 427 | - <string>B5CF36850E7A88A60050CBA7</string> | ||
| 428 | - <string>B5CF36860E7A88A60050CBA7</string> | ||
| 429 | - <string>B5CF36870E7A88A60050CBA7</string> | ||
| 430 | - <string>B5CF36880E7A88A60050CBA7</string> | ||
| 431 | - <string>B5CF36890E7A88A60050CBA7</string> | ||
| 432 | - <string>B5CF368A0E7A88A60050CBA7</string> | ||
| 433 | - <string>B5CF368B0E7A88A60050CBA7</string> | ||
| 434 | - <string>B5CF368C0E7A88A60050CBA7</string> | ||
| 435 | - <string>B5CF368D0E7A88A60050CBA7</string> | ||
| 436 | - <string>B5CF368E0E7A88A60050CBA7</string> | ||
| 437 | - <string>B5CF368F0E7A88A60050CBA7</string> | ||
| 438 | - <string>B5CF36900E7A88A60050CBA7</string> | ||
| 439 | - <string>B5CF36910E7A88A60050CBA7</string> | ||
| 440 | - <string>B5CF36BE0E7A89F10050CBA7</string> | ||
| 441 | - <string>B5CF36BF0E7A89F10050CBA7</string> | ||
| 442 | - <string>B5CF36C80E7A8A610050CBA7</string> | ||
| 443 | - <string>B5CF36EC0E7A8B440050CBA7</string> | ||
| 444 | - <string>B5CF37030E7A8C380050CBA7</string> | ||
| 445 | - <string>B5CF37040E7A8C380050CBA7</string> | ||
| 446 | - <string>B5CF37050E7A8C380050CBA7</string> | ||
| 447 | - <string>B5CF37060E7A8C380050CBA7</string> | ||
| 448 | - <string>B5CF37070E7A8C380050CBA7</string> | ||
| 449 | - <string>B5CF37080E7A8C380050CBA7</string> | ||
| 450 | - <string>B5CF37090E7A8C380050CBA7</string> | ||
| 451 | - <string>B5CF370A0E7A8C380050CBA7</string> | ||
| 452 | - <string>B5CF370B0E7A8C380050CBA7</string> | ||
| 453 | - <string>B5CF370C0E7A8C380050CBA7</string> | ||
| 454 | - <string>B5CF370D0E7A8C380050CBA7</string> | ||
| 455 | - <string>B5CF370E0E7A8C380050CBA7</string> | ||
| 456 | - <string>B5CF37130E7A8C7F0050CBA7</string> | ||
| 457 | - <string>B5CF37140E7A8C7F0050CBA7</string> | ||
| 458 | - <string>B5CF37150E7A8C7F0050CBA7</string> | ||
| 459 | - <string>B5CF37430E7A90E10050CBA7</string> | ||
| 460 | - <string>B5CF374F0E7A93560050CBA7</string> | ||
| 461 | - <string>B5CF37500E7A93560050CBA7</string> | ||
| 462 | - <string>B5CF37510E7A93560050CBA7</string> | ||
| 463 | - <string>B5CF37520E7A93560050CBA7</string> | ||
| 464 | - <string>B5CF37530E7A93560050CBA7</string> | ||
| 465 | - <string>B5CF377B0E7A95600050CBA7</string> | ||
| 466 | - <string>B5CF377C0E7A95600050CBA7</string> | ||
| 467 | - <string>B5CF377D0E7A95600050CBA7</string> | ||
| 468 | - <string>B5CF37870E7A96B90050CBA7</string> | ||
| 469 | - <string>B5CF37880E7A96B90050CBA7</string> | ||
| 470 | - <string>B5CF379C0E7A974D0050CBA7</string> | ||
| 471 | - <string>B5CF379D0E7A974D0050CBA7</string> | ||
| 472 | - <string>B5CF379E0E7A974D0050CBA7</string> | ||
| 473 | </array> | 415 | </array> |
| 474 | </dict> | 416 | </dict> |
| 475 | <key>SplitCount</key> | 417 | <key>SplitCount</key> |
| @@ -483,7 +425,7 @@ | @@ -483,7 +425,7 @@ | ||
| 483 | <key>Frame</key> | 425 | <key>Frame</key> |
| 484 | <string>{{0, 0}, {1098, 836}}</string> | 426 | <string>{{0, 0}, {1098, 836}}</string> |
| 485 | <key>RubberWindowFrame</key> | 427 | <key>RubberWindowFrame</key> |
| 486 | - <string>268 202 1432 976 0 0 1920 1178 </string> | 428 | + <string>227 156 1432 976 0 0 1920 1178 </string> |
| 487 | </dict> | 429 | </dict> |
| 488 | <key>Module</key> | 430 | <key>Module</key> |
| 489 | <string>PBXNavigatorGroup</string> | 431 | <string>PBXNavigatorGroup</string> |
| @@ -503,7 +445,7 @@ | @@ -503,7 +445,7 @@ | ||
| 503 | <key>Frame</key> | 445 | <key>Frame</key> |
| 504 | <string>{{0, 841}, {1098, 94}}</string> | 446 | <string>{{0, 841}, {1098, 94}}</string> |
| 505 | <key>RubberWindowFrame</key> | 447 | <key>RubberWindowFrame</key> |
| 506 | - <string>268 202 1432 976 0 0 1920 1178 </string> | 448 | + <string>227 156 1432 976 0 0 1920 1178 </string> |
| 507 | </dict> | 449 | </dict> |
| 508 | <key>Module</key> | 450 | <key>Module</key> |
| 509 | <string>XCDetailModule</string> | 451 | <string>XCDetailModule</string> |
| @@ -527,9 +469,9 @@ | @@ -527,9 +469,9 @@ | ||
| 527 | </array> | 469 | </array> |
| 528 | <key>TableOfContents</key> | 470 | <key>TableOfContents</key> |
| 529 | <array> | 471 | <array> |
| 530 | - <string>B5CF35490E7A73EC0050CBA7</string> | 472 | + <string>B5B296B40E7BC6C7000B04CD</string> |
| 531 | <string>1CE0B1FE06471DED0097A5F4</string> | 473 | <string>1CE0B1FE06471DED0097A5F4</string> |
| 532 | - <string>B5CF354A0E7A73EC0050CBA7</string> | 474 | + <string>B5B296B50E7BC6C7000B04CD</string> |
| 533 | <string>1CE0B20306471E060097A5F4</string> | 475 | <string>1CE0B20306471E060097A5F4</string> |
| 534 | <string>1CE0B20506471E060097A5F4</string> | 476 | <string>1CE0B20506471E060097A5F4</string> |
| 535 | </array> | 477 | </array> |
| @@ -663,16 +605,15 @@ | @@ -663,16 +605,15 @@ | ||
| 663 | <integer>5</integer> | 605 | <integer>5</integer> |
| 664 | <key>WindowOrderList</key> | 606 | <key>WindowOrderList</key> |
| 665 | <array> | 607 | <array> |
| 666 | - <string>1C530D57069F1CE1000CFCEE</string> | 608 | + <string>B5B296C70E7BC7E3000B04CD</string> |
| 667 | - <string>B5CF35540E7A73EC0050CBA7</string> | 609 | + <string>B5B296C80E7BC7E3000B04CD</string> |
| 668 | - <string>B5CF35550E7A73EC0050CBA7</string> | ||
| 669 | <string>B5ABC8410E24CDE70072F422</string> | 610 | <string>B5ABC8410E24CDE70072F422</string> |
| 670 | <string>1CD10A99069EF8BA00B06720</string> | 611 | <string>1CD10A99069EF8BA00B06720</string> |
| 671 | - <string>1C78EAAD065D492600B07095</string> | ||
| 672 | <string>/Users/ben/asi-http-request/asi-http-request.xcodeproj</string> | 612 | <string>/Users/ben/asi-http-request/asi-http-request.xcodeproj</string> |
| 613 | + <string>1C78EAAD065D492600B07095</string> | ||
| 673 | </array> | 614 | </array> |
| 674 | <key>WindowString</key> | 615 | <key>WindowString</key> |
| 675 | - <string>268 202 1432 976 0 0 1920 1178 </string> | 616 | + <string>227 156 1432 976 0 0 1920 1178 </string> |
| 676 | <key>WindowToolsV3</key> | 617 | <key>WindowToolsV3</key> |
| 677 | <array> | 618 | <array> |
| 678 | <dict> | 619 | <dict> |
| @@ -688,8 +629,6 @@ | @@ -688,8 +629,6 @@ | ||
| 688 | <key>Dock</key> | 629 | <key>Dock</key> |
| 689 | <array> | 630 | <array> |
| 690 | <dict> | 631 | <dict> |
| 691 | - <key>BecomeActive</key> | ||
| 692 | - <true/> | ||
| 693 | <key>ContentConfiguration</key> | 632 | <key>ContentConfiguration</key> |
| 694 | <dict> | 633 | <dict> |
| 695 | <key>PBXProjectModuleGUID</key> | 634 | <key>PBXProjectModuleGUID</key> |
| @@ -704,7 +643,7 @@ | @@ -704,7 +643,7 @@ | ||
| 704 | <key>Frame</key> | 643 | <key>Frame</key> |
| 705 | <string>{{0, 0}, {1279, 533}}</string> | 644 | <string>{{0, 0}, {1279, 533}}</string> |
| 706 | <key>RubberWindowFrame</key> | 645 | <key>RubberWindowFrame</key> |
| 707 | - <string>329 218 1279 815 0 0 1920 1178 </string> | 646 | + <string>205 95 1279 815 0 0 1920 1178 </string> |
| 708 | </dict> | 647 | </dict> |
| 709 | <key>Module</key> | 648 | <key>Module</key> |
| 710 | <string>PBXNavigatorGroup</string> | 649 | <string>PBXNavigatorGroup</string> |
| @@ -712,6 +651,8 @@ | @@ -712,6 +651,8 @@ | ||
| 712 | <string>533pt</string> | 651 | <string>533pt</string> |
| 713 | </dict> | 652 | </dict> |
| 714 | <dict> | 653 | <dict> |
| 654 | + <key>BecomeActive</key> | ||
| 655 | + <true/> | ||
| 715 | <key>ContentConfiguration</key> | 656 | <key>ContentConfiguration</key> |
| 716 | <dict> | 657 | <dict> |
| 717 | <key>PBXProjectModuleGUID</key> | 658 | <key>PBXProjectModuleGUID</key> |
| @@ -728,7 +669,7 @@ | @@ -728,7 +669,7 @@ | ||
| 728 | <key>Frame</key> | 669 | <key>Frame</key> |
| 729 | <string>{{0, 538}, {1279, 236}}</string> | 670 | <string>{{0, 538}, {1279, 236}}</string> |
| 730 | <key>RubberWindowFrame</key> | 671 | <key>RubberWindowFrame</key> |
| 731 | - <string>329 218 1279 815 0 0 1920 1178 </string> | 672 | + <string>205 95 1279 815 0 0 1920 1178 </string> |
| 732 | </dict> | 673 | </dict> |
| 733 | <key>Module</key> | 674 | <key>Module</key> |
| 734 | <string>PBXBuildResultsModule</string> | 675 | <string>PBXBuildResultsModule</string> |
| @@ -751,18 +692,18 @@ | @@ -751,18 +692,18 @@ | ||
| 751 | <key>TableOfContents</key> | 692 | <key>TableOfContents</key> |
| 752 | <array> | 693 | <array> |
| 753 | <string>B5ABC8410E24CDE70072F422</string> | 694 | <string>B5ABC8410E24CDE70072F422</string> |
| 754 | - <string>B5CF354B0E7A73EC0050CBA7</string> | 695 | + <string>B5B2969B0E7BC6B2000B04CD</string> |
| 755 | <string>1CD0528F0623707200166675</string> | 696 | <string>1CD0528F0623707200166675</string> |
| 756 | <string>XCMainBuildResultsModuleGUID</string> | 697 | <string>XCMainBuildResultsModuleGUID</string> |
| 757 | </array> | 698 | </array> |
| 758 | <key>ToolbarConfiguration</key> | 699 | <key>ToolbarConfiguration</key> |
| 759 | <string>xcode.toolbar.config.buildV3</string> | 700 | <string>xcode.toolbar.config.buildV3</string> |
| 760 | <key>WindowString</key> | 701 | <key>WindowString</key> |
| 761 | - <string>329 218 1279 815 0 0 1920 1178 </string> | 702 | + <string>205 95 1279 815 0 0 1920 1178 </string> |
| 762 | <key>WindowToolGUID</key> | 703 | <key>WindowToolGUID</key> |
| 763 | <string>B5ABC8410E24CDE70072F422</string> | 704 | <string>B5ABC8410E24CDE70072F422</string> |
| 764 | <key>WindowToolIsVisible</key> | 705 | <key>WindowToolIsVisible</key> |
| 765 | - <false/> | 706 | + <true/> |
| 766 | </dict> | 707 | </dict> |
| 767 | <dict> | 708 | <dict> |
| 768 | <key>FirstTimeWindowDisplayed</key> | 709 | <key>FirstTimeWindowDisplayed</key> |
| @@ -793,8 +734,8 @@ | @@ -793,8 +734,8 @@ | ||
| 793 | <string>yes</string> | 734 | <string>yes</string> |
| 794 | <key>sizes</key> | 735 | <key>sizes</key> |
| 795 | <array> | 736 | <array> |
| 796 | - <string>{{0, 0}, {684, 398}}</string> | 737 | + <string>{{0, 0}, {684, 397}}</string> |
| 797 | - <string>{{684, 0}, {817, 398}}</string> | 738 | + <string>{{684, 0}, {817, 397}}</string> |
| 798 | </array> | 739 | </array> |
| 799 | </dict> | 740 | </dict> |
| 800 | <key>VerticalSplitView</key> | 741 | <key>VerticalSplitView</key> |
| @@ -809,8 +750,8 @@ | @@ -809,8 +750,8 @@ | ||
| 809 | <string>yes</string> | 750 | <string>yes</string> |
| 810 | <key>sizes</key> | 751 | <key>sizes</key> |
| 811 | <array> | 752 | <array> |
| 812 | - <string>{{0, 0}, {1501, 398}}</string> | 753 | + <string>{{0, 0}, {1501, 397}}</string> |
| 813 | - <string>{{0, 398}, {1501, 347}}</string> | 754 | + <string>{{0, 397}, {1501, 348}}</string> |
| 814 | </array> | 755 | </array> |
| 815 | </dict> | 756 | </dict> |
| 816 | </dict> | 757 | </dict> |
| @@ -837,20 +778,18 @@ | @@ -837,20 +778,18 @@ | ||
| 837 | <array> | 778 | <array> |
| 838 | <string>Name</string> | 779 | <string>Name</string> |
| 839 | <real>151</real> | 780 | <real>151</real> |
| 840 | - <string>Type</string> | ||
| 841 | - <real>84</real> | ||
| 842 | <string>Value</string> | 781 | <string>Value</string> |
| 843 | <real>85</real> | 782 | <real>85</real> |
| 844 | <string>Summary</string> | 783 | <string>Summary</string> |
| 845 | <real>590</real> | 784 | <real>590</real> |
| 846 | </array> | 785 | </array> |
| 847 | <key>Frame</key> | 786 | <key>Frame</key> |
| 848 | - <string>{{684, 0}, {817, 398}}</string> | 787 | + <string>{{684, 0}, {817, 397}}</string> |
| 849 | <key>RubberWindowFrame</key> | 788 | <key>RubberWindowFrame</key> |
| 850 | - <string>283 223 1501 786 0 0 1920 1178 </string> | 789 | + <string>63 130 1501 786 0 0 1920 1178 </string> |
| 851 | </dict> | 790 | </dict> |
| 852 | <key>RubberWindowFrame</key> | 791 | <key>RubberWindowFrame</key> |
| 853 | - <string>283 223 1501 786 0 0 1920 1178 </string> | 792 | + <string>63 130 1501 786 0 0 1920 1178 </string> |
| 854 | </dict> | 793 | </dict> |
| 855 | <key>Module</key> | 794 | <key>Module</key> |
| 856 | <string>PBXDebugSessionModule</string> | 795 | <string>PBXDebugSessionModule</string> |
| @@ -873,18 +812,18 @@ | @@ -873,18 +812,18 @@ | ||
| 873 | <key>TableOfContents</key> | 812 | <key>TableOfContents</key> |
| 874 | <array> | 813 | <array> |
| 875 | <string>1CD10A99069EF8BA00B06720</string> | 814 | <string>1CD10A99069EF8BA00B06720</string> |
| 876 | - <string>B5CF354C0E7A73EC0050CBA7</string> | 815 | + <string>B5B2968F0E7BC60E000B04CD</string> |
| 877 | <string>1C162984064C10D400B95A72</string> | 816 | <string>1C162984064C10D400B95A72</string> |
| 878 | - <string>B5CF354D0E7A73EC0050CBA7</string> | 817 | + <string>B5B296900E7BC60E000B04CD</string> |
| 879 | - <string>B5CF354E0E7A73EC0050CBA7</string> | 818 | + <string>B5B296910E7BC60E000B04CD</string> |
| 880 | - <string>B5CF354F0E7A73EC0050CBA7</string> | 819 | + <string>B5B296920E7BC60E000B04CD</string> |
| 881 | - <string>B5CF35500E7A73EC0050CBA7</string> | 820 | + <string>B5B296930E7BC60E000B04CD</string> |
| 882 | - <string>B5CF35510E7A73EC0050CBA7</string> | 821 | + <string>B5B296940E7BC60E000B04CD</string> |
| 883 | </array> | 822 | </array> |
| 884 | <key>ToolbarConfiguration</key> | 823 | <key>ToolbarConfiguration</key> |
| 885 | <string>xcode.toolbar.config.debugV3</string> | 824 | <string>xcode.toolbar.config.debugV3</string> |
| 886 | <key>WindowString</key> | 825 | <key>WindowString</key> |
| 887 | - <string>283 223 1501 786 0 0 1920 1178 </string> | 826 | + <string>63 130 1501 786 0 0 1920 1178 </string> |
| 888 | <key>WindowToolGUID</key> | 827 | <key>WindowToolGUID</key> |
| 889 | <string>1CD10A99069EF8BA00B06720</string> | 828 | <string>1CD10A99069EF8BA00B06720</string> |
| 890 | <key>WindowToolIsVisible</key> | 829 | <key>WindowToolIsVisible</key> |
| @@ -1035,7 +974,7 @@ | @@ -1035,7 +974,7 @@ | ||
| 1035 | <key>TableOfContents</key> | 974 | <key>TableOfContents</key> |
| 1036 | <array> | 975 | <array> |
| 1037 | <string>1C78EAAD065D492600B07095</string> | 976 | <string>1C78EAAD065D492600B07095</string> |
| 1038 | - <string>B5CF35520E7A73EC0050CBA7</string> | 977 | + <string>B5B296B60E7BC6C7000B04CD</string> |
| 1039 | <string>1C78EAAC065D492600B07095</string> | 978 | <string>1C78EAAC065D492600B07095</string> |
| 1040 | </array> | 979 | </array> |
| 1041 | <key>ToolbarConfiguration</key> | 980 | <key>ToolbarConfiguration</key> |
This diff could not be displayed because it is too large.
-
Please register or login to post a comment