Skip to content

Commit 8e4398d

Browse files
添加注释
1 parent 22a9d5d commit 8e4398d

2 files changed

Lines changed: 46 additions & 11 deletions

File tree

rxhttp/src/main/java/rxhttp/wrapper/cookie/CookieStore.java

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.File;
44
import java.io.IOException;
55
import java.util.ArrayList;
6+
import java.util.Collections;
67
import java.util.List;
78
import java.util.Map;
89
import java.util.concurrent.ConcurrentHashMap;
@@ -61,10 +62,26 @@ public CookieStore(@Nullable File directory, long maxSize, boolean enabledMemory
6162
}
6263
}
6364

64-
private static String md5(String key) {
65-
return ByteString.encodeUtf8(key).md5().hex();
65+
66+
/**
67+
* 保存url对应的cookie,线程安全,若开启了磁盘缓存,建议在子线程调用
68+
*
69+
* @param url HttpUrl
70+
* @param cookie Cookie
71+
*/
72+
@Override
73+
public void saveCookie(HttpUrl url, Cookie cookie) {
74+
List<Cookie> cookies = new ArrayList<>();
75+
cookies.add(cookie);
76+
saveCookie(url, cookies);
6677
}
6778

79+
/**
80+
* 保存url对应的所有cookie,线程安全,若开启了磁盘缓存,建议在子线程调用
81+
*
82+
* @param url HttpUrl
83+
* @param cookies List<Cookie>
84+
*/
6885
@Override
6986
public void saveCookie(HttpUrl url, List<Cookie> cookies) {
7087
final String host = url.host();
@@ -89,20 +106,20 @@ public void saveCookie(HttpUrl url, List<Cookie> cookies) {
89106
}
90107
}
91108

92-
@Override
93-
public void saveCookie(HttpUrl url, Cookie cookie) {
94-
List<Cookie> cookies = new ArrayList<>();
95-
saveCookie(url, cookies);
96-
}
97-
109+
/**
110+
* 加载url对应的cookie,线程安全,若开启了磁盘缓存,建议在子线程调用
111+
*
112+
* @param url HttpUrl
113+
* @return List<Cookie>
114+
*/
98115
@Override
99116
public List<Cookie> loadCookie(HttpUrl url) {
100117
final String host = url.host();
101118
List<Cookie> cookies;
102119
if (memoryCache != null) { //1、开启了内存缓存,则从内存查找cookie
103120
cookies = memoryCache.get(host);
104121
if (cookies != null) { //2、内存缓存查找成功,直接返回
105-
return cookies;
122+
return Collections.unmodifiableList(cookies);
106123
}
107124
}
108125
cookies = new ArrayList<>();
@@ -111,7 +128,7 @@ public List<Cookie> loadCookie(HttpUrl url) {
111128
try {
112129
//4、磁盘缓存查找
113130
snapshot = diskCache.get(md5(host));
114-
if (snapshot == null) return cookies;
131+
if (snapshot == null) return Collections.unmodifiableList(cookies);
115132
List<Cookie> cookiesList = readCookie(url, snapshot.getSource(0));
116133
if (!cookiesList.isEmpty())
117134
cookies.addAll(cookiesList);
@@ -123,9 +140,14 @@ public List<Cookie> loadCookie(HttpUrl url) {
123140
}
124141
if (!cookies.isEmpty()) //5、磁盘缓存查找成功,添加进内存缓存
125142
memoryCache.put(host, cookies);
126-
return cookies;
143+
return Collections.unmodifiableList(cookies);
127144
}
128145

146+
/**
147+
* 移除url对应的cookie,线程安全,若开启了磁盘缓存,建议在子线程调用
148+
*
149+
* @param url HttpUrl
150+
*/
129151
@Override
130152
public void removeCookie(HttpUrl url) {
131153
String host = url.host();
@@ -141,6 +163,9 @@ public void removeCookie(HttpUrl url) {
141163
}
142164
}
143165

166+
/**
167+
* 移除所有的cookie,线程安全,若开启了磁盘缓存,建议在子线程调用
168+
*/
144169
@Override
145170
public void removeAllCookie() {
146171
if (memoryCache != null)
@@ -189,4 +214,8 @@ private void abortQuietly(@Nullable DiskLruCache.Editor editor) {
189214
} catch (Exception ignored) {
190215
}
191216
}
217+
218+
private static String md5(String key) {
219+
return ByteString.encodeUtf8(key).md5().hex();
220+
}
192221
}

rxhttp/src/main/java/rxhttp/wrapper/cookie/ICookieJar.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ default List<Cookie> loadForRequest(HttpUrl url) {
3838
*/
3939
List<Cookie> loadCookie(HttpUrl url);
4040

41+
/**
42+
* 移除url 对应的cookie
43+
*/
4144
void removeCookie(HttpUrl url);
4245

46+
/**
47+
* 移除所有cookie
48+
*/
4349
void removeAllCookie();
4450
}

0 commit comments

Comments
 (0)