From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.140.140.3 with SMTP id n3cs225966rvd; Thu, 4 Mar 2010 12:46:26 -0800 (PST) Received-SPF: pass (google.com: domain of 3IByQSwYMChg72F2AMz6HGK2yH.B2HFy08-12J294CC4924FCIDG.0CA@groups.bounces.google.com designates 10.224.106.163 as permitted sender) client-ip=10.224.106.163; Authentication-Results: mr.google.com; spf=pass (google.com: domain of 3IByQSwYMChg72F2AMz6HGK2yH.B2HFy08-12J294CC4924FCIDG.0CA@groups.bounces.google.com designates 10.224.106.163 as permitted sender) smtp.mail=3IByQSwYMChg72F2AMz6HGK2yH.B2HFy08-12J294CC4924FCIDG.0CA@groups.bounces.google.com; dkim=pass header.i=3IByQSwYMChg72F2AMz6HGK2yH.B2HFy08-12J294CC4924FCIDG.0CA@groups.bounces.google.com Received: from mr.google.com ([10.224.106.163]) by 10.224.106.163 with SMTP id x35mr3051743qao.18.1267735585727 (num_hops = 1); Thu, 04 Mar 2010 12:46:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:mime-version:received:date :message-id:subject:from:to:x-original-authentication-results :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:x-thread-url:x-message-url:sender :list-subscribe:list-unsubscribe:content-type; bh=oMBAxPd+pejYCUh/fHtU35suXFM0OAcrOEE6LsCFmJk=; b=Mc7JMc0ZaLRXbL2qQE59yN+CoU43T6C8t4bkx4wNyZs5IqSEiZ7v25/r56e3Zy19eH wVx2Hhb/B538Hc32O+tuwIxeELobTnVHyINK78p/gYHkSTnowI2E5GjHxsD5JW/ffJFF yQG5EVeyrxNEzUbFpCh581i4OxC7uVvSsLYXU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:date:message-id:subject:from :to:x-original-authentication-results:x-original-sender:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :x-thread-url:x-message-url:sender:list-subscribe:list-unsubscribe :content-type; b=HROa2nOfSGaOG/GIFetjk0wk45o+V7Xi3WdwQCZDlpPXlaWlgguBCqdyWvD2KuvfW8 nAbJtuYB253VxHNBL+hrbQF15T02eChl4FBk7uEMmzo6TyL0rCcEPmW7gzNb9OukZ8tE OV0uhRqQg5Nv7HNqyrvHvwMoCBKnMvuafpu/A= Received: by 10.224.106.163 with SMTP id x35mr326335qao.18.1267735584461; Thu, 04 Mar 2010 12:46:24 -0800 (PST) X-BeenThere: rack-devel@googlegroups.com Received: by 10.224.38.138 with SMTP id b10ls1176952qae.4.p; Thu, 04 Mar 2010 12:46:23 -0800 (PST) Received: by 10.224.96.201 with SMTP id i9mr979294qan.1.1267735582867; Thu, 04 Mar 2010 12:46:22 -0800 (PST) Received: by 10.224.96.201 with SMTP id i9mr979293qan.1.1267735582827; Thu, 04 Mar 2010 12:46:22 -0800 (PST) Return-Path: Received: from qw-out-1920.google.com (qw-out-1920.google.com [74.125.92.150]) by gmr-mx.google.com with ESMTP id 18si152727qyk.0.2010.03.04.12.46.22; Thu, 04 Mar 2010 12:46:22 -0800 (PST) Received-SPF: neutral (google.com: 74.125.92.150 is neither permitted nor denied by best guess record for domain of jeremy@bitsweat.net) client-ip=74.125.92.150; Received: by qw-out-1920.google.com with SMTP id 9so789123qwj.64 for ; Thu, 04 Mar 2010 12:46:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.44.70 with SMTP id z6mr1411896qce.6.1267735582607; Thu, 04 Mar 2010 12:46:22 -0800 (PST) Date: Thu, 4 Mar 2010 12:46:22 -0800 Message-ID: <69a2885c1003041246h5bc0ce3av8f5a304a7a119178@mail.gmail.com> Subject: Rack::ETag joins forces with Rack::ConditionalGet From: Jeremy Kemper To: rack-devel@googlegroups.com X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 74.125.92.150 is neither permitted nor denied by best guess record for domain of jeremy@bitsweat.net) smtp.mail=jeremy@bitsweat.net X-Original-Sender: jeremy@bitsweat.net Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: X-Thread-Url: http://groups.google.com/group/rack-devel/t/5f5ab4a070be1b83 X-Message-Url: http://groups.google.com/group/rack-devel/msg/4c5d9a2432af4ffb Sender: rack-devel@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: text/plain; charset=ISO-8859-1 Rack::ETag sets the ETag response header if it's missing, but doesn't check If-None-Match. Rack::ConditionalGet checks If-None-Match, but doesn't set ETag response header if missing. It's conceivable but rare to use them in isolation, and their separate leads to error-prone middleware stacks. Rack::ETag should be deprecated and folded in to ConditionalGet: 4c782ba76a88803500d726af718784584cf215cc jeremy