Skip to content
This repository was archived by the owner on Jan 24, 2020. It is now read-only.

Commit 37b404a

Browse files
committed
Merge branch 'kevinresol-master'
2 parents 5d81672 + 36ee655 commit 37b404a

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

RNCookieManagerIOS/RNCookieManagerIOS.m

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,32 +29,30 @@ @implementation RNCookieManagerIOS
2929
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
3030
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
3131

32-
callback(@[[NSNull null], @"success"]);
32+
callback(@[[NSNull null]]);
3333
}
3434

3535
RCT_EXPORT_METHOD(setFromResponse:(NSURL *)url value:(NSDictionary *)value callback:(RCTResponseSenderBlock)callback) {
3636
NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:value forURL:url];
3737
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookies forURL:url mainDocumentURL:NULL];
38-
callback(@[[NSNull null], @"success"]);
38+
callback(@[[NSNull null]]);
3939
}
4040

4141

4242
RCT_EXPORT_METHOD(get:(NSURL *)url callback:(RCTResponseSenderBlock)callback) {
43-
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url];
44-
NSDictionary *headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
45-
if ([headers objectForKey:@"Cookie"] == nil) {
46-
callback(@[[NSNull null], @"success"]);
47-
} else {
48-
callback(@[headers[@"Cookie"], @"success"]);
43+
NSMutableDictionary *cookies = [NSMutableDictionary dictionary];
44+
for (NSHTTPCookie *c in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url]) {
45+
[cookies setObject:c.value forKey:c.name];
4946
}
47+
callback(@[[NSNull null], cookies]);
5048
}
5149

5250
RCT_EXPORT_METHOD(clearAll:(RCTResponseSenderBlock)callback) {
5351
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
5452
for (NSHTTPCookie *c in cookieStorage.cookies) {
5553
[cookieStorage deleteCookie:c];
5654
}
57-
callback(@[[NSNull null], @"success"]);
55+
callback(@[[NSNull null]]);
5856
}
5957

6058
// TODO: return a better formatted list of cookies per domain
@@ -69,7 +67,7 @@ @implementation RNCookieManagerIOS
6967
[d setObject:c.path forKey:@"path"];
7068
[cookies setObject:d forKey:c.name];
7169
}
72-
callback(@[cookies, @"success"]);
70+
callback(@[[NSNull null], cookies]);
7371
}
7472

7573
@end

android/src/main/java/com/psykar/cookiemanager/CookieManagerModule.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.facebook.react.bridge.ReactMethod;
77
import com.facebook.react.bridge.ReadableMap;
88
import com.facebook.react.bridge.Callback;
9+
import com.facebook.react.bridge.Arguments;
10+
import com.facebook.react.bridge.WritableMap;
911

1012
import java.io.IOException;
1113
import java.net.URISyntaxException;
@@ -41,7 +43,7 @@ public void setFromResponse(String url, String value, final Callback callback) t
4143
headers.put("Set-cookie", Collections.singletonList(value));
4244
URI uri = new URI(url);
4345
this.cookieHandler.put(uri, headers);
44-
callback.invoke(true);
46+
callback.invoke(null, null);
4547
}
4648

4749
@ReactMethod
@@ -56,15 +58,23 @@ public void get(String url, Callback callback) throws URISyntaxException, IOExce
5658
Map<String, List<String>> cookieMap = this.cookieHandler.get(uri, new HashMap());
5759
// If only the variables were public
5860
List<String> cookieList = cookieMap.get("Cookie");
61+
WritableMap map = Arguments.createMap();
5962
if (cookieList != null) {
60-
callback.invoke(cookieList.get(0));
61-
} else {
62-
callback.invoke(cookieList);
63+
String[] cookies = cookieList.get(0).split(";");
64+
for (int i = 0; i < cookies.length; i++) {
65+
String[] cookie = cookies[i].split("=");
66+
map.putString(cookie[0], cookie[1]);
67+
}
6368
}
69+
callback.invoke(null, map);
6470
}
6571

6672
@ReactMethod
6773
public void clearAll(final Callback callback) {
68-
this.cookieHandler.clearCookies(callback);
74+
this.cookieHandler.clearCookies(new Callback() {
75+
public void invoke(Object... args) {
76+
callback.invoke(null, null);
77+
}
78+
});
6979
}
7080
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-cookies",
3-
"version": "0.0.5",
3+
"version": "0.1.0",
44
"description": "Cookie manager for react native",
55
"keywords": [ "react", "react native", "react-component", "cookies", "webview", "react-native" ],
66
"main": "index.js",

0 commit comments

Comments
 (0)