[
https://issues.apache.org/jira/browse/HTTPCLIENT-1008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921415#action_12921415
]
Jonathan Moore commented on HTTPCLIENT-1008:
--------------------------------------------
This was probably caused because Mishu and Mohammed's patch was created against
a version of trunk that predated my patch you just committed with the
IOExceptions. I suspect it can be fixed just by updating the test case to add:
EasyMock.expect(mockCache.getVariantEntries(...)).andThrow(new
IOException()).anyTimes();
and then putting try...catch blocks in CachingHttpClient if they are missing.
> Send all variants' ETags on "variant miss"
> ------------------------------------------
>
> Key: HTTPCLIENT-1008
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1008
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: Cache
> Reporter: Michajlo Matijkiw
> Fix For: 4.1.0
>
> Attachments: negotiated_response.patch
>
>
> From section 13.6 of RFC 2616:
> If an entity tag was assigned to a cached representation, the forwarded
> request SHOULD be conditional and include the entity tags in an If-None-Match
> header field from all its cache entries for the resource. This conveys to the
> server the set of entities currently held by the cache, so that if any one of
> these entities matches the requested entity, the server can use the ETag
> header field in its 304 (Not Modified) response to tell the cache which entry
> is appropriate. If the entity-tag of the new response matches that of an
> existing entry, the new response SHOULD be used to update the header fields
> of the existing entry, and the result MUST be returned to the client.
> Presently, we simply forward the request to the request without the
> conditionals. This improvement would consist of adding the conditionals to
> the request, and properly handling the response. An example of such would be
> the following:
> - request resource with "Accept-Encoding: gzip", response has "Etag: etag1",
> "Vary: Accept-Encoding"
> - request resource with "Accept-Encoding: deflate", request is forwarded
> with "If-None-Match: etag1" added, response is 200, with "ETag: etag2"
> - request resource with "Accept-Encoding: gzip, deflate", request is
> forwarded with "If-None-Match: etag1, etag2" added, response is 304, with
> "ETag: etag1" indicating we should use the first response for this request
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]