Skip to content

Commit

Permalink
Merge branch 'fixing-subdomain-for-webkit'
Browse files Browse the repository at this point in the history
* fixing-subdomain-for-webkit:
  Fixing subdomain issues joeferraro#114
  • Loading branch information
Nhacsam committed Oct 29, 2018
2 parents 0e8fec5 + 3cebd8e commit b2f98d1
Showing 1 changed file with 3 additions and 22 deletions.
25 changes: 3 additions & 22 deletions ios/RNCookieManagerIOS/RNCookieManagerIOS.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,25 +100,6 @@ + (BOOL)requiresMainQueueSetup
}];
}

-(NSString *)getDomainName:(NSURL *) url
{
NSString *separator = @".";
NSInteger maxLength = 2;

NSURLComponents *components = [[NSURLComponents alloc]initWithURL:url resolvingAgainstBaseURL:FALSE];
NSArray<NSString *> *separatedHost = [components.host componentsSeparatedByString:separator];
NSInteger count = [separatedHost count];
NSInteger endPosition = count;
NSInteger startPosition = count - maxLength;

NSMutableString *result = [[NSMutableString alloc]init];
for (NSUInteger i = startPosition; i != endPosition; i++) {
[result appendString:separator];
[result appendString:[separatedHost objectAtIndex:i]];
}
return result;
}

RCT_EXPORT_METHOD(
get:(NSURL *) url
useWebKit:(BOOL)useWebKit
Expand All @@ -128,13 +109,13 @@ -(NSString *)getDomainName:(NSURL *) url
if (useWebKit) {
if (@available(iOS 11.0, *)) {
dispatch_async(dispatch_get_main_queue(), ^(){
NSString *topLevelDomain = [self getDomainName:url];

WKHTTPCookieStore *cookieStore = [[WKWebsiteDataStore defaultDataStore] httpCookieStore];

[cookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *allCookies) {
NSMutableDictionary *cookies = [NSMutableDictionary dictionary];

for(NSHTTPCookie *currentCookie in allCookies) {
if([currentCookie.domain containsString:topLevelDomain]) {
if ([url.host containsString:currentCookie.domain]) {
[cookies setObject:currentCookie.value forKey:currentCookie.name];
}
}
Expand Down

0 comments on commit b2f98d1

Please sign in to comment.