• J
    Strong ETag validators · c1c9c690
    Jeremy Daer 提交于
    * Introduce `Response#strong_etag=` and `#weak_etag=` and analogous options
      for `fresh_when` and `stale?`. `Response#etag=` sets a weak ETag.
    
      Strong ETags are desirable when you're serving byte-for-byte identical
      responses that support Range requests, like PDFs or videos (typically
      done by reproxying the response from a backend storage service).
      Also desirable when fronted by some CDNs that support strong ETags
      only, like Akamai.
    
    * No longer strips quotes (`"`) from ETag values before comparing them.
      Quotes are significant, part of the ETag. A quoted ETag and an unquoted
      one are not the same entity.
    
    * Support `If-None-Match: *`. Rarely useful for GET requests; meant
      to provide some optimistic concurrency control for PUT requests.
    c1c9c690
request_test.rb 45.4 KB