forked from Deuxfleurs/garage
Add trinity's comment in the code
This commit is contained in:
parent
bfa0ff8f82
commit
6edbc65847
1 changed files with 5 additions and 0 deletions
|
@ -45,6 +45,11 @@ fn try_answer_cached(
|
||||||
version_meta: &ObjectVersionMeta,
|
version_meta: &ObjectVersionMeta,
|
||||||
req: &Request<Body>,
|
req: &Request<Body>,
|
||||||
) -> Option<Response<Body>> {
|
) -> Option<Response<Body>> {
|
||||||
|
// <trinity> It is possible, and is even usually the case, [that both If-None-Match and
|
||||||
|
// If-Modified-Since] are present in a request. In this situation If-None-Match takes
|
||||||
|
// precedence and If-Modified-Since is ignored (as per 6.Precedence from rfc7232). The rational
|
||||||
|
// being that etag based matching is more accurate, it has no issue with sub-second precision
|
||||||
|
// for instance (in case of very fast updates)
|
||||||
let cached = if let Some(none_match) = req.headers().get(http::header::IF_NONE_MATCH) {
|
let cached = if let Some(none_match) = req.headers().get(http::header::IF_NONE_MATCH) {
|
||||||
let none_match = none_match.to_str().ok()?;
|
let none_match = none_match.to_str().ok()?;
|
||||||
let expected = format!("\"{}\"", version_meta.etag);
|
let expected = format!("\"{}\"", version_meta.etag);
|
||||||
|
|
Loading…
Reference in a new issue