|
@@ -579,20 +579,27 @@ NSOperationQueue *taskQueue;
|
579
|
579
|
|
580
|
580
|
# pragma mark - cookies handling API
|
581
|
581
|
|
582
|
|
-+ (NSArray *) getCookies:(NSString *) domain
|
|
582
|
++ (NSDictionary *) getCookies:(NSString *) domain
|
583
|
583
|
{
|
584
|
|
- NSMutableArray * cookies = [NSMutableArray new];
|
|
584
|
+ NSMutableDictionary * result = [NSMutableDictionary new];
|
585
|
585
|
NSHTTPCookieStorage * cookieStore = [NSHTTPCookieStorage sharedHTTPCookieStorage];
|
586
|
|
- for(NSHTTPCookie * cookie in cookieStore)
|
|
586
|
+ for(NSHTTPCookie * cookie in [cookieStore cookies])
|
587
|
587
|
{
|
588
|
|
- if([[cookie domain] isEqualToString:domain])
|
|
588
|
+ NSString * cDomain = [cookie domain];
|
|
589
|
+ if([result objectForKey:cDomain] == nil)
|
|
590
|
+ {
|
|
591
|
+ [result setObject:[NSMutableArray new] forKey:cDomain];
|
|
592
|
+ }
|
|
593
|
+ if([cDomain isEqualToString:domain] || [domain length] == 0)
|
589
|
594
|
{
|
590
|
595
|
NSMutableString * cookieStr = [[NSMutableString alloc] init];
|
591
|
596
|
cookieStr = [[self class] getCookieString:cookie];
|
592
|
|
- [cookies addObject:cookieStr];
|
|
597
|
+ NSMutableArray * ary = [result objectForKey:cDomain];
|
|
598
|
+ [ary addObject:cookieStr];
|
|
599
|
+ [result setObject:ary forKey:cDomain];
|
593
|
600
|
}
|
594
|
601
|
}
|
595
|
|
- return cookies;
|
|
602
|
+ return result;
|
596
|
603
|
}
|
597
|
604
|
|
598
|
605
|
// remove cookies for given domain, if domain is empty remove all cookies in shared cookie storage.
|
|
@@ -601,9 +608,9 @@ NSOperationQueue *taskQueue;
|
601
|
608
|
@try
|
602
|
609
|
{
|
603
|
610
|
NSHTTPCookieStorage * cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
|
604
|
|
- for(NSHTTPCookie * cookie in cookies)
|
|
611
|
+ for(NSHTTPCookie * cookie in [cookies cookies])
|
605
|
612
|
{
|
606
|
|
- BOOL shouldRemove = domain == nil || [[cookie domain] isEqualToString:domain];
|
|
613
|
+ BOOL shouldRemove = domain == nil || [domain length] < 1 || [[cookie domain] isEqualToString:domain];
|
607
|
614
|
if(shouldRemove)
|
608
|
615
|
{
|
609
|
616
|
[cookies deleteCookie:cookie];
|