From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.76.94.227 with SMTP id df3csp79200oab; Sat, 24 May 2014 05:35:59 -0700 (PDT) Return-Path: Received-SPF: pass (google.com: domain of rack-devel+bncBCPP5HNTQUDRBLNEQKOAKGQEHLT7WWY@googlegroups.com designates 10.140.92.82 as permitted sender) client-ip=10.140.92.82 Authentication-Results: mr.google.com; spf=pass (google.com: domain of rack-devel+bncBCPP5HNTQUDRBLNEQKOAKGQEHLT7WWY@googlegroups.com designates 10.140.92.82 as permitted sender) smtp.mail=rack-devel+bncBCPP5HNTQUDRBLNEQKOAKGQEHLT7WWY@googlegroups.com; dkim=pass header.i=@googlegroups.com X-Received: from mr.google.com ([10.140.92.82]) by 10.140.92.82 with SMTP id a76mr1991391qge.1.1400934958878 (num_hops = 1); Sat, 24 May 2014 05:35:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=date:from:to:message-id:in-reply-to:references:subject:mime-version :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type; bh=fsFb86p7NJn+H23+RQGeLq7uVEVnurYv3T+LYi5MvYI=; b=clPZe7zL76pru5tMv25YP2AIKN/e/WTwG+Bfo/zO3y6fYahmQZU7KQN0XWydQM7dLH 6kAZnEiyzWuw92oisil2Nm8W1W8OrfArHRjWrZhmShi+ggh3xDlAXNc+Q5cVjjeq7ihH GwBBZKP+cuRG/G1gckKi3pjYUZdpQT/3z+VfZWOL0+6nzOxp1KBxyHRgyk4Waghs4C9t NosYs4Zgi7Tnw2ROaxFx5iwzlWALgDX1MpkDW70L9k6eDLHuASg/iVdNGuTW1WF/ZY3t q3Okyza4gIv8LdTwlbY9HVJvTyB4KCu5GrEbhgPUv1GuHoDT+ee/1k4ZEbnv9750170V cSFw== X-Received: by 10.140.92.82 with SMTP id a76mr208542qge.1.1400934958678; Sat, 24 May 2014 05:35:58 -0700 (PDT) X-BeenThere: rack-devel@googlegroups.com Received: by 10.140.40.209 with SMTP id x75ls2087984qgx.46.gmail; Sat, 24 May 2014 05:35:57 -0700 (PDT) X-Received: by 10.140.38.199 with SMTP id t65mr4518qgt.17.1400934957816; Sat, 24 May 2014 05:35:57 -0700 (PDT) Date: Sat, 24 May 2014 05:35:55 -0700 (PDT) From: Torsten Robitzki To: rack-devel@googlegroups.com Message-Id: In-Reply-To: References: Subject: Re: rational for rewind() MIME-Version: 1.0 X-Original-Sender: torsten@robitzki.de Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: X-Google-Group-Id: 486215384060 List-Post: , List-Help: , List-Archive: Sender: rack-devel@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: multipart/alternative; boundary="----=_Part_195_21772483.1400934956010" ------=_Part_195_21772483.1400934956010 Content-Type: text/plain; charset=UTF-8 Hi Magnus, > One word: Middleware. > sorry, I didn't found the old discussions here regarding rewind (maybe a typo in my search phrase). Is there any proposal planned to change the specs to allow a more effective input implementation? My first thought was something like an unrewindable_input() function, that provides an input stream that doesn't provide a rewind() interface, but buffers the data read through this interface, so that the original input can still provide this data. If all middleware would be aware of this interface and the final application wouldn't need to rewind(), the input would just have to store the part of the input that have to be processed twice. Cheers, Torsten -- --- You received this message because you are subscribed to the Google Groups "Rack Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to rack-devel+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. ------=_Part_195_21772483.1400934956010 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Magnus,
 
One word: Middleware.

sorry, I didn't found the old discussi= ons here regarding rewind (maybe a typo in my search phrase). Is there any = proposal planned to change the specs to allow a more effective input implem= entation? 

My first thought was something lik= e an unrewindable_input() function, that provides an input stream that does= n't provide a rewind() interface, but buffers the data read through this in= terface, so that the original input can still provide this data. If all mid= dleware would be aware of this interface and the final application wouldn't= need to rewind(), the input would just have to store the part of the input= that have to be processed twice.

Cheers,
Torsten 

--

---
You received this message because you are subscribed to the Google Groups &= quot;Rack Development" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to rack-dev= el+unsubscribe@googlegroups.com.
For more options, visit http= s://groups.google.com/d/optout.
------=_Part_195_21772483.1400934956010--