PRBool nsHttpResponseHead::IsResumable() { // even though some HTTP/1.0 servers may support byte range requests, we're not // going to bother with them, since those servers wouldn't understand If-Range. return mVersion >= NS_HTTP_VERSION_1_1 && PeekHeader(nsHttp::Content_Length) && (PeekHeader(nsHttp::ETag) || PeekHeader(nsHttp::Last_Modified)) && HasHeaderValue(nsHttp::Accept_Ranges, "bytes"); }
bool nsHttpResponseHead::MustValidateIfExpired() const { // according to RFC2616, section 14.9.4: // // When the must-revalidate directive is present in a response received by a // cache, that cache MUST NOT use the entry after it becomes stale to respond to // a subsequent request without first revalidating it with the origin server. // return HasHeaderValue(nsHttp::Cache_Control, "must-revalidate"); }
bool nsHttpResponseHead::IsResumable() const { // even though some HTTP/1.0 servers may support byte range requests, we're not // going to bother with them, since those servers wouldn't understand If-Range. // Also, while in theory it may be possible to resume when the status code // is not 200, it is unlikely to be worth the trouble, especially for // non-2xx responses. return mStatus == 200 && mVersion >= NS_HTTP_VERSION_1_1 && PeekHeader(nsHttp::Content_Length) && (PeekHeader(nsHttp::ETag) || PeekHeader(nsHttp::Last_Modified)) && HasHeaderValue(nsHttp::Accept_Ranges, "bytes"); }