From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS16276 91.121.0.0/16 X-Spam-Status: No, score=-0.7 required=3.0 tests=AWL,BAYES_00,KHOP_DYNAMIC, RCVD_IN_XBL shortcircuit=no autolearn=no version=3.3.2 X-Original-To: rainbows-public@bogomips.org Received: from 80x24.org (ns359843.ip-91-121-159.eu [91.121.159.196]) by dcvr.yhbt.net (Postfix) with ESMTP id D2DC76362C2 for ; Sat, 21 Nov 2015 08:52:43 +0000 (UTC) From: Eric Wong To: rainbows-public@bogomips.org Subject: [PATCH 3/5] response: avoid garbage string entirely Date: Sat, 21 Nov 2015 08:52:30 +0000 Message-Id: <20151121085232.23086-4-e@80x24.org> In-Reply-To: <20151121085232.23086-1-e@80x24.org> References: <20151121085232.23086-1-e@80x24.org> List-Id: Even in frozen string literals enabled in Ruby 2.3.0dev, dstrings still create garbage as the optimizer is not yet smart enough to optimize it despite the limited choice of internals being known. Maybe in the future Ruby will be smart enough, but not yet... --- lib/rainbows/response.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rainbows/response.rb b/lib/rainbows/response.rb index 9bbea81..ac50321 100644 --- a/lib/rainbows/response.rb +++ b/lib/rainbows/response.rb @@ -46,8 +46,8 @@ def write_headers(status, headers, alive, body) end end end - write(buf << "Connection: #{alive ? 'keep-alive'.freeze - : 'close'.freeze}\r\n\r\n") + write(buf << (alive ? "Connection: keep-alive\r\n\r\n".freeze + : "Connection: close\r\n\r\n".freeze)) if hijack body = nil # ensure caller does not close body -- EW