diff --git a/plugin/business/pangu-http/src/pangu_http.cpp b/plugin/business/pangu-http/src/pangu_http.cpp index 07117e4..d631749 100644 --- a/plugin/business/pangu-http/src/pangu_http.cpp +++ b/plugin/business/pangu-http/src/pangu_http.cpp @@ -1007,9 +1007,9 @@ static void cache_pending_on_succ(future_result_t * result, void * user) ctx->pending_result = PENDING_RESULT_MISS; return; } - if(!(meta->etag && meta->last_modified)) + if( meta->etag==NULL && meta->last_modified==NULL) { - ctx->pending_result = PENDING_RESULT_FOBIDDEN; + ctx->pending_result = PENDING_RESULT_MISS; return; } ctx->pending_result=PENDING_RESULT_REVALIDATE; diff --git a/plugin/business/pangu-http/src/pangu_web_cache.cpp b/plugin/business/pangu-http/src/pangu_web_cache.cpp index eae6a3e..27182ea 100644 --- a/plugin/business/pangu-http/src/pangu_web_cache.cpp +++ b/plugin/business/pangu-http/src/pangu_web_cache.cpp @@ -421,7 +421,14 @@ void cache_pending_ctx_free_cb(void* p) const struct cached_meta* cache_pending_result_read_meta(future_result_t * result) { struct cache_pending_context* ctx=(struct cache_pending_context*)result; - return &(ctx->cached_obj_meta); + if(ctx->status==PENDING_RESULT_MISS) + { + return NULL; + } + else + { + return &(ctx->cached_obj_meta); + } } static void cache_query_meta_on_succ(future_result_t * result, void * user)