From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 5095420226 for ; Wed, 3 Aug 2016 03:19:10 +0000 (UTC) From: Eric Wong To: yahns-public@yhbt.net Subject: [PATCH 0/4] remove chunked/Content-Length requirement from apps Date: Wed, 3 Aug 2016 03:19:02 +0000 Message-Id: <20160803031906.14553-1-e@80x24.org> List-Id: This better aligns with behavior of other real-world Rack servers such as puma and Thin. We will also now use kgio writev functionality to speed up writing "Transfer-Encoding: chunked" to avoid string copies or extra syscalls for other chunking solutions. See [PATCH 3/4] for a small informal benchmark. 4 changes response: drop clients after HTTP responses of unknown length response: reduce stack overhead for parameter passing response: support auto-chunking for HTTP/1.1 Revert "document Rack::Chunked/ContentLength semi-requirements" Documentation/yahns-rackup.pod | 10 ------- examples/yahns_rack_basic.conf.rb | 6 ----- lib/yahns/chunk_body.rb | 27 +++++++++++++++++++ lib/yahns/http_client.rb | 24 ++++++++--------- lib/yahns/http_response.rb | 47 +++++++++++++++++++++++--------- test/test_auto_chunk.rb | 56 +++++++++++++++++++++++++++++++++++++++ test/test_extras_exec_cgi.rb | 4 +-- 7 files changed, 130 insertions(+), 44 deletions(-) create mode 100644 lib/yahns/chunk_body.rb create mode 100644 test/test_auto_chunk.rb -- EW