From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: * X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=1.0 required=3.0 tests=AWL,HK_RANDOM_FROM, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=no version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: upcoming env['rack.input'] improvements Date: Fri, 12 Nov 2010 16:29:17 -0800 Message-ID: <20101113002917.GA8065@dcvr.yhbt.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1289609057 26434 80.91.229.12 (13 Nov 2010 00:44:17 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 13 Nov 2010 00:44:17 +0000 (UTC) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Sat Nov 13 01:44:13 2010 Return-path: Envelope-to: gclrrg-rainbows-talk@m.gmane.org X-Original-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Delivered-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:143 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PH4E0-0005No-QL for gclrrg-rainbows-talk@m.gmane.org; Sat, 13 Nov 2010 01:44:13 +0100 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 4636A1858374 for ; Fri, 12 Nov 2010 19:44:10 -0500 (EST) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id B98D6185836C for ; Fri, 12 Nov 2010 19:29:25 -0500 (EST) Received: from localhost (unknown [127.0.2.5]) by dcvr.yhbt.net (Postfix) with ESMTP id 8B3E61F74A; Sat, 13 Nov 2010 00:29:17 +0000 (UTC) Hello all, The next versions of Unicorn and Rainbows! will support intentionally violating the Rack 1.x spec and allowing non-rewindable input bodies by setting: rewindable_input false (config directive name not finalized, feedback appreciated) in the Unicorn/Rainbows! config file. This will allow applications to handle larger, streamed requests without worrying about disk/memory usage at all. For Rack 1.x conformance, this rewindable_input directive true by default (but will probably be off with Rack 2.x). Rainbows! will also support HTTP/1.1 keepalive for requests with a body, but only if the body (and trailers) are fully consumed by the application. The implementation of Unicorn::TeeInput is also simplified and based on Unicorn::StreamInput. However there is one minor regression to TeeInput made in the interest of simplicity that will not noticeable to most users: calling env['rack.input'].rewind causes the entire request to be buffered if any data has previously been read off env['rack.input']. Evented concurrency options (e.g: :Rev and :EventMachine) continue to buffer the entire body in the existing way, and are unaffected by any of these changes (except keepalive will always function). -- Eric Wong _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying