Re: Cache problem + fix

At 16:49 6/22/99 -0400, Henrik Frystyk Nielsen wrote:

I did some more testing and this patch seems to work so I have committed
it, see

	http://dev.w3.org/cgi-bin/cvsweb/libwww/Library/src/HTCache.c#rev2.67

Henrik

>After the 204 status code is used slightly different now, the check
>should also be updated - try this patch to see if it works better:
>
>Index: HTCache.c
>===================================================================
>RCS file: /sources/public/libwww/Library/src/HTCache.c,v
>retrieving revision 2.66
>diff -c -r2.66 HTCache.c
>*** HTCache.c	1999/03/14 02:01:08	2.66
>--- HTCache.c	1999/06/22 20:47:23
>***************
>*** 1366,1374 ****
>  	    HTParentAnchor * anchor = HTRequest_anchor(request);
>  	    HTCache * cache = HTCache_find(anchor);
>  	    if (cache) {
>! 		if (status == 204)
>  		    HTCache_updateMeta(cache, request, response);
>! 		else
>  		    HTCache_remove(cache);
>  	    }
>  	    HTCache_touch(request, response, anchor);
>--- 1366,1381 ----
>  	    HTParentAnchor * anchor = HTRequest_anchor(request);
>  	    HTCache * cache = HTCache_find(anchor);
>  	    if (cache) {
>! 		/* 
>! 		** If we recieve a 204 and the method is unsafe then we have
>! 		** to delete the cache body but not the header information
>! 		*/
>! 		if (status == 204) {
>  		    HTCache_updateMeta(cache, request, response);
>! 		    cache->size = 0;
>! 		    cache->range = YES;
>! 		    REMOVE(cache->cachename);
>! 		} else
>  		    HTCache_remove(cache);
>  	    }
>  	    HTCache_touch(request, response, anchor);

--
Henrik Frystyk Nielsen,
World Wide Web Consortium
http://www.w3.org/People/Frystyk

Received on Wednesday, 23 June 1999 17:06:00 UTC