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