U:RDoc::NormalClass[iI" ETag:ETI"Rack::ETag;TI" Object;To:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"=Automatically sets the ETag header on all String bodies.;To:RDoc::Markup::BlankLineo; ;[I"PThe ETag header is skipped if ETag or Last-Modified headers are sent or if ;TI"La sendfile body (body.responds_to :to_path) is given (since such cases ;TI"(should be handled by apache/nginx).;T@o; ;[I"OOn initialization, you can pass two parameters: a Cache-Control directive ;TI"Lused when Etag is absent and a directive when it is present. The first ;TI"Xdefaults to nil, while the second defaults to "max-age=0, private, must-revalidate";T: @fileI"lib/rack/etag.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[U:RDoc::Constant[iI"ETAG_STRING;FI"Rack::ETag::ETAG_STRING;T00o;;[; @; 0@@cRDoc::NormalClass0U; [iI"DEFAULT_CACHE_CONTROL;FI"&Rack::ETag::DEFAULT_CACHE_CONTROL;T00o;;[; @; 0@@@%0[[[I" class;T[[: public[[I"new;TI"lib/rack/etag.rb;T[:protected[[: private[[I" instance;T[[;[[I" call;F@5[;[[;[ [I"digest_body;F@5[I"etag_body?;F@5[I"etag_status?;F@5[I"skip_caching?;F@5[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I" Rack;FcRDoc::NormalModule