OkHttp可以缓存在请求标头中具有Authorize的帖子响应

时间:2015-01-06 04:41:23

标签: android caching okhttp

我正在使用OkHttp缓存对使用“Authorize”标头进行身份验证的PUT请求的响应,并且没有看到任何缓存。

Android客户端代码设置缓存如下:

  

int cacheSize = 10 * 1024 * 1024; // 10 MiB

     

cache = new Cache(context.getCacheDir(),cacheSize);

     

client.setCache(高速缓冲存储器);

我的服务器正在回复:

  

缓存控制:public,max-age = 60,s-maxage = 60

当我记录缓存时,getRequestCount()会递增,但缓存中没有匹配或任何网址。

知道我做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

只缓存GET响应,所以我的修复是转换为GET。在OkHttp Cache.java中: -

if (!requestMethod.equals("GET")) {
  // Don't cache non-GET responses. We're technically allowed to cache
  // HEAD requests and some POST requests, but the complexity of doing
  // so is high and the benefit is low.
  return null;
}